我有一个包含多个表单的页面。一种形式(见下面的例子)有一个输入来向页面上的表格添加行。可以选择(复选框)打开/关闭表中的每一行。另一个表单提交页面,将哪些行“打开”到下一页。
因此,最初的问题是人们正在输入一个 url 并单击返回以将其添加到表中,但不是添加它,而是提交“其他”表单 (mainForm)。
所以,我在下面添加了 jQuery。这解决了问题——现在,当 url 字段处于焦点并单击返回时,它会将 url 添加到列表中并且不提交 mainForm。
但是,当该字段不在焦点上时,按 return 没有任何作用 - 当我希望它提交表单时(默认行为)......因为该事件仅附加到那个输入字段。
HTML(大大简化):
<form name="data>
<input id="url" class="field" type="text" size="65" name="urlText">
<input class="hubField" type="button" value="Add Url" name="urlAddButton">
<table>
<tr>
<td><input type="checkbox"></td>
<td>Description text</td>
....and so on...
</table>
</form>
<form name="mainForm">
<input type="SUBMIT" value="Load Selected Urls" name="Submit">
</form>
JS/jQuery:
$(document).ready(function() {
$('#url').bind('keyup',function(e) {
if (e.which == 13) {
$('input[name="urlAddButton"]').focus().click();
e.preventDefault();
}
})
});
我对 jQuery 还很陌生,所以很好。;-) 在 js 中,我可能只是写一些内容,如果该字段不在焦点中并且按下返回,则提交主表单。在 JQuery 中是否有更容易做到这一点的技巧?