如何使用struts2提交标签作为按钮而不提交表格?

Sid*_*kha 9 javascript java ajax jsp struts2

我在我的应用程序中使用Struts2框架,我的JSP页面上有一个按钮.那是

<s:submit type="button" name="btnSave" />
Run Code Online (Sandbox Code Playgroud)

现在,我希望此按钮的行为与正常的HTML按钮类型一样,不应提交表单并在onclick事件上执行Scripting功能.该函数使用Ajax提交表单.

但是,Struts2将其转换为

<input type="submit" id="add_btnSave" name="btnSave" value="Save"/>
Run Code Online (Sandbox Code Playgroud)

我的表格已提交.

1)如果我使用HTML按钮标签,它将弄乱GUI.我的形式的主题是Ajax.

这是一个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>
Run Code Online (Sandbox Code Playgroud)

我的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>
Run Code Online (Sandbox Code Playgroud)

任何人都有任何想法用Struts2处理它然后请帮助.

非常感谢您的帮助.

Rom*_*n C 10

如果使用s:submit标记,则渲染HTML输出为inputbutton标记,但类型submit除外image.您可以使用该代码执行不提交表单的javascript onclick事件.

<s:submit type="button" onclick="return false;"/>
Run Code Online (Sandbox Code Playgroud)

  • onclick你可以在`return false;`之前放置JS代码 (2认同)