在提交表单之前,我想给出确认框,即jconfirm()
用户单击是,然后表单应该被提交,如果用户单击否,则retrun false
.i如下所示
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();
}
});
}
}
});
发布于 2017-04-04 12:29:45
您需要取消提交事件,并使用事件处理程序免费的DOM提交:
注意:只有在表单中没有名为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工作,请张贴你使用的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>
发布于 2017-04-04 12:17:05
你可以试试这个
jConfirm('Do you', 'Confirmation Dialog', function(r) {
if(!r){
return;
}else {
$("#person-form").submit();
}
});
或者你也可以使用下面的代码来定制确认框http://jqueryui.com/dialog/#modal-confirmation
发布于 2017-04-04 12:26:42
试试这个:
$('#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*/ }
});
});
https://stackoverflow.com/questions/43206894
复制