我有一个带有两个按钮的表单,每个按钮都有onclick = this.form.submit().我在表单中有一个隐藏字段,我希望字段的值根据单击的按钮而有所不同.最好的方法是什么?
此外,在有人说出答案之前,jQuery在这种情况下不是一个选项.
geo*_*wa4 12
使用原型:-)
但严肃地说:
id到隐藏字段在每个处理程序中提交表单之前:
document.getElementById("hiddenId").value = "mySpecialValue";
//or (depending on which onclick handler you are in)
document.getElementById("hiddenId").value = "myOtherSpecialValue";
以与现在相同的方式提交表格.
推荐前:
<input id="buttonA" type="button" value="do something" onclick="buttonA_clickHandler(event);"/>
...
function buttonA_clickHandler(event) {
document.getElementById('hiddenId').value = whatever;
document.getElementById('theForm').submit();
}
Run Code Online (Sandbox Code Playgroud)
重复另一个按钮.
假设你的隐藏字段设置如下:
<input type="hidden" name="clicked_button" id="clicked_button" value=""/>
Run Code Online (Sandbox Code Playgroud)
您可以在按钮的常用onclick处理程序中设置其值:
function buttonClick(theButton){
document.getElementById('clicked_button').value = theButton.name;
return true;
}
Run Code Online (Sandbox Code Playgroud)
然后你的提交按钮将是:
<input type="submit" name="save" value="Save" onclick="return buttonClick(this)"/>
<input type="submit" name="delete" value="Delete" onclick="return buttonClick(this)"/>
Run Code Online (Sandbox Code Playgroud)