【发布时间】:2018-10-25 18:27:45
【问题描述】:
在一个经典的 ASP 页面中,我有一个 form,我在其中单击提交以保存我在数据库中选择的位置,另一个按钮用于删除选定的位置。实际上是两种不同的操作形式,在其相关的 .js 文件中我有删除按钮单击处理函数。
问题是一旦我单击删除按钮 javascript 的简单是/否 confirm 消息框出现,但它不会等待用户单击是或否并返回始终“未定义”显示“否”在安慰。
我使用preventDefault() 让确认消息框在消失之前等待被点击,但这并没有解决我的问题。我会错过什么吗?
<form action="/placeIn" method="post" name="place" class="placeForm">
<!-- form -->
<div class="center">
<button class="btn btn-default" id="placeDelete">Delete</button>
<input type="submit" id="submittoplace" name="submitplacement" value="Next" />
</div>
</form>
jQuery(document).ready(function(e) {
$('#placeDelete').click(function(e) {
var ids = $(this).closest('form').find('input[name$="placeID"]:checked').map(function() {
return this.value;
}).get().join(',');
if (confirm("Delete?")) {
console.log("yes");
$.get('/pages/ACT.asp', {
act: 'placesDEL',
id: ids,
r: Math.floor(Math.random() * 10000)
}, function(data) {
if (data != 'OK')
alert(data);
else
location.href = '/place';
});
} else
console.log("no");
e.preventDefault();
});
});
【问题讨论】:
-
无法复制:jsfiddle.net/6tx92Lpg。检查控制台是否有错误
-
"总是返回 "undefined"":您是否试图在
get回调之外的某个地方记录data? -
可能有点偏题,但
preventDefault()对确认框的行为没有任何影响。如果事件具有默认动作,则所述方法防止事件的默认动作。在您的情况下,它会阻止提交表单(默认情况下,没有指定类型的表单中的按钮是提交类型)。 -
它已经工作了here。
-
您能否提供更多详细信息或实时代码 sn-p。我们不明白您的问题。
标签: javascript jquery