アプリケーションでStruts2フレームワークを使用していますが、JSPページにボタンが1つあります。あれは
<s:submit type="button" name="btnSave" />
ここで、このボタンを通常のHTMLボタンタイプとして動作させ、フォームを送信してonclick
イベントでスクリプト関数を実行しないようにします。その関数は、Ajaxを使用してフォームを送信します。
しかし、何が起こるかはStruts2がそれをに変換することです
<input type="submit" id="add_btnSave" name="btnSave" value="Save"/>
そして、私のフォームが送信されます。
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>
私の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
です。このコードを使用して、フォームを送信しないjavascriptonclickイベントを実行できます。
<s:submit type="button" onclick="return false;"/>
preventDefault()
を試しましたか?
$("btnSave").click(function(e){
e.preventDefault();
//..rest of the code
});