0
有如下因素的代碼:參考動態加載元件
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>
<div id="Block"></div>
<script type="text/javascript">
function Request(Mode)
{
jQuery.ajax
({
url: "Script.php",
type: "POST",
dataType: "html",
data: "Mode=" + Mode,
success: function(responce)
{
if (responce == '1')
{
document.getElementById("MessageField").innerHTML = "Message text";
}
else
{
document.getElementById("Block").innerHTML = responce;
}
},
error: document.getElementById("Block").innerHTML = "Request error."
});
}
Request("load form");
</script>
</body>
</html>
和PHP腳本返回HTML格式或值 '1':
<?php
if ($_POST['Mode'] == 'load form')
echo
"
<form id = 'AuthForm' method = 'post' action = ''>
<table border = 1>
<tr>
<td id = 'MessageField'>
 
</td>
</tr>
<tr>
<td>
<input type = 'submit' name='B1' id='B1' value='Show message' onclick = 'Request()'>
</td>
</tr>
</table>
</form>
";
else echo "1";
?>
Javascript函數輸出HTML的形式或改變的innerHTML它是id =「MessageField」的表格單元格。像預想的那樣,但按下按鈕,我得到錯誤 出現形式:
Uncaught TypeError: Cannot set property 'innerHTML' of null
腳本不能執行字符串:
document.getElementById("MessageField").innerHTML = "Message text";
爲什麼?當腳本嘗試改變它時,MessageField已經存在。 O_O
是經過HTML代碼或之前你''