2012-11-28 13 views
0

我從網站上輸入的值定義是這樣的:獲取和設置從輸入採用javascript

<input type="text" name="postdb[title]" size="60" value id="title" class="input_text"> 

我已經試過這樣:

document.getElementsByName('postdb[title]')[0].value='test' 

這:

document.getElementById('title').value='test' 

但它不起作用,如何設置這個輸入的值使用javascript?

編輯:

我發現這個輸入insideof <form name="FORM..,所以如何找到它以這樣的形式使用JavaScript?

編輯:解決; 其實際上從內部的iframe的形式,所以我只是用這個:

var vform =document.frames['main'].document.forms['FORM']; 
vform.elements['title'].value='test'; thanks for help, 
+0

'getElementById()'適合我。看[這個小提琴](http://jsfiddle.net/8wLxm/)。也許你有另一個具有相同'id'的元素? – Sirko

+1

[兩者都應該工作](http://jsfiddle.net/CdUNA/)。代碼運行時DOM是否準備就緒? –

+2

我感覺DOM沒有準備好。 – gdoron

回答

0

你的DOM很可能還沒有加載。

<!-- this will fail --> 
<script type="text/javascript">var el = document.getElementById('element');</script> 
<div id="element"></div> 

上述示例將失敗,因爲我們正在嘗試搜索尚未加載的元素。容易犯的錯誤!

<!-- this will not --> 
<div id="element"></div> 
<script type="text/javascript">var el = document.getElementById('element');</script> 

通過在需要的DOM加載後運行javascript,我們能夠找到它。

0

使用本

<input type="text" name="postdb[title]" size="60" value="" id="title" class="input_text"> 

document.getElementById('title').value='test'; 
0

試試這個:

$(document).ready(function() { 
    document.getElementById('title').value = 'test'; 
}); 

演示這裏:JS Fiddle

0

雙方應該爲你工作,但是,要確保當你調用document.getElementById();document.getElementsByName();請問<input>元素在頁面中存在嗎?