首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >第二次提交时,防止提交第一份表格

第二次提交时,防止提交第一份表格
EN

Stack Overflow用户
提问于 2016-07-08 05:04:33
回答 3查看 803关注 0票数 3

这是一个交易(使用php和laravel-5.2)。

我在一个页面中有一些forms,当我提交another form (而不是第一个)时,它会保持提交first form

这里是我的html代码:

代码语言:javascript
复制
<form method="POST" action="http://localhost:8888/candidates/18" accept-charset="UTF-8" id="name-edit" style="display:none">
     <input name="_method" type="hidden" value="PUT">
     <input name="_token" type="hidden" value="xxzvu6HIqP8k2kg78pxuHiTc8NWftjNL1IJvxbDo">
     <div  class="form-group ">
         <div  class="col-xs-12 col-sm-5 ">
             <input placeholder="Full Name" error="" id="name-input" class="width-100" name="name" type="text" value="chi qua uqaaa1232">
         </div>
     </div>
     <button class="green btn-link col-xs-4" type="submit"><i class="ace-icon glyphicon glyphicon-ok"></i> Click to save or press Enter</button>
</form>

<form method="POST" action="http://localhost:8888/candidates/18" accept-charset="UTF-8" id="address-edit" style="display:none">
     <input name="_method" type="hidden" value="PUT">
     <input name="_token" type="hidden" value="xxzvu6HIqP8k2kg78pxuHiTc8NWftjNL1IJvxbDo">
     <div class="form-group ">
          <div class="col-xs-12 col-sm-5 ">
               <input placeholder="Address" error="" id="address-input" class="width-100" name="address" type="text" value="nha xacdawdwad">
          </div>
     </div>
     <button class="green btn-link col-xs-4" type="submit"><i class="ace-icon glyphicon glyphicon-ok"></i> Click to save or press Enter</button>
</form>

我对这两种表单的jquery代码:

代码语言:javascript
复制
$(document).ready(function(){
    $("#name-edit").focusout(function() {
        $('#name-edit').css('display', 'none');
        $('#name-view').css('display', 'inline');
    });

    $("#address-edit").focusout(function() {
        $('#address-edit').css('display', 'none');
        $('#address-view').css('display', 'inline');
    });
});

$('#btn-edit-name').click(function () {
    var name = $('#name-view').css('display', 'none').clone().children().remove().end().text();
    $('#name-input').val(name);
    $('#name-edit').css('display', 'inline').focus();
});

$('#btn-edit-address').click(function () {
    var name = $('#address-view').css('display', 'none').clone().children().remove().end().text();
    $('#address-input').val(name);
    $('#address-edit').css('display', 'inline').focus();
});

btn-edit-namebtn-edit-address用于显示表单。谢谢你的考虑。

这是我的UI:

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-07-08 06:43:46

哦,我找到了将type提交按钮设置为button的答案,然后使jquery用于单击事件$(this).closest('form').submit()

票数 0
EN

Stack Overflow用户

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

你不能同时提交两份表格。

与其为名称和地址字段设置两个表单,不如将它们添加到单个表单中,如下所示:

代码语言:javascript
复制
<form method="POST" action="http://localhost:8888/candidates/18" accept-charset="UTF-8" id="name-edit" style="display:none">
     <input name="_method" type="hidden" value="PUT">
     <input name="_token" type="hidden" value="xxzvu6HIqP8k2kg78pxuHiTc8NWftjNL1IJvxbDo">
     <div  class="form-group ">
         <div  class="col-xs-12 col-sm-5 ">
             <input placeholder="Full Name" error="" id="name-input" class="width-100" name="name" type="text" value="chi qua uqaaa1232">
         </div>
     </div>
     <div class="form-group ">
        <div class="col-xs-12 col-sm-5 ">
           <input placeholder="Address" error="" id="address-input" class="width-100" name="address" type="text" value="nha xacdawdwad">
        </div>
     </div>
     <button class="green btn-link col-xs-4" type="submit"><i class="ace-icon glyphicon glyphicon-ok"></i> Click to save or press Enter</button>
</form>

如果您希望在单击时显示隐藏它们,那么您可以添加一些jQuery来这样做。

票数 1
EN

Stack Overflow用户

发布于 2016-07-08 05:20:49

您可以有两个不同的操作。

代码语言:javascript
复制
action="http://localhost:8888/candidates/18"

action="http://localhost:8888/candidates/19" 

如果不可能,向每个表单添加不同的隐藏输入,如下

在表格1中添加以下一行

代码语言:javascript
复制
 <input type="hidden" name="identifier" value="form1">

在表格2中添加以下一行

代码语言:javascript
复制
<input type="hidden" name="identifier" value="form2">

现在您可以使用if ($_POST['identifier'] == 'form1')

您也可以使用switch语句。

代码语言:javascript
复制
switch($_POST['identifier']){
    case 'form1':{}
    case 'form2':{}
}

另外,您的两个提交按钮是相同的。您可以为每个值设置一个值,在提交后可以检查该值。为表格1的名称设置如下值

代码语言:javascript
复制
<button class="green btn-link col-xs-4" type="submit" value="name" name="name"><i class="ace-icon glyphicon glyphicon-ok"></i> Click to save or press Enter</button>

表格2地址

代码语言:javascript
复制
<button class="green btn-link col-xs-4" type="submit" value="address" name="address"><i class="ace-icon glyphicon glyphicon-ok"></i> Click to save or press Enter</button>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38259214

复制
相关文章

相似问题

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