虽然$.ajax()可以用来做ajax的事情,但我认为它不适合发布大表单的值。
如何在不手动输入所有字段的情况下post
一个大表单(多个字段)?
发布于 2009-09-11 16:16:49
如果您不想手动处理每个元素,则可能希望使用serialize。
$.ajax({
type: "POST",
url: "form.php",
data: $("#form_id").serialize()
success: function(msg) {
alert("Form Submitted: " + msg);
}
});
发布于 2009-09-11 16:11:03
你可以使用jQuery.post( url, data, callback, type)
,因为它比jQuery.ajax( options )
更简单。
通过使用serialize
,您可以自动发送整个表单。
$.post("/post_handler/",
$("form#my_form").serialize(),
function(json){
/*your success code*/
}, "json");
一个更完整的例子:
<script>
$().ready(function(){
$("form#my_form submit").click(function(){
$.post("/post_handler/",
$("form#my_form").serialize(),
function(json){
/*your success code*/
}, "json");
return false;
});
}
</script>
<form id="my_form" action="/post_handler/" method="post">
<input type="text" name="text1" value="my text 1" />
<input type="text" name="text2" value="my text 2" />
<input type="submit" name="submit_button" value="Send" />
</form>
这将覆盖默认的post
,并使用AJAX执行它。
发布于 2009-09-11 16:11:57
它可能做的正是您开箱即用的工作。
https://stackoverflow.com/questions/1411811
复制相似问题