Php Jquery提交Ajax

Php Jquery提交Ajax,php,jquery,ajax,post,submit,Php,Jquery,Ajax,Post,Submit,我似乎无法让这一切正常运作。我正在尝试使用jquery对话框提交表单,我想用php接收表单,这样我就可以使用$\u POST了 有什么想法吗 HTML: PHP: 对话框将正确打开,但按下“发送”按钮时不会执行任何操作,也不会在控制台上显示任何错误。你知道这个错误吗?我是jquery的新手。您只是用代码添加了一个提交处理程序$(“#fieldsform”)。提交(…),这样它就不会触发任何东西 相反,您应该在文档就绪时执行此操作,并在“发送”按钮的单击处理程序中,调用$(“#fieldsform

我似乎无法让这一切正常运作。我正在尝试使用jquery对话框提交表单,我想用php接收表单,这样我就可以使用$\u POST了

有什么想法吗

HTML:

PHP:


对话框将正确打开,但按下“发送”按钮时不会执行任何操作,也不会在控制台上显示任何错误。你知道这个错误吗?我是jquery的新手。

您只是用代码添加了一个提交处理程序
$(“#fieldsform”)。提交(…)
,这样它就不会触发任何东西


相反,您应该在文档就绪时执行此操作,并在“发送”按钮的单击处理程序中,调用
$(“#fieldsform”).submit()

$(“#fieldsform”).submit(函数(事件){
submit
事件处理程序添加到
#fieldsform
。也许您应该删除此行(以及相关的
};
尝试使用event.preventdefault()内部字段窗体submit@Sumeet我试过了,但没有改变anything@Regent我不明白你的想法。删除ajax并只使用submit()?它不使用$\u POST,而是用数据构建url。我已经尝试过了。给我一些类似tables/create?fields=4的东西,我不想要。所以你说要构建$('#fieldsform')。submit(…)在对话框外,然后在按钮处调用它:“发送”:$(“#fieldsform”).submit();对吗?@user3718566 yes。不要忘记在submit handler函数的末尾添加
return false
,以防止默认
表单
行为(如果您当然想防止)。是的。如果您将它放在“发送”中回调函数,每次单击“发送”时,它都会将新的“提交”处理程序附加到表单。这有点让人困惑:
.submit()
将提交,而
.submit(回调函数)
只是附加了处理程序。我已经尝试过了,但仍然不起作用。还有其他想法吗?它甚至没有在控制台上给我任何错误。第一次使用JSFIDLE。似乎无法在那里运行它。
<div id="table_rows_form">
    <form id="fieldsform" action="system/create">
        <label for="fields">How many fields are needed?</label>
        <input type="text" id="fields" name="fields" />
        <button type="submit">Submit</button>
    </form>
</div>
$(document).ready(function() {
    $('#table_rows').on('click', function() {
        $('#table_rows_form').dialog({
            open: function() {
                $(this).find('[type=submit]').hide();
            },
            draggable: true,
            modal: true,
            resizable: false,
            closeOnEscape: false,
            width: 'auto',
            minHeight: 235,
            title: 'Number of Fields',
            dialogClass: 'no-close',
            buttons: {
                "Send": function() {
                    $('#fieldsform').submit(function(event) {
                        var formData = {
                            'fields': $('input[name=fields]').val()
                        };
                        $.ajax({
                            type: 'POST',
                            url: $('#fieldsform').attr('action'),
                            data: formData,
                            dataType: 'json',
                            encode: true
                        });
                    });
                },
                "Cancel": function() {
                    $(this).dialog('close');
                }
            }

        });
        return false;
    });
});
print_r($_POST);