我在视图中有一个多表格页面:
<?php echo form_open("account"); ?>
// input fields
<input type="submit" name="change-password" value="Change Password"/>
</form>
<?php echo form_open("account"); ?>
// input fields
<input type="submit" name="change-email" value="Change Email"/>
</form>
在控制器中我正在检查:
if (!empty($_POST['change-password']))
{
//
}
if (!empty($_POST['change-email']))
{
//
}
$_POST['change-password']
始终为null
。
所以我试图切换它们的位置,甚至添加了第三种形式。无论我做什么,我都无法从FIRST提交表单中提交name
,但可以从第二和第三提交。
更新 我找到了这个bug。
我没有提到这个,但我在表单上的提交按钮有一个id =“submit-btn” 和防止双重提交的JavaScript会造成麻烦:
$("form").one('submit', function() {
$('#submit-btn').prop("disabled", true);
});
我不明白为什么,但这是另一个问题。
答案 0 :(得分:0)
为两个表单添加唯一的隐藏字段,并检查控制器中方法(此处发布)中的字段名称。
<?php echo form_open("account"); ?>
// input fields
<input type="hidden" name="first_form" value="first_form"/>
<input type="submit" name="change-password" value="Change Password"/>
</form>
<?php echo form_open("account"); ?>
// input fields
<input type="hidden" name="second_form" value="second_form"/>
<input type="submit" name="change-email" value="Change Email"/>
</form>
if ($_POST['first_form'])
{
// inside first form
}
if ($_POST['second_form'])
{
// inside second form
}