在做超限查询时,为了用户操作的易用性,在用户输入车牌号码后,直接回车就进行查询的操作,而不是等用户用鼠标点击“查询”了才发送请求去查询。可能我们都以为很简单,就是“查询”的时候(回车)去做发个查询的请求就行了,确定是如此。可是,如果只有一个用户输入车牌号码的表单text时,就会有些问题。
我们的查询操作是发送一个ajax请求,而不是把表单提交上去,但是奇怪的是,只要一按回车键,表单就自动提交了,并没有去执行我希望执行的发送ajax请求。
查了资料,才知道:当在一个form中只有一个text元素,这时候如果按回车相当于对form进行了一个submit操作,所以用户在输入完按回车就代表了submit。如果一个form中不是只有一个text元素,而还有其它的text元素的话,就不会自动提交了。
我解决并测试的过程,在程序中用户输入的车牌号的text的如下:
<input type="text" name="LICENSE_CODE" size="10" onkeydown="if(event.keyCode==13){overLimitRecMgr.querySpecial();}"/>
这时候一直没有执行overLimitRecMgr.querySpecial(),而是执行form的submit操作了,可以用setTimeout来测试,如下:
if(event.keyCode==13){window.setTimeout('overLimitRecMgr.querySpecial()',500);return false;}
这时候在执行完表单的自动提交后,延迟了0.5秒后再执行了ajax的请求:overLimitRecMgr.querySpecial()。
其实最好的解决办法是:
先让form不自动提交,然后在keydown==13时做自己想做的事,如发送ajax的请求等。如下处理:
<form action="/jsp/over_mgr/over_limit_record/queryAllList.do" method="post" onSubmit="return false;">
通过在from中设置onSubmit="return false;"就可以屏避了表单自动提交的问题。
分享到:
相关推荐
如果确实按下了回车键,则模拟点击提交按钮的行为,进而实现表单的自动提交。 ### 2. 兼容性问题及解决方案 在上述代码中,可以看到开发者为了兼容IE浏览器而特别编写了一段逻辑。这是因为早期的IE浏览器与其他...
在网页设计中,表单是用户与服务器交互的重要组成部分,其中的一个常见问题是在表单内按下回车键会自动触发表单的提交。这在某些情况下可能会带来不便,例如用户可能意外地提前提交了未完成的表单。本文将详细讨论这...
这样,由于存在多个输入框,回车键就不会自动触发提交了。不过,这种方法在某些情况下可能会影响表单的逻辑,需要谨慎使用。 3. **利用JavaScript进行事件处理**: - 虽然题目提到使用JavaScript不在讨论范围内,...
在jQuery中,捕获回车键触发的事件是常见的需求,尤其在表单提交或文本输入等场景。这里我们详细探讨如何实现这个功能。 首先,jQuery的`keydown`事件是用于监听用户按下键盘按键的动作。当用户按下回车键(键盘上...
然而,在某些情况下,我们可能希望禁用用户按下回车键(Return键)时触发的默认行为,比如防止表单意外提交。标题"Disable the Return Key in a TextBox"正是讨论如何实现这一功能。 在Windows Forms环境下,...
博主可能分享了如何创建表单、添加输入字段、设置验证码逻辑以及如何响应用户操作,如回车提交等。 首先,创建登录页面需要的基本元素有用户名输入框、密码输入框以及登录按钮。ExtJS提供了一个叫做`Ext.form.Panel...
在这个登录页面模板中,JavaScript可能被用来验证用户输入,如检查用户名和密码是否为空,或者在用户按下回车键时自动提交表单。此外,JavaScript还可以实现一些视觉反馈,比如在用户输入时显示错误提示,或者在成功...
当然,还可以设置其他属性,如`name`(用于表单提交)、`placeholder`(占位符文本)等。 接下来,我们讨论如何在文本输入后让`textarea`自动获取焦点。这通常通过JavaScript实现,因为HTML本身不支持这样的行为。...
` 来同时实现对焦和点击操作,从而达到在 IE 浏览器中触发回车键时提交表单的目的。这背后的原因是 IE 浏览器的 `.focus()` 方法在某些情况下具有触发点击事件的副作用,这是一种兼容性处理。 在另一个问题中,`$...
例如,在表单输入框中按回车键会直接提交表单,而不是选择自动完成项。这显然不是我们所希望看到的。 因此,提出了一种更为合适的解决方案,即在原有的事件触发机制之上增加一个input事件处理器。input事件在Fire...
注意,实际的事件处理逻辑(即`actionPerformed`方法内的代码)取决于应用的具体需求,可能是打开一个新的窗口、提交表单数据或者执行其他任何指定的操作。 通过以上步骤,我们不仅了解了如何在Java中设置JButton的...
4. **JavaScript**:可能用于客户端的表单验证和交互,如检查输入是否为空,或者在用户按下回车键时自动提交表单。 在实际开发中,为了确保安全,通常会结合服务器端语言(如PHP、Python或Node.js)和数据库(如...
此外,Google主页还可能包含一些JavaScript代码,用于实现交互效果,比如自动聚焦搜索框(`autofocus`属性),或者在用户按下回车键时提交表单。这些功能可以通过内联JavaScript(在HTML标签中使用`onkeyup`等事件...