Javascript 单击“确定”时,从自定义确认框返回true
在第一次单击时,我正在验证某些文本框,然后 呼叫确认以显示确认框。我希望呼叫返回true 单击ok时函数,控件应返回UI以继续。但是 这并没有发生,它停留在同一页上Javascript 单击“确定”时,从自定义确认框返回true,javascript,jquery,html,Javascript,Jquery,Html,在第一次单击时,我正在验证某些文本框,然后 呼叫确认以显示确认框。我希望呼叫返回true 单击ok时函数,控件应返回UI以继续。但是 这并没有发生,它停留在同一页上 您提供的代码似乎不完整。但是用你现有的,你应该做像这把小提琴一样的事情 看看我的基于ES6承诺的解决方案。希望这有帮助 函数validatedtailsforitemupc{ 确认“转到谷歌”、“您确定要访问谷歌”、“是”、“取消”,https://www.google.com.eg .然后=>{ 警报“用户单击是”; //在此重
您提供的代码似乎不完整。但是用你现有的,你应该做像这把小提琴一样的事情 看看我的基于ES6承诺的解决方案。希望这有帮助 函数validatedtailsforitemupc{ 确认“转到谷歌”、“您确定要访问谷歌”、“是”、“取消”,https://www.google.com.eg .然后=>{ 警报“用户单击是”; //在此重定向到另一页 // ... } .catch=>{ 警报“用户单击取消”; }; } 函数Confirmtitle,msg,$true,$false,$link{ 变量$content=+ + +标题++ + + + +味精++ + + + +$true++ +$false++ + + + ; $'body'。在$content前面加上前缀; 返回新的PromiseSolve,拒绝=>{ $'.doAction'。单击函数{ $this.parents'.dialog ovelay'.remove; 决定 }; $'.cancelAction.fa close.clickfunction{ $this.parents'.dialog ovelay'.fadeOut500,函数{ $this.remove; 拒绝 }; }; }; } 验证tailsforiteMUPC;
我需要的是在发出警报后单击ok(确定),它应该将tru值返回到va的初始cal,这样ocde可以在单击ok(确定)时继续执行活动。+1承诺的伟大用例。注意:您甚至不需要ES6,因为您可以使用JQuerys$.Deferred,其行为类似。
function ValidateDetailsForItemUPC() {
var retvalue = true;
if (retvalue)
retvalue=Confirm('Go to Google', 'Are you sure you want to visit Google', 'Yes', 'Cancel', "https://www.google.com.eg"); /*change*/
return retvalue;
}
function Confirm(title, msg, $true, $false, $link) { /*change*/
var retvalue = false;
var $content = "<div class='dialog-ovelay'>" +
"<div class='dialog'><header>" +
" <h3> " + title + " </h3> " +
"<i class='fa fa-close'></i>" +
"</header>" +
"<div class='dialog-msg'>" +
" <p> " + msg + " </p> " +
"</div>" +
"<footer>" +
"<div class='controls'>" +
" <button class='button button-danger doAction' onclick='return OkClick()'>" + $true + "</button> " +
" <button class='button button-default cancelAction'>" + $false + "</button> " +
"</div>" +
"</footer>" +
"</div>" +
"</div>";
$('body').prepend($content);
$('.cancelAction, .fa-close').click(function () {
$(this).parents('.dialog-ovelay').fadeOut(500, function () {
$(this).remove();
});
retvalue = false;
});
return retvalue
}
function OkClick()
{
alert("true");
}
Html code
<div id="dialog-confirm" title="ALERT 01">
<p style="text-align:center;"><span class="ui-icon ui-icon-alert" style="display:inline-block; margin:0px 7px 0px 0px;"></span>Are you sure?</p>
</div>
<input id="validateRequest" type="button" value="validate" />
$('#validateRequest').on('click.validate',function(){
return va();
});
function va(){
if (retvalue){ retvalue=
Confirm('Go to Google', 'Are ... Google', 'Yes', 'Cancel', "https://www.google.com.eg");
}
return retvalue;
}
function cancelEvent() {
$(this).parents('.dialog-ovelay').fadeOut(500, function () {
$(this).remove();
});
retvalue = false;
return retvalue
}
function OkClick() {
alert("true");
return true;
}
function Confirm(title, msg, $true, $false, $link) {
var retvalue = false;
var $content = $("<div class='dialog-ovelay'>" +
"<div class='dialog'><header>" +
" <h3> " + title + " </h3> " +
"<i class='fa fa-close'></i>" +
"</header>" +
"<div class='dialog-msg'>" +
" <p> " + msg + " </p> " +
"</div>" +
"<footer>" +
"<div class='controls'>" +
" <button class='button button-danger doAction'>" + $true + "</button> " +
" <button class='button button-default cancelAction'>" + $false + "</button> " +
"</div>" +
"</footer>" +
"</div>" +
"</div>");
$('body').prepend($content);
$(document).find('.cancelAction, .fa-close').on('click.gAction',cancelEvent);
$(document).find('.doAction').on('click.gAction',OkClick);
}