使用javascript提交具有不同值的表单

时间:2012-08-10 14:39:36

标签: javascript html forms

我是表格和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?

由于

4 个答案:

答案 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 });