表格由jconfirm框提交

时间:2017-04-04 12:11:59

标签: javascript php jquery html forms

我想在提交表单之前给出确认框即jconfirm()。如果用户点击是,则应提交表单,如果用户点击否,则retrun false。我按以下方式执行

 jConfirm('Do you', 'Confirmation Dialog', function(r) {
             if(r){
        $("#person-form").submit();
       }})

      return false;

但表单未提交,如果我删除return false;,则jconfirm框不会停留,直到我们点击是或否按钮

更新:我这样解决了:

var pcount = 1;
$('form').submit(function(e){ 
  if(pcount == 1) { 
    if(($("#SecondPrime").val() == 1) && ($("#Person_PersonTypeCode").val() == 'ADULT')) { 
      e.preventDefault();
      jConfirm("Do you wanna say ?", "confirmation", function(result){ 
        if(result) { pcount++; } 
        else { 
          pcount++;
          $('form').submit(); 
        } 
      }); 
    } 
  } 
});

3 个答案:

答案 0 :(得分:1)

您需要取消提交事件并使用event-handler free DOM submit提交自己:

注意:只有在表单

中没有任何名为name="submit"的情况下才能执行此操作
$("#person-form").on("submit", function(e) {
  e.preventdefault(); // stop submission
  jConfirm('Do you', 'Confirmation Dialog', function(r) {
    if (r) {
      $("#person-form")[0].submit(); // DOM form
    }
  });
});

更新:我放弃了搞清楚你的​​jConfirm需要什么。代码here需要页面上的元素才能工作。

  $("someSelector").jConfirm(....)

如果你想让你的jConfirm工作,请发布你使用的WHACT jConfirm,哪个版本(旧版本不适用于jQuery1.9 + jConfirm v2可能会这样做。

与此同时,这是一个使用jquery-confirm的版本:



$(function() {
  $("#person-form").on("submit", function(e) {
    e.preventDefault(); // stop submission
    $.confirm({
      title: 'Are you sure?',
      content: 'It will submit!',

      buttons: {
        confirm: function() {
          $("#person-form")[0].submit(); // DOM form
        },
        cancel: function() {
          $.alert('Canceled!');
        }
      }
    });
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.2.0/jquery-confirm.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.2.0/jquery-confirm.min.js"></script>

<form id="person-form" action="javascript:alert('submitted')">
  <input type="submit" />
</form>
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

你可以试试这个

jConfirm('Do you', 'Confirmation Dialog', function(r) {
   if(!r){
       return;
   }else {
     $("#person-form").submit();
  }
});

否则您可以在此下方使用制作自定义确认框 http://jqueryui.com/dialog/#modal-confirmation

答案 2 :(得分:-1)

试试这个:

$('#person-form').submit(function (e) {
    e.preventDefault();
   jConfirm('Do you', 'Confirmation Dialog', function(r) {
     if(r == true)
     {
        $('#person-form').submit();
     }
     else
     { /*Handle else case here*/ }
    });
});