Jquery onchange选择向PHP提交表单

Stu*_*ent 2 jquery

我没有代码可以在这里真正地向您展示,但是假设我有一个包含3个HIDDEN字段的表单,其中包含日期,城市和地址.我也有一个选择有3个选项(比如苹果,微软和谷歌).

我想要的是当用户将select更改为其他选项时,jquery应该将selectbox + 3个隐藏字段的值发送到PHP页面,比如proces.php.Proces.php处理mysql_query等,它不返回任何内容.

谁能告诉我这是怎么做到的?我不希望有人为我编写完整的脚本,因为我没有提供任何HTML代码,只是大纲,或者可能是教程或其他内容的链接.

Ror*_*san 7

首先,您的表单应如下所示:

<form action="process.php" method="post" id="myForm">
    <select name="site" id="site">
        <option>Apple</option>
        <option>Google</option>
        <option>Microsoft</option>
    </select>
    <input type="hidden" name="date" value="01/05/2012" />
    <input type="hidden" name="city" value="London" />
    <input type="hidden" name="address" value="[... address ...]" />
</form>
Run Code Online (Sandbox Code Playgroud)

然后通过AJAX提交,您将使用该serialize()方法收集表单数据:

$("#site").on("change", function() {
    var $form = $("#myForm");
    var method = $form.attr("method") ? $form.attr("method").toUpperCase() : "GET";
    $.ajax({
        url: $form.attr("action"),
        data: $form.serialize(),
        type: method,
        success: function() {
            // do stuff with the result, if you want to 
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

或者,如果您不想使用AJAX,只需标准表单提交,您可以触发表单提交,如下所示:

$("#site").on("change", function() {
    $("#myForm").submit();
});
Run Code Online (Sandbox Code Playgroud)