Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用对话框按钮从嵌入Jquery对话框的cakephp表单发送数据_Jquery_Cakephp_Jquery Ui Dialog - Fatal编程技术网

使用对话框按钮从嵌入Jquery对话框的cakephp表单发送数据

使用对话框按钮从嵌入Jquery对话框的cakephp表单发送数据,jquery,cakephp,jquery-ui-dialog,Jquery,Cakephp,Jquery Ui Dialog,我有一个终生无法解决的问题。我将“添加”函数的视图嵌入到一个jquery模式对话框中,该对话框有两个按钮,send和cancel。我通过ajax将视图加载到一个div中,当视图完成时,我启动对话框。到目前为止,一切正常。我的问题是,当按下jquery对话框提交按钮时,如何发送表单数据 $('#addUser').dialog({ autoOpen: false, modal: true,

我有一个终生无法解决的问题。我将“添加”函数的视图嵌入到一个jquery模式对话框中,该对话框有两个按钮,send和cancel。我通过ajax将视图加载到一个div中,当视图完成时,我启动对话框。到目前为止,一切正常。我的问题是,当按下jquery对话框提交按钮时,如何发送表单数据

    $('#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,刚刚修改了答案,请审阅。