首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Codeigniter不从多表单页面返回第一个提交名称

Codeigniter不从多表单页面返回第一个提交名称
EN

Stack Overflow用户
提问于 2016-07-05 02:05:49
回答 1查看 54关注 0票数 1

我有一个多表单页面:

代码语言:javascript
复制
 <?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>

在控制器里,我正在检查:

代码语言:javascript
复制
if (!empty($_POST['change-password']))
    {
       // 
    }

    if (!empty($_POST['change-email']))
    {
        //
    }

$_POST['change-password']总是null

所以我试着换了他们的位置,甚至增加了三年级。无论我做什么,我都不能从第一次提交表格中获得name,但可以从第二次和第三次提交。

更新:--我发现了这个bug。

我没有提到这一点,但是我在表单上的提交按钮有一个id=" submit -btn“和防止双重提交的JavaScript,这给所有的问题都带来了麻烦:

代码语言:javascript
复制
$("form").one('submit', function() {
    $('#submit-btn').prop("disabled", true);
}); 

我不明白为什么,但这是另一个问题。

EN

回答 1

Stack Overflow用户

发布于 2016-07-05 08:23:56

为两个窗体添加唯一的隐藏字段,并在控制器中检查方法中的字段名(此处为post)。

代码语言:javascript
复制
 <?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
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38194225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档