php表单,如何在一个页面中使用多个表单?

时间:2011-07-29 17:21:12

标签: php forms

我在一个页面中有两个或更多表格。像这样:

<form method="post" >
  <table border="0">
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
  </table>
<input type="submit" value="get" />
</form>

<form method="post" >
  <table border="0">
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
  </table>
<input type="submit" value="get1" />
</form>

表格相似但内容不同。

当我点击一个表单上的get按钮时,所有其他表单也会被触发。

有没有办法区分表单,以便当我点击一个按钮时,只有那个按钮被触发的表单?

编辑:如果我按下get1,则get的表单也会被触发

谢谢

5 个答案:

答案 0 :(得分:5)

只应触发包含提交按钮的表单。您确定在HTML中正确关闭了两个表单吗?

您可以发布指向该页面的链接或粘贴所有HTML吗?

答案 1 :(得分:2)

你不能提交多个表格,你的第一张表格可能错误地关闭了,这会给你带来麻烦

答案 2 :(得分:2)

如果您的代码设置为...

if(!empty($_POST)) {}

然后似乎两个表单都已提交,但实际上您只能从实际提交的表单中访问数据。如果您在两个提交按钮上添加了名称,则可以测试$_POST['submitButtonName']

您可以使用此页面轻松查看差异。

http://pastie.org/pastes/2290937/text

答案 3 :(得分:0)

希望此代码能为您提供帮助。 如果你想特别提交 表单使用javascript或jquery。 在我的情况下,我将选择jquery。 这是我的解决方案的例子。 你需要改变formid和objectid。

$( "#buttonid" ).click(function() {
    $( "#formid" ).submit();
});

答案 4 :(得分:0)

简短的回答是,您的页面上只有一个表单。

您应该为每个表单指定一个名称和ID,以便唯一标识它们。

<form name="form1" id="form1" method="post" action="">是让您的每个表单都与众不同的方法。这很重要,因为您可能需要提交按钮以外的控件来提交表单。在下拉列表的OnChange事件中考虑此代码:

“document.forms.form1.submit()”

一旦在下拉列表中选择了值,这将使表单提交。要使高级功能起作用,您需要知道表单的名称。表单的ID可用于使用document.getElementById('form1')

访问它

最后,不要使用表格来显示表单。使用CSS。

我希望这有助于某人。