停止在Struts 2 + jQuery + json中按Enter键提交表单

时间:2014-09-09 04:22:19

标签: jquery json forms struts2

我有一个从中加载数据。然后我需要在文本框中输入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();......................

当我按Enter键时,调用RequestAction类中的save方法,并在屏幕上显示json响应。我尝试将输入键(代码= 13)与我输入值的文本字段绑定并标签输出。即使这样,表格也会提交。我尝试了所有可能的方法来停止提交表单。我还使用了preventDefault()方法来停止传播。仅供参考, saveRequest_requestBean_memberNumber 是文本字段。

1 个答案:

答案 0 :(得分:0)

你确定你尝试过preventDefault()吗? preventDefault是出于您的目的而指定的。

我的建议:

$("#saveRequest_requestBean_memberNumber").change(function(event){
      event.preventDefault();
      // do something

});