在 Struts 2 + jQuery + json 中按回车键停止提交表单
Posted
技术标签:
【中文标题】在 Struts 2 + jQuery + json 中按回车键停止提交表单【英文标题】:Stop submitting the form on pressing enter key in Struts 2 + jQuery + json 【发布时间】:2014-11-02 09:41:27 【问题描述】:我有一个从中加载数据的。然后我需要在文本框中输入一个 ID,系统将从数据库中获取该 ID 的详细信息。我在 jQuery 中编写了一个 onChange 事件来执行该操作,效果很好。当我们点击屏幕中的任意位置或按下 TAB 键时,onChange 事件就会起作用。如果我在完成值后按 ENTER 键,则将提交表单并触发相应的操作方法。我需要停止提交表单。我已附上所需的详细信息。请告诉我阻止它的方法。
Struts.xml
<action name="*Request" method="1"
class="com.abc.actions.RequestsAction">
<result name="save" type="json">
<param name="root">messageBean</param>
</result> </action>
JSP:
<s:form action="saveRequest.action" method="post" cssClass="form-horizontal" theme="simple" role="form">..
JS:
$("#saveRequest_requestBean_memberNumber").change(function()
alert('inside func');
$(".alert-warning").hide();
$(".alert-success").hide();......................
当我按下回车键时,RequestAction 类中的保存方法被调用,并且 json 响应显示在屏幕上。我尝试将输入键(代码 = 13)与我输入值和制表符的文本字段绑定。即使这样,表单也已提交。我尝试了所有可能的方法来阻止提交表单。我还使用 preventDefault() 方法来停止传播。仅供参考,saveRequest_requestBean_memberNumber 是文本字段。
【问题讨论】:
【参考方案1】:您确定您尝试过 preventDefault() 吗? preventDefault 是为您的目的而指定的。
我的建议:
$("#saveRequest_requestBean_memberNumber").change(function(event)
event.preventDefault();
// do something
);
【讨论】:
我按照你说的尝试了,它没有用:(我什至尝试同样将 enter 键与 preventDefault() 绑定。它没有工作。$('#saveRequest_requestBean_memberNumber').keyup(function (e) if (e.keyCode == 13) $(this).trigger("enterKey"); ); $('#saveRequest_requestBean_memberNumber').bind("enterKey", function(event) event .preventDefault();以上是关于在 Struts 2 + jQuery + json 中按回车键停止提交表单的主要内容,如果未能解决你的问题,请参考以下文章
Java基础101 Struts2下的 jquery+ajax+struts 技术实现异步刷新功能