getElementById()。value什么都不返回

时间:2010-01-23 23:48:07

标签: php javascript html

<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>

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>

2 个答案:

答案 0 :(得分:1)

阿。您使用纯数字作为元素ID,这是不可能的。 在前面添加一些东西,比如“row_30129”(当然是ID本身和函数调用)。另外,在addObs()电话中添加引号:

addObs('row_30129');

应该有用。

答案 1 :(得分:1)

我刚刚通过http://www.jslint.com -

运行了您的javascript
  

错误:   第5行第19个问题:使用'!=='与'null'进行比较。

     

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

     

隐含的全球:文件3,10,13,警报13