1
考虑下面的非常简单的小提琴:http://jsfiddle.net/ofy3bhuf/如何防止特定字段使用jQuery提交表单?
我想阻止的形式从按下ENTER键在#no_return输入被提交,但如果按下任何其他输入回波它应作为正常的。
正如你在小提琴中看到的那样,我对表单提交事件和#no_return的关键事件采取了行动。提交事件总是首先发生,但即使不提供,我是否能够阻止来自输入密钥事件的提交事件?
代码:
<form action='scratch_clean' method='get'>
<input id='return' />
<input id="no_return" />
<input type='submit' />
</form>
<div id='result'></div>
<script type="text/javascript">
$(document).ready(function() {
$('#no_return').on('keyup', function(e) {
e.preventDefault();
var code = e.which;
if(code==13)
{
$('#result').append('keyup<br>');
return false;
}
//return false; // not needed
});
$('form').on('submit', function(e) {
e.preventDefault();
$('#result').append('submit<br>');
// EDIT: Other processing happens here
return false;
});
});
</script>
差不多,但它击中了两次,所以我删除KEYUP和它的好。谢谢! –
@BenHolness回答更新谢谢:) –