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

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

myString = ""; my_form_id = "1"; my_url = "phpscript.php"; elem = document.getElementById("form_" + my_form_id).elements; for(var i = 0; 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 } }); 

`

由于您使用的是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方法为您完成所有工作。 但如果您想手动完成,那么是的,您必须检查每个字段。