我有一个网页,我试图通过使用我在这里看到的jQuery技巧来捕获10
和{{},从而在页面的某个部分中抑制 ENTER 键。 1}}密钥代码。
13
我不知道这个jQuery技巧被调用了什么,所以我不知道如何查看它以确保我做得对。
我不想压制 ALL ENTER 按键,因为它们用于触发我们的文件搜索和员工搜索功能:
<head>
<title>Test Script</title>
<script src="Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$('container content input').keypress(function (e) {
if (e.which == 10 || e.which == 13) {
alert('Form Submission needs to occur using the Submit button.');
e.preventDefault(); // should I call preventDefault() or return false?
//return false;
}
});
</script>
</head>
从我的jQuery语句中可以看出,我正在尝试使用 <body>
<div class="container">
<div class="header">
<div class="FileSearch">
<!-- Other HTML here -->
</div>
</div>
<div class="content">
<form id="testInput" action="HTMLTestPage1.html" method="post">
<input type="text" name="text1" />
<input type="text" name="text2" />
<input type="text" name="text3" />
<input type="submit" name="Submit" value="Submit" />
</form>
</div>
<div class="footer">
<div class="EmployeeSearch">
<!-- Other HTML here -->
</div>
</div>
</div>
</body>
值深入到表单。
我希望系统会弹出警告对话框!
有没有办法为jQuery启用断点,这样一个人可以进入正在发生的事情?
答案 0 :(得分:3)
你的代码看起来非常好。
缺少的部分是右选择器
$('container content input')
应该是
$('.container .content input')
您正在根据元素的class属性访问输入。
类选择器必须以.
为前缀。
如果不是,则会将其视为标记。
我应该调用preventDefault()还是返回false?
preventDefault()会阻止默认操作。
返回false - 相当于 e.preventdefault()和 e.stopPropagation()
要阻止表单的提交行为,请删除按钮的type =“submit”,然后单击按钮提交表单。
$('.container .content input').keyup(function (e) {
if (e.which == 10 || e.which == 13) {
alert('Form Submission needs to occur using the Submit button.');
e.preventDefault();
}
});
$('input[name="Submit"]').click(function (e) {
$('#testInput').submit();
});
<强> Check Fiddle 强>