2014-07-07 79 views
0

我試圖爲我無權訪問的表單設置佔位符屬性。我想使用該字段的名稱來填充此字段。有誰知道一種方法來使用JavaScript來做到這一點。使用javascript設置表單字段佔位符屬性

這是表單字段的HTML:

<input type="text" onchange="checkdep(this);" onblur="validatefield(this);" value="" name="First Name" class="formTextfield" id="First_Name">

我能夠做到這一點使用的getElementById,但想一些東西,而不必單獨設置它在表單中的所有字段工作每個領域。

http://jsfiddle.net/XF6wT/5/

感謝

+0

如果頁面只有一種形式,你可以得到它使用[*形式*](http://www.w3.org/html/wg/drafts/html/master/dom.html#dom-document-forms)集合:'document.forms [0]'。然後,您可以使用[* elements *](http://www.w3.org/html/wg/drafts/html/master/forms.html#dom-form-elements)集合遍歷表單中的所有控件。然後,您可以計算出哪些是您希望添加佔位符的輸入元素。 – RobG

回答

0

嘗試這樣

var inputs = document.getElementsByTagName('input'); 
for (index = 0; index < inputs.length; ++index) { 
    inputs[index].setAttribute('placeholder', inputs[index].getAttribute("name")); 
} 

JsFiddle

一些事情,如果你需要將它限制成一種嘗試

var inputs = document.forms["form_name"].getElementsByTagName("input"); 
+1

謝謝,這只是我所要求的。我已經在這裏建議的解決方案,因爲它處理一些可用性問題,出現http://bradfrostweb.com/blog/post/float-label-pattern/ – KeirRoyale

0

你應該使用:

document.getElementById("First_Name").setAttribute('placeholder', document.getElementById("First_Name").getAttribute("name")); 

你需要這個......我不知道..

檢查:

更新:http://jsfiddle.net/XF6wT/6/

如果您需要表單的所有標籤,那麼您可以找到表單的所有標籤,並通過for循環添加此標籤。

+0

對不起,正確的鏈接在這裏 http://jsfiddle.net/XF6wT/5/ – KeirRoyale

+0

謝謝,但這仍然要求我命名每個特定的元素。如果可能,我想要一些適用於表單中每個輸入的東西。 http://jsfiddle.net/XF6wT/7/ – KeirRoyale