getElementById (). значение ничего не возвращает - PullRequest
2 голосов
/ 24 января 2010
<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', я не знаю почему, пожалуйста, помогите.

это строки "source", связанные с моими тегами 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 ]

1 голос
/ 24 января 2010

Я только что проверил ваш javascript через http://www.jslint.com -

Ошибка: Проблема в строке 5, символ 19: используйте «! ==» для сравнения с «нулем».

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

Подразумеваемый глобальный: документ 3,10,13, предупреждение 13

1 голос
/ 24 января 2010

Ах. Вы используете чистые числа в качестве идентификаторов элементов, что невозможно. Добавьте что-то впереди, например «row_30129» (к самому идентификатору и вызовам функции, конечно). Также добавьте кавычки к вызову addObs():

addObs('row_30129');

это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...