我的目标是通过 ajax 函数提交整个表单,然后将这些值发送到 php 文件。我使用 Post 有几个原因 - 一个是我将更改 MySQL 数据库中的数据。
我在寻找答案时看过一些示例,但似乎没有一个示例直接解决了我遇到的问题。
例如,这个例子:
var url = "get_data.php";
var params = "lorem=ipsum&name=binny";
http.open("POST", url, true);
// Send the proper header information along with the request
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
// Call a function when the state changes.
http.onreadystatechange = function() {
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);
}
}
http.send(params);
开始解决它。
具体来说,我不确定如何发送多个值。在上面找到的示例中,我看到他们将两个值硬编码到变量 params 中的语句中。我想知道如何将这些值传递给函数,而不必对它们进行硬编码。
我的表格:
<table border="0" cellpadding="2" cellspacing="5">
<th colspan="2" align="center">Check Out</th>
<form name="checkOut" method="post" onSubmit="return(validate(this))">
<tr>
<td>Territory Number</td>
<td><input type="text" name="numberOut" tabindex="1" maxlength="3" size="3" /></td>
</tr>
<tr>
<td>First Name of Publisher</td>
<td><input type="text" onKeyUp="showHint(this.value)" name="fName" tabindex="2" maxlength="15"/></td>
</tr>
<tr>
<td>Last Name of Publisher</td>
<td><input type="text" onKeyUp="showHint_l(this.value)" name="lName" tabindex="3" maxlength="15" /></td>
</tr>
<tr>
<td>Special Campaign</td>
<td><input type ="checkbox" name="specialC" tabindex="4" value="Yes"/></td>
</tr>
<tr>
<td><input type="button" onClick="clearForm()" value="Reset" /></td>
<td><input type="submit" value="Check Out" /></td>
</tr>
</form>
<p>Suggestions: <span id="txtHint"></span></p>
</table>
在这里,我想传递 numberOut、fName、lName 和 specialC 的值。我知道如何单独通过它们,但不是作为一个群体。最终,我希望能够通过 php 访问这些值,例如 $_POST['fName'] 。
在这个网站上看到几个类似问题的答案后,很多人说要使用 jQuery。我知道这更容易,但我想先学习使用 ajax,因为我是基于 Web 的语言的新手。