使用对话框按钮从嵌入Jquery对话框的cakephp表单发送数据
我有一个终生无法解决的问题。我将“添加”函数的视图嵌入到一个jquery模式对话框中,该对话框有两个按钮,send和cancel。我通过ajax将视图加载到一个div中,当视图完成时,我启动对话框。到目前为止,一切正常。我的问题是,当按下jquery对话框提交按钮时,如何发送表单数据使用对话框按钮从嵌入Jquery对话框的cakephp表单发送数据,jquery,cakephp,jquery-ui-dialog,Jquery,Cakephp,Jquery Ui Dialog,我有一个终生无法解决的问题。我将“添加”函数的视图嵌入到一个jquery模式对话框中,该对话框有两个按钮,send和cancel。我通过ajax将视图加载到一个div中,当视图完成时,我启动对话框。到目前为止,一切正常。我的问题是,当按下jquery对话框提交按钮时,如何发送表单数据 $('#addUser').dialog({ autoOpen: false, modal: true,
$('#addUser').dialog({
autoOpen: false,
modal: true,
title: "Add new user",
resizable: false,
width: 370,
height: 350,
buttons: {
"Add user": function() {
//$("#addUser").html("Updating data...");
//$.ajax({
// async:true,
// type: 'post',
// url:'/users/add',
// data: $(this).parents('form:first').serialize(),
// success: function (response){
// $('#addUser').empty().html(response);
// }
// })
//this part triggers a hidden submit button
$('#Submit').trigger('click');
$(this).dialog("close");
},
"Close": function() {
$(this).dialog("close");
}
}
});
$('#Submit').trigger('click');
Part触发一个隐藏的submit按钮,该按钮成功地将数据发送到控制器,但它也会在数据保存后立即将我重定向到另一个页面。我知道这不是实现这一目标的“正确”方法,但我时间紧迫,这是我能找到的唯一解决办法
至少有人能帮我想出另一个主意吗
更新:
感谢伊什·库马尔的快速回复。如果您注意到commented.ajax{}部分,我已经尝试过这个场景,但是我在控制器中没有得到任何数据,而且成功部分也从未执行过。据我所知,触发器(单击)是将数据发送到控制器的唯一方法:D,但这里的问题是,它不是修改打开对话框ui的主页上的div,而是将我重定向到操作的视图,在我的例子“索引”…我只是在学习cakephp,我确信我遗漏了一些东西…你知道有任何教程可以为我指出正确的方向,或者你能为我提供控制器中可以实现这一点的代码吗?我将非常感激
我试图实现的是:在主页中,我有一个所有用户的列表,列表底部有一个添加新用户的链接。我想在jquery对话框中打开新用户的表单。在对话框中,我还有两个按钮,提交和取消。这些按钮是jquery对话框按钮,如jquery页面上的表单示例所示。单击submit时,我希望在add操作中将数据从表单发送到控制器。添加操作完成保存后,我希望在主页上更新我的用户列表,而无需重新加载页面
提前谢谢大家,,
denis单击后必须
返回false
,以避免表单提交两次。尝试覆盖表单的提交事件,如下所示
$('#MyForm').submit(function () {
$.ajax({ // <-- this is your casual ajax request
url: '/echo/jsonp',
data : $('#MyForm').serialize(),
success : function(data) {
alert(data);
}
});
return false; // <-- this should stop redirection
});
$('#MyForm')。提交(函数(){
$.ajax({//请查看问题的更新。@denis最初将其作为答案添加,但我移动了它,希望确保您看到它,因为他直接向您讲话。感谢您抽出时间回答。嗨,denis,刚刚修改了答案,请审阅。