我一直在嘗試執行以下內容來處理我正在處理的項目。HTML按鈕,將javascript作爲undefined返回。
簡而言之,當我點擊一個按鈕時,我希望能夠添加一個列表項到它的正上方。我已經定義的Java腳本如下:
function CritHandoff(IDNumber, Description, Status) {
this.IDNumber = IDNumber;
this.Description = Description;
this.Status = Status;
}
function AddCritHandoff() {
var result = '';
var Temp = new CritHandoff("ID123456", "This is a description", "Active");
result += $('#CritHandoff').html("<li>"+Temp.IDNumber+"</li>");
return result;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1 class="Crit" style="color:red">Critical Handoff:</h1>
<ul id="CritHandoff">
</ul>
<button type="button" onclick="AddCritHandoff()">Test</button>
當我嘗試執行該頁面加載後,點擊該按鈕,在調試器踢和說,AddCritHandOff()是不確定的。不過,如果我更改代碼這樣
$(function AddCritHandoff() {
var result = '';
var Temp = new CritHandoff("ID123456", "This is a description", "Active");
result += $('#CritHandoff').html("<li>"+Temp.IDNumber+"</li>");
return result;
});
其結果將是,它執行上出的問題頁面加載。
我的問題是:
這只是一個問題的範圍?雖然它提到的對象是未定義的,但在我看來,它已被定義,而不是在單擊按鈕時。
我該怎麼辦呢?
感謝您的協助!
你能給我們更多你的代碼嗎?你在哪裏定義AddCritHandoff?什麼會導致它被定義爲「在」你點擊按鈕之後? – Macmee
在你的例子中,js代碼不在腳本標籤內。這意味着如果你把你的代碼放入頁面中,它不會被當作js。你可以展示你如何在頁面中包含這段代碼?它是在單獨的文件?如果是這樣 - 鏈接在哪裏?或者它在標籤腳本中內聯?如果是這樣 - 我們可以看到你的頭/身體/ scrtip標籤嗎? – Dmitry
將它移動到單獨的JS文件並添加$(function(){---});圍繞這兩個功能。它不會加載AddCritHandoff函數,因爲它不能識別$('#CritHandoff'),因爲jQuery不是「準備好」的。 –