我在我的应用程序中使用Struts2框架,我的JSP页面上有一个按钮。那是
<s:submit type="button" name="btnSave" />
现在,我希望此按钮的行为与常规HTML按钮类型相同,不应提交表单并在onclick事件发生时执行脚本功能。该函数使用Ajax提交表单。
onclick
但是发生的事情是Struts2将其转换为
<input type="submit" id="add_btnSave" name="btnSave" value="Save"/>
我的表格已提交。
1)如果我使用HTML按钮标记,它将使GUI混乱。我的表单主题是Ajax。
这是head带有脚本的标签
head
<head> <s:head theme="ajax"/> <script type="text/javascript"> $("btnSave").click(function(){ alert("aaa"); $.ajax({ url: type:"POST", dataType: "json", error: function(XMLHttpRequest, textStatus, errorThrown){ alert('Error ' + textStatus); alert(errorThrown); alert(XMLHttpRequest.responseText); }, success: function(){ alert('SUCCESS'); } }); }); </script> </head>
我的body标签是关注者:
body
<body> <table border="1" width="80%" align="center"> <tr> <td width="100%"> <s:tabbedPanel id="EmpDetail" useSelectedTabCookie="true"> <s:div id="one" label="Emp Reg." theme="ajax" tabindex="0" labelposition="top"> <center> <s:form name="frmEmpReg" namespace="/" method="post"> EMPLOYEE REGISTRATIOM TAB<br> <s:actionmessage /> <input type="hidden" name="empbean.id" value="<s:property value="empbean.id"/>"/> <s:textfield label="Employee First Name" name="empbean.firstName"></s:textfield> <s:textfield label="Employee Middle Name" name="empbean.middleName"></s:textfield> <s:textfield label="Employee Last Name" name="empbean.lastName"></s:textfield> <s:textfield label="Address" name="empbean.address"></s:textfield> <s:textfield label="State" name="empbean.state"></s:textfield> <s:textfield label="Employee Designation" name="empbean.designation"></s:textfield> <s:submit name="btnSave" type="submit" value="Save" align="center"/> </s:form> </center> </s:div> <s:div> .. .. Other Tabs </s:div> </s:tabbedPanel> </td> </tr> </table> </body>
任何人都有用Struts2处理它的想法,请帮忙。
您的帮助将不胜感激。
如果使用s:submit标签,则呈现的HTML输出为input或button标签,但类型submit除外image。您可以使用代码执行不提交表单的javascript onclick事件。
s:submit
HTML
input
button
submit
image
<s:submit type="button" onclick="return false;"/>