我使用下面的表格为什么数据不是从阿贾克斯传递到PHP
<form id="dataForm" method="post">
<h2 id="formheader"> Update Description</h2>
<div>
<label>Product Name:</label>
<input class="inputForm" id="orginalName" type="text" name="Name">
</div>
<div>
<label>New Description:</label>
<input class="inputForm" id="newDescription" type="text" name="description">
</div>
<div id="theSubmit">
<button id="editDesButton">Submit</button>
</div>
</form>
</section>
和javascript函数
function editDescription(){
xmlhttp = new XMLHttpRequest();
var name = document.getElementById("orginalName");
var Description = document.getElementById("newDescription");
var data_seen = false;
// this is a flag to record whether any data has been seen. Used in the guard ofthe alert statement.
if (name.value !="" && Description.value !=""){
data_seen = true;
xmlhttp.open("POST","editDescription.PHP",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("Name=" + name.value + "&Description=" + Description.value);
}
if (!data_seen) {
alert("please enter some data");
}
}
submitButton = document.getElementById("editDesButton");
submitButton.addEventListener("click", editDescription);
和PHP的这个小位以下
$Name = $_POST['Name'];
$Description = $_POST['description'];
if($Name !="" && $Description !=""){
$sql = "UPDATE PRODUCTS SET P_Description = '$Description' WHERE P_NAME = '$Name'";
$conn->exec($sql);
如果我运行表格并使用action="editDescription.php
,那么sql会运行并且表格会更新为我想要的样式,但是当当按钮被点击时,我在事件上运行javascript值没有被传入,我不明白为什么,有没有人有任何指针?
你看到任何JS错误控制台? – Diptendu 2015-04-06 09:17:31
“if(){”?您应该使用javascript控制台(Chrome上的ctrl + maj + j) – 2015-04-06 09:17:43
表单正在提交,并且您对数据键和POST变量使用不同的大小写? – adeneo 2015-04-06 09:20:28