我没有代码可以在这里真正地向您展示,但是假设我有一个包含3个HIDDEN字段的表单,其中包含日期,城市和地址.我也有一个选择有3个选项(比如苹果,微软和谷歌).
我想要的是当用户将select更改为其他选项时,jquery应该将selectbox + 3个隐藏字段的值发送到PHP页面,比如proces.php.Proces.php处理mysql_query等,它不返回任何内容.
谁能告诉我这是怎么做到的?我不希望有人为我编写完整的脚本,因为我没有提供任何HTML代码,只是大纲,或者可能是教程或其他内容的链接.
首先,您的表单应如下所示:
<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)