我的目标是:当有人提交表单时,调用AJAX,检索一些GET结果,然后提示确认:
$('#form1').submit(function() {
var messages = ... // get result from $.get() call
return confirm("Confirm delete " + number + 'messages' ?);
});
在这种情况下,我认为承诺不会有所帮助 我可以附加事件并删除事件:但这个解决方案非常繁重。
任何优雅的方式吗?
答案 0 :(得分:0)
temp = min(d,sqrt((((P[i].getX() - P[j].getX())**2) + ((P[i].getY() - P[j].getY())**2))))
if temp < d:
temp = d
ret = [P[i], P[j]]
您必须等到服务器使用$('#form1').submit(function(e) {
e.preventDefault();
$.get(myUrl).then(function(res) {
confirm("Confirm delete " + number + 'messages' + res);
});
});
方法向您发送响应。
答案 1 :(得分:0)
$(document).on('submit','#myForm',function(e){
e.preventDefault();
$.ajax({
url:'https://jsonplaceholder.typicode.com/users',
type:'POST',
data:{},
success:function(response){
console.log(response);
var r = confirm("Press a button!");
if (r == true) {
txt = "You pressed OK!";
} else {
txt = "You pressed Cancel!";
}
console.log(txt);
},
error:function(error){
}
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myForm">
<button type="submit" id="submit">SUBMIT</button>
</form>
&#13;
答案 2 :(得分:0)
您可以默认阻止提交。在收到get请求并且用户确认该消息后,您可以删除该确认回调,并在表单上调用submit
。
$('#form1').on('submit', function(e) {
e.preventDefault();
$.get( )
.then(() => {
var messages = ... // get result from $.get() call
if( confirm("Confirm delete " + number + 'messages' ?) ) {
('#form1').off('submit').submit()
}
})
});