是否有办法将两种形式合并为一个动作?例如,在提交表单2时具有表单1的值。我尝试使用相同的name
,但没有运气。
<form action='result.php' method='post' name='form' id='form_1'>
<input name='value_1' placeholder='value_1' />
<input name='value_2' placeholder='value_1' />
</form>
<form action='result.php' method='post' name='form' id='form_2'>
<select name='value_3'>
<option value='a'>a</option>
<option value='b'>b</option>
</select>
<button type='submit'>Submit</button>
</form>
我想要得到value_1, value_2和value_3当提交按钮被按下。问题是,我不能在第二个表单上使用form
属性,因为我的第二个表单是在多个页面上使用的模板,存储在一个单独的变量中。附近有别的地方吗?
我强烈建议您重新构建您的模板,以便它们可以相互结合使用。
但是,如果模板是固定的,那么您可以使用javascript拦截任何一个表单上的提交,从两个表单中获取数据,并提交一个新表单。
你可以这么做
<form action='result.php?action=form1' method='post' name='form' id='form_1'>
<input name='value_1' placeholder='value_1' />
<input name='value_2' placeholder='value_1' />
</form>
<form action='result.php?action=form2' method='post' name='form' id='form_2'>
<select name='value_3'>
<option value='a'>a</option>
<option value='b'>b</option>
</select>
<button type='submit'>Submit</button>
</form>
在你的PHP文件中:
<?php
$action = $_GET['action'];
if($action === 'form1'){
#do something
}else{
#do something
}
找到解决方法。我用form='parent'
代替form_2,用id='parent'
代替form_1。缺点是现在我必须将每个表单命名为id='parent'
…
没有尝试过,我想如果我使用form='parent'
的两种形式,然后做一个隐藏的<form id='parent>'
,我可能能够结合更多的形式。不完美……但至少它是工作的,与普通的HTML。