如何让 JS 等待确认模式
how to make JS wait for confirmation modal
这可能真的很愚蠢,但我在这里没有直接看到任何东西,请帮助我。
他们就是这个人 :
<a href="javascript:void(0);" class="font-red" data-bind="text:block() ,visible: ((postUserId != AS.currentUser) && (block() == 'Block')),attr:{post: postId}, click:changeBlock"></a>
如您所见,点击函数 changeBlock 被调用
this.changeBlock = function() {
var flag = confirm("You sure you want to block this user ?");
if(flag){
blockUser(this.postId);
if(this.block() != ""){
this.block("Blocked");
this.pointId(AS.currentUserDetails.name);
return "Blocked";}
}
}
某处有函数 blockUser
function blockUser(post_id) {
var blockUser = AS.baseUrl + "blockNewUser";
$.ajax({
url:blockUser,
type:"POST",
data:{postId : post_id},
success:function(data) {
// `request` seems a very strange name; perhaps `data` or `response`?
},
error: function(){
// You can't use `document.write` after the page has been parsed
}
});
}
我的问题是我无法使用 confirm() 来确认阻止或取消。
我将不得不使用整个网站使用的 html 模式。
如果在执行的某个时刻我添加
$('#my-modal').modal('show');
然后虽然出现了模态,但执行的其余部分无需等待我 select 是或否。
如果我通过某种魔法让 JS 等待 selection,我怎么知道 selected 是什么?
我应该怎么办 ?
我不能使用任何第三方模式。
这是我要使用的模式:
<div id="block-confirm-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<div class="modal-body">
<div class="clearfix side-space">
<h3 class="modal-title text-center">Are you sure you want to Block this user ?</h3>
</div>
<form id="form-block-confirm" name="" method="post" action="" class="form-horizontal">
<div class="clearfix side-space">
<div class="clearix text-center">
<button type="submit" class="btn btn-saffron btn-introduce" id='block-confirm-button'>Block</button>
<button type="submit" class="btn btn-saffron btn-introduce" id='block-cancel-button'>Cancel</button>
<!--input type="submit" name="submit" class="btn btn-saffron btn-introduce" value="Post"-->
</div>
</div>
</form>
</div>
</div>
</div>
</div>
在这种情况下你应该这样做。
在视图模型中:
this.changeBlock = function() {
$('#my-modal').modal('show');
}
function blockUser(post_id) {
//code here
}
this.Block=function(){
blockUser(this.postId);
if(this.block() != ""){
this.block("Blocked");
this.pointId(AS.currentUserDetails.name);
return "Blocked";}
}
}
this.Cancel=function(){
$('#my-modal').modal('hide'); //hide or close what ever suits
}
查看:
<button id='block-confirm-button' data-bind="click:Blocked">Block</button>
<button id='block-cancel-button' data-bind="click:Cancel">Cancel</button>
如有任何问题请告诉我们
这可能真的很愚蠢,但我在这里没有直接看到任何东西,请帮助我。
他们就是这个人 :
<a href="javascript:void(0);" class="font-red" data-bind="text:block() ,visible: ((postUserId != AS.currentUser) && (block() == 'Block')),attr:{post: postId}, click:changeBlock"></a>
如您所见,点击函数 changeBlock 被调用
this.changeBlock = function() {
var flag = confirm("You sure you want to block this user ?");
if(flag){
blockUser(this.postId);
if(this.block() != ""){
this.block("Blocked");
this.pointId(AS.currentUserDetails.name);
return "Blocked";}
}
}
某处有函数 blockUser
function blockUser(post_id) {
var blockUser = AS.baseUrl + "blockNewUser";
$.ajax({
url:blockUser,
type:"POST",
data:{postId : post_id},
success:function(data) {
// `request` seems a very strange name; perhaps `data` or `response`?
},
error: function(){
// You can't use `document.write` after the page has been parsed
}
});
}
我的问题是我无法使用 confirm() 来确认阻止或取消。 我将不得不使用整个网站使用的 html 模式。
如果在执行的某个时刻我添加
$('#my-modal').modal('show');
然后虽然出现了模态,但执行的其余部分无需等待我 select 是或否。
如果我通过某种魔法让 JS 等待 selection,我怎么知道 selected 是什么?
我应该怎么办 ?
我不能使用任何第三方模式。
这是我要使用的模式:
<div id="block-confirm-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<div class="modal-body">
<div class="clearfix side-space">
<h3 class="modal-title text-center">Are you sure you want to Block this user ?</h3>
</div>
<form id="form-block-confirm" name="" method="post" action="" class="form-horizontal">
<div class="clearfix side-space">
<div class="clearix text-center">
<button type="submit" class="btn btn-saffron btn-introduce" id='block-confirm-button'>Block</button>
<button type="submit" class="btn btn-saffron btn-introduce" id='block-cancel-button'>Cancel</button>
<!--input type="submit" name="submit" class="btn btn-saffron btn-introduce" value="Post"-->
</div>
</div>
</form>
</div>
</div>
</div>
</div>
在这种情况下你应该这样做。
在视图模型中:
this.changeBlock = function() {
$('#my-modal').modal('show');
}
function blockUser(post_id) {
//code here
}
this.Block=function(){
blockUser(this.postId);
if(this.block() != ""){
this.block("Blocked");
this.pointId(AS.currentUserDetails.name);
return "Blocked";}
}
}
this.Cancel=function(){
$('#my-modal').modal('hide'); //hide or close what ever suits
}
查看:
<button id='block-confirm-button' data-bind="click:Blocked">Block</button>
<button id='block-cancel-button' data-bind="click:Cancel">Cancel</button>
如有任何问题请告诉我们