我想知道如何解决我有一个文本框和两个按钮的问题。 每个按钮在文本框中需要相同的数据才能完成其任务。
一个按钮是更新他们正在查看的现有记录(使用文本框中的新值),另一个按钮用于添加新记录(同样,使用文本中的新值)。
我的一个想法是使用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>
有更好的方法吗?
答案 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
}