通过jQuery将变量传递到PHP文件

通过jQuery将变量传递到PHP文件,php,jquery,Php,Jquery,真的不熟悉jQuery。我是否可以使用jQuery将表单数据传递到PHP文件 表格: 我想做的是将用户输入的表单数据发送到process form.php,在那里它将被处理并作为电子邮件发送(我可以这样做)。只是不确定jQuery方面的事情。甚至可能吗?是的,您可以使用jQuery.post()方法,该方法非常详细 您可以使用.serialize()函数 $('yourform').serialize(); 您可以这样使用它: $.ajax({ url: 'process-form.

真的不熟悉jQuery。我是否可以使用jQuery将表单数据传递到PHP文件

表格:


我想做的是将用户输入的表单数据发送到
process form.php
,在那里它将被处理并作为电子邮件发送(我可以这样做)。只是不确定jQuery方面的事情。甚至可能吗?

是的,您可以使用jQuery
.post()
方法,该方法非常详细


您可以使用
.serialize()
函数

$('yourform').serialize();

您可以这样使用它:

$.ajax({
    url: 'process-form.php',
    data: $('form').serialize(),  // **** added this line ****
    success: function (response) { //response is value returned from php
        $("#dialog-success").dialog({
            modal: true,
            buttons: {
                Ok: function () {
                    $(this).dialog("close");
                }
            }
        });
    }
});

给定当前代码,最简单的方法是将表单序列化到data属性中:

[...]
url: 'process-form.php',
data: $('#dialog-form').serialize()

使用$.ajax是正确的,但是您需要在提交时实际传递数据,到目前为止您还没有这样做。你最好也设置“类型”

$( "#dialog-form" ).dialog({
        autoOpen: false,
        height: 450,
        width: 350,
        modal: true,
        buttons: {
            "Sumbit": function() {
                //VALIDATES FORM INFO, IF CORRECT
                if (Valid ) {
                    $.ajax({
                       url: 'process-form.php',
                       type: "post",
                       data: {
                           name: $('[name=name]').val(),
                           email: $('[name=email]').val(),
                           phone: $('[name=phone]').val(),
                       },
                       success: function (response) { //response is value returned from php
                            $( "#dialog-success" ).dialog({
                                modal: true,
                                buttons: {
                                    Ok: function() {
                                        $( this ).dialog( "close" );
                                    }
                                }
                            });
                       }
                    });
                    $( this ).dialog( "close" );
                }

这些变量现在应该可以在PHP脚本中作为$\u POST['name']、$\u POST['email']和$\u POST['phone']

如果使用ajax发送,表单的意义何在? 关于问题,请通过以下方式获取输入:

var fields = [];
$("#dialog-form form fieldset > input").each(function() {
   fields.push( $(this)[0].value );
});
...
$.ajax({
   url: 'process-form.php',
   data:fields
...

可能重复的和其他许多…:-)开始了,谢谢各位^显然,我先看了其他问题。如果我不太理解代码,那么我就无法判断这是否是我需要的。你可以使用
[...]
url: 'process-form.php',
data: $('#dialog-form').serialize()
$( "#dialog-form" ).dialog({
        autoOpen: false,
        height: 450,
        width: 350,
        modal: true,
        buttons: {
            "Sumbit": function() {
                //VALIDATES FORM INFO, IF CORRECT
                if (Valid ) {
                    $.ajax({
                       url: 'process-form.php',
                       type: "post",
                       data: {
                           name: $('[name=name]').val(),
                           email: $('[name=email]').val(),
                           phone: $('[name=phone]').val(),
                       },
                       success: function (response) { //response is value returned from php
                            $( "#dialog-success" ).dialog({
                                modal: true,
                                buttons: {
                                    Ok: function() {
                                        $( this ).dialog( "close" );
                                    }
                                }
                            });
                       }
                    });
                    $( this ).dialog( "close" );
                }
var fields = [];
$("#dialog-form form fieldset > input").each(function() {
   fields.push( $(this)[0].value );
});
...
$.ajax({
   url: 'process-form.php',
   data:fields
...