首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >通过jconfirm框提交表单

通过jconfirm框提交表单
EN

Stack Overflow用户
提问于 2017-04-04 20:11:59
回答 3查看 251关注 0票数 0

在提交表单之前,我想给出确认框,即jconfirm()用户单击是,然后表单应该被提交,如果用户单击否,则retrun false.i如下所示

代码语言:javascript
代码运行次数:0
运行
复制
 jConfirm('Do you', 'Confirmation Dialog', function(r) {
             if(r){
        $("#person-form").submit();
       }})

      return false;

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

更新:我是这样解决的:

代码语言:javascript
代码运行次数:0
运行
复制
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(); 
        } 
      }); 
    } 
  } 
});
EN

回答 3

Stack Overflow用户

发布于 2017-04-04 20:29:45

您需要取消提交事件,并使用事件处理程序免费的DOM提交:

注意:只有在表单中没有名为name="submit"的内容时,才能执行此操作

代码语言:javascript
代码运行次数:0
运行
复制
$("#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需要页面上的一个元素才能工作。

代码语言:javascript
代码运行次数:0
运行
复制
  $("someSelector").jConfirm(....)

如果你想要你的jConfirm工作,请张贴你使用的jConfirm,哪个版本(旧版本不能在jQuery1.9+上工作,而jConfirm v2可能可以。

同时,下面是一个使用jquery-confirm的版本:

代码语言:javascript
代码运行次数:0
运行
复制
$(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!');
        }
      }
    });
  });
});
代码语言:javascript
代码运行次数:0
运行
复制
<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>

票数 1
EN

Stack Overflow用户

发布于 2017-04-04 20:17:05

你可以试试这个

代码语言:javascript
代码运行次数:0
运行
复制
jConfirm('Do you', 'Confirmation Dialog', function(r) {
   if(!r){
       return;
   }else {
     $("#person-form").submit();
  }
});

或者你也可以使用下面的代码来定制确认框http://jqueryui.com/dialog/#modal-confirmation

票数 -1
EN

Stack Overflow用户

发布于 2017-04-04 20:26:42

试试这个:

代码语言:javascript
代码运行次数:0
运行
复制
$('#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*/ }
    });
});
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43206894

复制
相关文章

相似问题

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