2010-01-23 57 views
2
<td id="'.$row['id'].'"style="display: none;"> 
    <input id="addEdit" type="text" value="" size="4"/> 
</td> 
<td> 
    <input name="add" value="A" type="submit" onClick="addObs('.$row['id'].'); return false;"/> 
</td> 

getElementById()。value returns nothing

function addObs(id) 
{ 
    var addEditTD = document.getElementById(id); 

    if (addEditTD != null && addEditTD.style.display == 'none') 
    { 
     addEditTD.style.display = ''; 
    } 

    if (addEditTD.style.display == '' && document.getElementById('addEdit').value != "") 
    { 
     //some code 
     alert(document.getElementById('addEdit').value); 
    } 
} 

我沒有收到'addEdit'輸入文本的任何值,我不知道爲什麼,請幫忙。

這是關係到我的HTML標籤的 「源」 線:

<td id="30129"style="display: none;"> 
<input id="addEdit" type="text" value="" size="4"/></td> 
<td> 
<input name="add" value="A" type="submit" onClick="addObs(30129); return false;"/> 
</td> 

回答

1

啊。您使用純數字作爲元素ID,這是不可能的。 在前面添加一些內容,比如「row_30129」(當然還有ID本身和函數調用)。此外,加引號的addObs()電話:

addObs('row_30129');

,應該工作。

+0

我已經編輯主哨,我不'噸知道爲什麼我在這裏couldn't添加HTML。 關於行[i]行,我認爲這樣可以,因爲id正確地傳遞給JS函數 – Claudiu 2010-01-24 00:08:01

+0

我編輯了答案。 – 2010-01-24 00:10:03

+0

我不明白與通過document.getElementById('addEdit')無法獲得價值的東西有關的事情 – Claudiu 2010-01-24 00:15:47

1

我只是通過http://www.jslint.com跑到你的JavaScript -

Error: Problem at line 5 character 19: Use '!==' to compare with 'null'.

if (addEditTD != null && addEditTD.style.display == 'none')

Implied global: document 3,10,13, alert 13

+0

我已經修改了,謝謝你的jslint.com網站;) – Claudiu 2010-01-24 00:08:53

相關問題