我有一个包含要验证的地址的表单,这需要调用Web服务,如果它无效,则会为用户提供一个模式JQuery UI对话框来覆盖。如何使这项工作,因为弹出窗口是异步的,验证调用完成后,用户才能选择是否避免验证规则?
编辑:我认为我做出了一个设计决定,在关注点分离方面可能更好。我越是想到它,提出一个对话框,允许在验证阶段内基本上编辑数据没有多大意义。因此验证将是同步的,并且覆盖将在数据输入过程的上下文中完成。 (仅供参考,不仅仅是覆盖,还有可能的选择列表可供选择,因此选择一个基本上会改变您首先验证的基础数据。)
答案 0 :(得分:-1)
您可以将回调函数传递给$ .getJSON或$ .ajax,如下所示:
$.getJSON('ajax/test.json', {address: $('#myInput').val()}, function(data) {
var items = [];
$.each(data, function(key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('body');
});
这里更适合您的需求
$.getJSON('validateAddress.json', {address: $('#myInput').val()}, function(data)
{
if( data.result == 'ok')
{
$('#override').dialog();
} else {
alert('invalid address');
}
});