我有一個html表單和ajax調用,通過PHP頁面在MySQL中存儲數據。AJAX POST不能使用document.getElementById變量
下面複製了所有三個代碼。 (請注意//)
只要我在ajax調用存儲它們的函數中硬編碼變量,所有這三個工作就可以正常工作。但是,當我註釋掉硬編碼變量並使用常規變量運行它時,它不起作用。
JavaScript的AJAX調用 $( 「#buttonSubmit」)。點擊(函數(){
//var questionID = obj.Questions[i].questionID;
//var shortAnswerValue = document.getElementById('txtShortAnswerValue').value;
//var longAnswerText = document.getElementById('txtLongAnswerText').value;
var questionID = "SampleQID";
var shortAnswerValue = "Sample Short";
var longAnswerText = "Sample Long";
$.ajax({
type: "POST",
url: "SaveUpdatesTemplate.php",
data: "questionID=" + questionID + "&shortAnswerValue=" + shortAnswerValue + "&longAnswerText=" + longAnswerText,
}); // end ajax function
document.getElementById("txtLongAnswerText").reset();
}); // end button submit function
相關的HTML 選擇檢驗或項目階段 選擇檢驗或項目階段
<label for="selectSection">Select Inspection or Project Phase</label>
<select class="form-control" id="selectSection" name="selectSection">
<option> Select Inspection or Project Phase</option>
</select>
<button type="button" class="form-control" id="buttonStart" name="buttonStart" value="List Questions">Start - Click to Populate Question List</button>
<label for="selectQuestion">Select Task or Question to Update</label>
<select class="form-control" id="selectQuestion" name="selectQuestion" >
<option> Select Task or Question to Update </option>
</select>
<!-- short answer below -->
<label for="txtShortAnswerValue">Short Answer</label>
<select class="form-control" id="txtShortAnswerValue" name="txtShortAnswerValue">
<option value="1" selected>worst</option>
<option value="3">middle</option>
<option value="5">best</option>
</select>
<!-- long answer below -->
<label for="txtLongAnswerText">Long Answer/Notes</label>
<textarea class="form-control" name="txtLongAnswerText" id="txtLongAnswerText" rows=3>
</textarea>
相關的PHP代碼 //將PHP變量分配給來自客戶端的POST結果
$questionID = htmlspecialchars(trim($_POST['questionID']));
$shortAnswerValue = htmlspecialchars(trim($_POST['shortAnswerValue']));
$longAnswerText = htmlspecialchars(trim($_POST['longAnswerText']));
//SQL STATEMENT
$sql="INSERT INTO Updates (questionID, shortAnswerValue, longAnswerText)
VALUES
('$questionID', '$shortAnswerValue', '$longAnswerText')";
呃。我無法讓自己讀完。太長。 – bjb568
這是很多信息。不幸的是不是我們需要的信息。什麼是不工作?沒有存儲的值,查詢沒有執行,是PHP拋出一個錯誤,是JS拋出一個錯誤,..?順便說一句:在第一行是什麼'obj.Questions'? – Kenneth
如果您使用的是jQuery,那麼您爲什麼還要使用常規JavaScript? 'document.getElementById('yourId')'是'$('#yourId')'。如果您正在使用庫,請保存鍵盤。 – PHPglue