2015-10-20 163 views
-1

我有一个HTML网页两种形式两种形式提交值

<form name="a" action="add.php" class="a" method="post"> 
    XYZ?<br /> 
    <div class="radio"> 
    <i> 
    <input type="radio" name="n" value="1">Yes 
    <input type="radio" name="n" value="2">No 
    <br> 
    </i> 
    </div> 
</form> 

<form name="b" action="add.php" class="b" method="post"> 
    XYZ<br /> 
    <div class="radio"> 
    <i> 
    <input type="radio" name="odp" value="1">1 - Bad 
    <input type="radio" name="odp" value="2">2 - Poor 
    <input type="radio" name="odp" value="3">3 - Fair 
    <input type="radio" name="odp" value="4">4 - Good 
    <input type="radio" name="odp" value="5">5 - Excellent 
    <br> 
    </i> 
    </div> 
</form> 

然后我提交他们与JavaScript的一个按钮,因为我不知道该怎么做,在不同的方式

<div class="confirm" onClick="submitForms()"> 
    <a href="#" >Confirm</a> 
</div> 

<script> 
    submitForms = function(){ 
     document.forms["a"].submit(); 
     document.forms["b"].submit(); 
    } 
</script> 

当我去add.php我从0形式得到错误的值,并正确的值

$n= $_POST['n']; 
$odp = $_POST['odp']; 

你知道为什么吗?

+0

你可以一次提交两份表格吗? – Dale

+0

您一次只能提交一份表格。要么组合它们,要么使用ajax – rjdown

+1

是否有理由将它们分成两种形式。如果您在同一时间提交,为什么不只是合并和提交。只要它们全都包含在表单标记中,您可以将这些字段分散到任意位置。 –

回答

2

表单不提交其他<form>...</form>标签的字段。他们只提交自己定义的字段。

您也不能同时提交多个表单。

因此无论哪种形式的<submit>按钮被按下确定字段的提交。如果您点击n表单上的提交,您将获得n值。如果您点击odb submit,您将获得odp值。从不,反之亦然。

提交表单与点击页面上的链接基本相同 - 浏览器立即开始加载目标链接,并离开当前页面。所以你的a.submit()开始这个动作,并且可能b.submit()永远不会有机会执行。