我是表格和Javascript的新手,所以请原谅。
我的表格看起来像这样:
<form method="post" action="control" name="myform">
<input type="submit" name="Name" value="Do A"/>
<input type="submit" name="Name" value="Do B" />
<input type="submit" name="Name" value="Do C" />
<input type="submit" name="Name" value="Close" />
</form>
我需要更改这个以便有两个按钮,并且表单是根据某些外部条件使用javascript提交的,所以我希望它看起来像这样:
<form method="post" action="control" name="myform">
<script>
function submitForm(form){
if(someConditionA){
submit the form so that the script performs same action as if the button Do A had been clicked
} if (someConditionB){
submit the form so that the script performs same action as if the button Do B had been clicked
} if (someConditionC){
submit the form so that the script performs same action as if the button Do C had been clicked
}
}
function closeForm(form){
window.close();
}
</script>
<button name="doAction" onClick="SubmitForm(this.form)">Do Action<\button>
<button name="close" onClick="SubmitForm(this.form)">Close<\button>
</form>
如何实现函数submitForm?
由于
答案 0 :(得分:1)
添加一个与原始提交按钮同名的隐藏字段:
<input type="HIDDEN" name="Name" value=""/>
根据您的条件设置该字段的值:
function submitForm(form){
if(someConditionA){
form.Name.value = "Do A";
} if (someConditionB){
form.Name.value = "Do B";
} if (someConditionC){
form.Name.value = "Do C";
}
form.submit();
}
将新的关闭按钮更改为:
<button name="close" onClick="this.form.Name.value='Close';this.form.submit();">Close<\button>
我没有测试过这个,所以它可能包含一两个错误,但这是一般的想法。 ('this.form'的+1,很多人都不知道,很好。)
答案 1 :(得分:0)
刚刚找到了我的问题的答案:
这样做的方法是拥有一个隐藏的字段:
<input type="hidden" name="Name" value=""/>
然后在该函数中,将此隐藏字段设置为与相应按钮具有相同的值。
答案 2 :(得分:0)
嗯,您应该以不同的方式命名您的提交按钮。
<form method="post" action="control" name="myform">
<input type="submit" name="SubmitA" value="Do A"/>
<input type="submit" name="SubmitB" value="Do B" />
</form>
这样,提交时,服务器将能够区分单击了哪个提交。
答案 3 :(得分:-1)
不确定我的问题是否正确,但为什么不在这些提交按钮上进行点击事件? 喜欢
$('#mysendbtn').click(function(){ ...do A });