Jquery AJAX 提交表单,即使 confirm() 方法为 false
Jquery AJAX submits the form even if confirm() method is false
<div class="report" data-id="55"></div>
<script>
$('.report').click(function() {
var id = $(this).data("id");
confirm("do you really want to report this post?");
$.ajax({
url: 'forumreport.php',
type: 'GET',
data: 'id='+id,
success: function(){
alert("reported!!");
},
});
})
</script>
如果用户在确认表单上单击取消,我想停止 $.ajax()
方法。但是 ajax 仍在将 id 发送到 .php 页面。我该怎么办?
confirm
method returns 一个boolean表示提示是否被确认,因此你可以简单的将结果boolean保存在一个变量中,并在执行AJAX之前检查它是否为真请求。
$('.report').click(function() {
var id = $(this).data("id");
var confirmed = confirm("do you really want to report this post?");
if (confirmed) {
$.ajax({
url: 'forumreport.php',
type: 'GET',
data: 'id='+id,
success: function(){
alert("reported!!");
},
});
}
});
Confirm
函数 returns 一个布尔值,指示是否选择了确定或取消(true
表示确定)
https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm
检查 confirm
函数返回的结果:
<script>
$('.report').click(function() {
var id = $(this).data("id");
if(confirm("do you really want to report this post?")){
$.ajax({
url: 'forumreport.php',
type: 'GET',
data: 'id='+id,
success: function(){
alert("reported!!");
},
});
};
})
</script>
<div class="report" data-id="55"></div>
<script>
$('.report').click(function() {
var id = $(this).data("id");
confirm("do you really want to report this post?");
$.ajax({
url: 'forumreport.php',
type: 'GET',
data: 'id='+id,
success: function(){
alert("reported!!");
},
});
})
</script>
如果用户在确认表单上单击取消,我想停止 $.ajax()
方法。但是 ajax 仍在将 id 发送到 .php 页面。我该怎么办?
confirm
method returns 一个boolean表示提示是否被确认,因此你可以简单的将结果boolean保存在一个变量中,并在执行AJAX之前检查它是否为真请求。
$('.report').click(function() {
var id = $(this).data("id");
var confirmed = confirm("do you really want to report this post?");
if (confirmed) {
$.ajax({
url: 'forumreport.php',
type: 'GET',
data: 'id='+id,
success: function(){
alert("reported!!");
},
});
}
});
Confirm
函数 returns 一个布尔值,指示是否选择了确定或取消(true
表示确定)
https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm
检查 confirm
函数返回的结果:
<script>
$('.report').click(function() {
var id = $(this).data("id");
if(confirm("do you really want to report this post?")){
$.ajax({
url: 'forumreport.php',
type: 'GET',
data: 'id='+id,
success: function(){
alert("reported!!");
},
});
};
})
</script>