codeigniter - 如何创建两个“共享”输入字段的表单

时间:2012-09-26 14:34:44

标签: php jquery html codeigniter

我想知道如何解决我有一个文本框和两个按钮的问题。 每个按钮在文本框中需要相同的数据才能完成其任务。

一个按钮是更新他们正在查看的现有记录(使用文本框中的新值),另一个按钮用于添加新记录(同样,使用文本中的新值)。

我的一个想法是使用jquery更新隐藏文本框,当用户修改可见文本框时,该文本框会更新。

这样的事情:(这只是伪代码......)

 <form name="form1" method="post" action="controller1/method1">
     <input type=text name=visibleTextBoxForForm1></input>
     <button type=submit value=UPdate>
 </form>
 <form name="form2" method="post" action="controller2/method2">
     <input type=hidden name=hiddenTextBoxforForm2></input>
     <button type=submit value=New>
 </form>
 <script>
        $('#visibleTextBoxForForm1').live('change', function() {
             //update a hidden textbox in form2 with value of this textbox.
         });
 </script>

有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

或者,您可以通过JQuery来完成。为每个按钮绑定一个clicklistener,并在点击时为表单提供正确的URL。

这是一些快速代码......您必须更正正确的jquery查询以获取正确的元素。

<form name="form1" method="post">
   <input type=text name=visibleTextBoxForForm1></input>
   <button type=button value=Update>
   <button type=button value=New>
</form>

<script>
    $('update').click(function() {
          $(form1).attr('action', <update url>).submit();
    });

    $('new').click(function() {
          $(form1).attr('action', <new url>).submit(); 
    });
</script>

答案 1 :(得分:0)

如果这是唯一的字段,那么只需要一个带有两个按钮的表单,并根据用于提交它的按钮的名称处理该文本数据。

<form name="form1" method="post" action="controller1/method1">
    <input type="text" name="text" />
    <input type="submit" name="insert" value="Insert New Data" />
    <input type="submit" name="update" value="Update Existing Data" />
</form>

PHP(不是CodeIgniter,因为我不熟悉该框架):

if(isset($_POST['insert'])) {
    // insert $_POST['text']
} else if (isset($_POST['update'])) {
    // update $_POST['text']
} else {
    // error
}