表单操作根据单击的提交按钮传递正确的文本值

时间:2014-06-11 07:48:04

标签: html html5

我的代码是

<form method="post">
    <input type="text" name="t1" id="t1">
    <input type="text" name="t2" id="t2">
    <input type="submit" name="s1" id="s1" value="Submit1" onclick='this.form.action="p1.php";'>
    <input type="submit" name="s2" id="s2" value="Submit2" onclick='this.form.action="p2.php";'>
</form>

现在我想,如果我点击submit1 p1.php应该打开,我只能访问text1的值而不是text2。

同样,如果我点击submit2,p2.php应该打开,我只能访问text2的值而不是text1。

页面正在打开,但我可以访问两个值,即t1和t2

我只想用html no js和jquery来做,我只需要制作一个表单。 不允许单独的表格。

3 个答案:

答案 0 :(得分:2)

您可以使用提交按钮上的属性formaction来更改表单的当前操作,而无需使用JS。见formaction spec。如果您需要支持IE9等旧版浏览器,您可以使用webshim对其进行填充:

<script>
if(!('formAction' in document.createElement('input')){
    webshim.polyfill('forms');
}
</script>

<form method="post">
    <input type="text" name="t1" id="t1">
    <input type="text" name="t2" id="t2">
    <input type="submit" name="s1" id="s1" value="Submit1" formaction="p2.php">
    <input type="submit" name="s2" id="s2" value="Submit2" formaction="p2.php">
</form>

答案 1 :(得分:0)

如果您不想使用javascript,我能想到的唯一解决方案是使用两个HTML表单。

<form method="post">
    <input type="text" name="t1" id="t1">
    <input type="submit" name="s1" id="s1" value="Submit1" onclick='this.form.action="p1.php";'>
</form>

<form method="post">
    <input type="text" name="t2" id="t2">
    <input type="submit" name="s2" id="s2" value="Submit2" onclick='this.form.action="p2.php";'>
</form>

答案 2 :(得分:0)

hy sam,

您的问题看似错误,可能是您要求使用单个表单中的两个提交按钮以不同的操作提交所有表单值。

可能是此代码将帮助您以不同的表单操作提交值

<form method="post">
<input type="text" name="t1" id="t1">
<input type="text" name="t2" id="t2">
<input type="submit" name="s1" id="s1" value="Submit1" formaction="p1.php">
<input type="submit" name="s2" id="s2" value="Submit2" formaction="p2.php">
</form>