如何通过JavaScript提交表单?
我的表单函数是用PHP编写的,需要传递两个变量。我必须使用Javascript提交表单和变量。我知道我可以使用如何通过JavaScript提交表单?,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,我的表单函数是用PHP编写的,需要传递两个变量。我必须使用Javascript提交表单和变量。我知道我可以使用.submit()使用JavaScript实际提交表单,但需要传递给表单函数的变量存储在JavaScript中的两个变量中。当我使用.submit()提交表单时,我很难理解如何传递这些JavaScript变量 我的一个想法是向html表单中添加隐藏字段,并将这些隐藏输入值的值设置为JavaScript变量中的值 我想知道是否有一种方法可以使用.submit()并通过JavaScript传
.submit()
使用JavaScript实际提交表单,但需要传递给表单函数的变量存储在JavaScript中的两个变量中。当我使用.submit()
提交表单时,我很难理解如何传递这些JavaScript变量
我的一个想法是向html表单中添加隐藏字段,并将这些隐藏输入值的值设置为JavaScript变量中的值
我想知道是否有一种方法可以使用
.submit()
并通过JavaScript传递变量?您可以保留一个隐藏的输入或一个JavaScript变量来跟踪值。然后,您可以使用AJAX将值提交到PHP页面:
<input id="name" type="hidden" .....
....
var dataString = 'name='+ name + '&email=' + email + '&phone=' + phone;
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "yourpage.php",
data: dataString,
success: function() {
//do something
}
});
不带jQuery的普通JS解决方案的签出:
var formData = new FormData();
formData.append("username", "Groucho");
formData.append("accountnum", 123456);
var request = new XMLHttpRequest();
request.open("POST", "http://foo.com/submitform.php");
request.send(formData);
以下是如何将其与现有表单一起使用:
JS:
HTML:
如果不需要使用ajax,只需将变量放入表单中的隐藏输入中即可。
var formData = new FormData();
formData.append("username", "Groucho");
formData.append("accountnum", 123456);
var request = new XMLHttpRequest();
request.open("POST", "http://foo.com/submitform.php");
request.send(formData);
var docFormElement = document.getElementById('myForm');
var docFormData = new FormData(docFormElement);
docFormData.append("product_license","Enterprise");
var xhrObject = new XMLHttpRequest();
xhrObject.open("POST","postform.cfm");
xhrObject.send(docFormData);
<form id="myForm">
<input name="product_name" type="text" value="ColdFusion" />
<input name="product_codename" type="text" value="Zeus" />
</form>