我没有运气来获取ajax加载表单的jqueryui对话框,该表单通过ajax提交。
一切正常,以便捕获正在提交的表单,而不是通过ajax调用发送它。因此,触发表单操作并重定向浏览器。永远不会进行ajax调用。
我的代码如下
$(document).ready(function() {
$('.viewOrder').click(function() {
$('#displayOrder').load(this.href, [], function() {
console.log("landed here");
$('#blah').click(function() {
console.log("submiting the form via ajax");
$.ajax({
url: "/ajax/orderupdate",
type: "GET",
data: data,
cache: false,
//success
success: function (data) {
console.log("worked:");
}
});
return false;
});
});
return false;
});
});
.viewOrder是一个加载ajax的href。这很好用。 我在这里已经阅读了很多类似的问题,似乎load()不执行返回html中嵌入的脚本,但我的返回代码是纯html没有脚本。有什么想法吗?
答案 0 :(得分:1)
恕我直言,你应该尝试捕捉submit
而不是点击,这样你就可以阻止键盘提交,甚至可以解决你的问题。
答案 1 :(得分:0)
事件绑定在页面加载上。在页面加载您绑定的表单时,click事件不存在。我使用livequery插件,但是他们将Live添加到了jquery 4,你也可以使用它(我有一些IE的问题,所以我回到了livequery)
因此,使用脚本http://docs.jquery.com/Plugins/livequery
加载livequery并更改
$('#orderUpdate')。submit(function(){
到
$(“#orderUpdate”)。livequery(“submit”,function(){