使用javascript获取表单数据,然后使用ajax将其提交到php文件

时间:2011-07-07 15:28:55

标签: javascript ajax jquery

我在解决如何从表单中获取数据以通过ajax发布时遇到了一些麻烦。我有以下代码,但它似乎没有通过复选框和单选按钮等元素发送数据。相反,它通过所有字段发送。即,如果有一组radiobuttons,它通过所有可能性发送,而不仅仅是已检查的可能性。表单可以由任何类型的元素组成,并且其中包含一定数量的元素,因此我需要以我的方式迭代。这部分似乎有效,但我似乎无法获取javascript来获取所选数据。我是否需要手动检查每个元素的类型,然后检查它是否已检查等?

myString = "";
my_form_id = "1";
my_url = "phpscript.php";
elem = document.getElementById("form_" + my_form_id).elements;
for(var i = 0; i < elem.length; i++)
{
     if (i>0) { myString += "&"; }
     myString += elem[i].name + "=" + elem[i].value;
}  
$.ajax({
type: "POST",
url: my_url,
data: myString,
success: function(data) {
// process the post data
}
});

`

1 个答案:

答案 0 :(得分:2)

由于你正在使用jQuery,你可以大大简化它:

var my_form_id = "1";
var my_url = "phpscript.php";
var form = $("#form_" + my_form_id);

$.ajax({
    type: "POST",
    url: my_url,
    data: form.serialize(),
    success: function(data) {
        // process the post data
    }
});

jQuery的serialize方法为您完成所有工作。但如果你想手工完成,那么是的,你必须检查每个领域。