私は自分のプロジェクトに YUI 2.7.0 と Struts を使用しており、2 つの送信ボタンがあるフォームを持っています。1 つは保存用で、もう 1 つは削除用です。フォームは DispatchAction に送信されます。onclick リスナーを正常に追加しましたが、問題は、リスナーが実行される前にフォームが送信されることです。フォームが送信される前に、ディスパッチ パラメータを設定する必要があります。どうすればいいですか?以下は私がこれまでに持っているものです:
<form name="adminUserForm" method="post" action="manage_user.do">
<input type="hidden" id="dispatch" name="dispatch" value="unspecified"/>
<!-- other form fields here -->
<input type="submit" value="Save User" id="saveUser">
<input type="submit" value="Delete User" id="deleteUser">
</form>
<script type="text/javascript">
function confirmDelete(msg)
{
if (confirm(msg))
{
return setDispatchMethod("delete");
}
else
return false;
}
function setDispatchMethod(methodName)
{
dispatchField = document.getElementById("dispatch");
dispatchField.value = methodName
return true;
}
var onClickSaveUser = function (e)
{
return setDispatchMethod('save');
};
var onClickDeleteUser = function (e)
{
return confirmDelete('Are you sure you want to delete the user?');
};
new YAHOO.widget.Button("deleteUser", {onclick: {fn: onClickDeleteUser }});
new YAHOO.widget.Button("saveUser", {onclick: {fn: onClickSaveUser }});
</script>