这个jquery_modal_confirm_dialogue经过多次实验后正在运行。 当我们的访问者同意我们的使用条款时,他们会被重定向到产品页 products.html
我迫切需要设置一个cookie。 - 如果他们不同意,当他们试图访问products.html时,这个 不可见并再次显示模态对话
你可以给我一个提示吗? (jquery 1.3.2.min.js)这是我的jqmodal.js
function confirm(msg,callback) {
$('#confirm')
.jqmShow()
.find('p.jqmConfirmMsg')
.html(msg)
.end()
.find(':submit:visible')
.click(function(){
if(this.value == 'yes')
(typeof callback == 'string') ?
window.location.href = callback :
callback();
$('#confirm').jqmHide();
});
}
$().ready(function() {
$('#confirm').jqm({overlay: 88, modal: true, trigger: false});
// trigger a confirm whenever links of class alert are pressed.
$('a.confirm').click(function() {
confirm('About to visit: '+this.href+' !',this.href);
return false;
});
});// JavaScript Document
这是我的index.html:
<a href="http://products.html/" class="confirm">Products</a>
<div class="jqmConfirm" id="confirm">
<div id="ex3b" class="jqmConfirmWindow">
<div class="jqmConfirmTitle clearfix">
<h1>Terms of Use</h1>
</div>
<div class="jqmConfirmContent">
<p class="jqmConfirmMsg"></p>
<p>Important legal information</p></div>
<input type="submit" value="Decline" />
<input type="submit" value="Proceed" />
</div>
</div>
答案 0 :(得分:3)
如果我理解正确,您希望他们接受确认,并让它设置一个cookie。然后他们下次出现时不会放弃合法的事情。
首先,获取这个jQuery插件:
https://github.com/carhartl/jquery-cookie
它允许您执行以下操作:
$.cookie("test", 1);
所以你会像这样修改你的代码:
function confirm(msg,callback) {
$('#confirm')
.jqmShow()
.find('p.jqmConfirmMsg')
.html(msg)
.end()
.find(':submit:visible')
.click(function(){
if(this.value == 'yes'){
$.cookie("didAccept", 1, { expires : 365 }); //set cookie, expires in 365 days
(typeof callback == 'string') ?
window.location.href = callback :
callback();
}
$('#confirm').jqmHide();
});
}
$().ready(function() {
$('#confirm').jqm({overlay: 88, modal: true, trigger: false});
// trigger a confirm whenever links of class alert are pressed.
$('a.confirm').click(function() {
if ($.cookie('the_cookie') == 1){
//they already have cookie set
}else{
confirm('About to visit: '+this.href+' !',this.href);
}
return false;
});
});// JavaScript Document
答案 1 :(得分:0)
终于可行了!当cookie存在时,我错过了回调,这些抽搐“围绕着cookie的值。这是它的样子。如果有一些明显的错误,请告诉我。 (非常感谢您的支持)
function confirm(msg,callback) {
$('#confirm')
.jqmShow()
.find('p.jqmConfirmMsg')
.html(msg)
.end()
.find(':submit:visible')
.click(function(){
if(this.value == 'Proceed'){
$.cookie("agreed_to_terms", '1', { expires : 1, path: '/' }); //set cookie, expires in 365 days
(typeof callback == 'string') ?
window.location.href = callback :
callback();
}
$('#confirm').jqmHide();
});
}
$().ready(function() {
$('#confirm').jqm({overlay: 88, modal: 'true', trigger: false});
// trigger a confirm whenever links of class alert are pressed.
$('a.confirm').click(function() {
if ($.cookie('agreed_to_terms') == '1'){window.location.href = callback =
callback()
//they already have cookie set
}else{
confirm('About to visit: '+this.href+' !',this.href);
}
return false;
});
});// JavaScript Document