【发布时间】:2011-12-24 23:31:20
【问题描述】:
我在提交表单时使用 jQuery 和验证插件:
$('.frmProject:visible').validate( {
errorContainer: ".site_details:visible .messageBox1",
errorLabelContainer: ".site_details:visible .messageBox1 span.messagehere",
invalidHandler: function(form, validator) {
},
rules: {
site_id: {
required: true,
}
},
messages: {
site_id: "Project has no assigned site information. Click the marker on the map at left to specify the site where this project took place."
},
submitHandler: function(data) {
SaveProject();
}
});
在submitHandler中,
function SaveProject(){
//... load variables with input contents
$.ajax({
url: 'ajax/save_project.php',
dataType: 'json',
data: 'id='+id+'&title='+title+'&project='+project+'§or='+sector+'&volunteer='+volunteer+'&lat='+lat+'&lng='+lng+'&name='+name+'&mun='+mun+'&prov='+prov,
success: function(data) {
//... load 'messages' object with stuff
$.each(messages, function(key, value) {
if (confirm(key)){
console.log(item);
}
});
}
});
}
当我提交经过验证的表单并进入每个循环内的确认时,我收到错误消息:“确认不是函数”。
如何向用户显示消息以进行确认?
编辑:
当我在控制台中输入“确认”时,我得到了这个:
在 DOM 中检查显示:
窗口 > 确认() 该对象没有可显示的属性。
Inspecting in Script 将我带到 jquery-1.6.2.min.js 中的一个地方
【问题讨论】:
-
您是否尝试执行 window.confirm(key)?确认定义在哪里?
-
我猜 1) 发生了一些变化
window.confirm或 2) 有一个名为confirm的变量...看看confirm的计算结果不会有什么坏处。 -
@Keyslinger 在 JavaScript 控制台中输入“确认”。
-
@DaveNewton 查看我的编辑。当我在控制台中输入 confirm('test') 时,确认执行良好。
-
你能在
success函数中做console.log(confirm)吗?如果您在函数范围内覆盖了确认,则在控制台中测试确认时它不会显示。
标签: jquery-ui validation jquery jquery-plugins