我有一個腳本,其中我想獲得表單的佔位符屬性,然後作爲條件在像這樣的函數來使用(這看起來不正確我,所以我並不感到驚訝它不工作):如何避免測試窗體的「input.placeholder」屬性的JavaScript函數
if (document.getElementsByName("Name").input.placeholder == "Enter Name") {
//do something
}
包裝函數實際上採取的形式作爲參數:
function form_function(form) {
var input = document.getElementsByName("Name");
var placeholder = input.placeholder;
if (placeholder == "Empty") {
// do something
}
}
我已經嘗試了一些不同的事情,沒有無濟於事。錯誤控制檯告訴我輸入未定義。例如,我開始:
var placeholder = form.input.placeholder;
而且也不能工作。
我然後跑一些警報測試時,我只是提醒輸入我得到NodeList
對象,我不知道該如何處理。
所以,我想通過NodeList
循環並得到了一些對象,我不知道該如何使用。
var inputList = document.getElementsByName("Name");
var inputArray = [];
for (var i = 0; i < inputList.length; i++) {
inputArray[i] = inputList[i];
alert(inputArray[i]);
}
警報給[object HTMLInputElement]
基本上,我只是想測試對在與特定的name屬性的形式佔位符值。似乎我已經錯了......
謝謝。
'getElementsByName'返回'NodeList':如果仔細觀察,「Elements」是複數。你希望'document.getElementsByName(「Name」)[n]'獲得名爲'Name'的第n個元素,並且你可以使用document.getElementsByName(「Name」)[n] .placeholder'獲得其佔位值。 – apsillers
是的,我剛剛意識到這一點,因爲我把問題解決了。在我的情況下,列表中只有一個對象,所以我使用了'document.getElementsByName(「Name」)[0] .placeholder',但它仍然不能正常工作......我將用結果更新我的問題。儘管如此,謝謝你們! – nicorellius
@apsillers - 你會提供一個答案?我會接受它... – nicorellius