这是我正在处理的页面:
http://mcstevenswholesale.com/catalog.aspx http://mcstevenswholesale.com/catalog.aspx
目录下方的文本框允许您跳至目录中的特定页面。但是,如果您在该文本框中按 Enter 键而不是单击“Go”按钮,则会在左上列中提交搜索功能。我认为这是因为整个页面都位于 ASP 表单中,但右侧的电子邮件注册框没有遇到同样的问题。
我尝试将页码文本框放入其自己的 HTML 表单中,并尝试将按钮更改为图像、按钮和提交输入。这些都不起作用。我不想重新加载页面,只想翻转页面。我对 ASP 还很陌生,所以如果我犯了一个非常明显的错误,我很抱歉。
下面是页码文本框的代码(goToPage 是一个翻转目录页的 JS 函数):
<div id="goToPage">
Go to Page:
<input id="pageTextbox" type="text" onkeydown="if (event.keyCode == 13) goToPage();"></input>
<a onclick="goToPage()" href="#"></a>
</div>
onkeydown 使页面更改起作用,但它仍然触发搜索功能。我如何防止它这样做?
在大多数(如果不是全部)浏览器中,回车键的默认行为是提交当前表单。
您需要禁止回车键的默认行为。抑制默认行为的正确方法是使用事件处理程序返回错误.
如果 goToPage() 返回 false,最简单的解决方案如下:
onkeydown =“如果(event.keyCode == 13)返回goToPage();”
如果没有,您可以在调用 goToPage(); 后添加 return false;
onkeydown="if (event.keyCode == 13) { goToPage(); 返回 false} "
这将导致在页码文本框中按下 Enter 键时不会提交表单。如果您想对整个页面禁用它,请参阅以下内容:
- http://webcheatsheet.com/javascript/disable_enter_key.php http://webcheatsheet.com/javascript/disable_enter_key.php
- https://stackoverflow.com/questions/6017350/i-need-javascript-function-to-disable-enter-key https://stackoverflow.com/questions/6017350/i-need-javascript-function-to-disable-enter-key
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)