gpt4 book ai didi

jQuery - 一个表单返回时提交禁用另一表单返回时提交

转载 作者:行者123 更新时间:2023-12-01 08:18:45 26 4
gpt4 key购买 nike

我的页面包含多个表单。一种表单(参见下面的示例)具有一个输入,用于将行添加到页面上的表中。表中的每一行都可以打开/关闭选择(复选框)。另一种形式提交页面,将“打开”的行发送到下一页。

因此,最初的问题是人们输入一个网址并单击“返回”将其添加到表中,但实际上并没有添加它,而是提交了“其他”表单(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 中是否有一个技巧可以更轻松地做到这一点?

最佳答案

如果我理解,您希望在用户不在“url”输入中按 Enter 时提交 mainForm。当他进来时,您触发“urlAddButton”的点击。如果是这样,这是 jsFiddle 的一个工作示例:http://jsfiddle.net/MUUUE/

$(document).ready(function(){
$(this).bind('keydown',function(e) {//keyDOWN (for the input)
if(e.which == 13) {//if enter is pressed
if(e.target.id == "url"){//and we're in the url input
$('input[name="urlAddButton"]').focus().click();
e.preventDefault();
}
else if(e.target.type != "textarea" && e.target.type != "text"){//else, we submit the main form (if we're not in another input or textarea)
$("#mainForm").submit();//id attr added in the html code
}
}
})
});

但是,最后,我不确定在未输入内容时提交表单是否有那么好。

关于jQuery - 一个表单返回时提交禁用另一表单返回时提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8735804/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com