document.getElemenyById не работает в одном файле, но работает в другом - PullRequest
0 голосов
/ 16 сентября 2009

эта функция работает в одном из моих файлов, но не работает в другом, я проверил все имена и т.д., но не смог найти .....

в первом файле

<script type="text/javascript" >
    function fillDataInCommand()
    {
//      var abc = document.myApp.getDataForCommand();
    var abc ="heelo syed ammar hassan is here";
        document.getElementById("commandtextarea").value = abc;
    }

</script>

<form id="form1" name="form1" method="post" action="">
  <label>
  <textarea name="commandtextarea" style="background-color:#CCCCCC" cols="80" rows="20" wrap="off" id="commandtextarea"></textarea>
  </label>
</form>

и в другом;

document.write ("<div align='center'><textarea name='commandtextarea' style='background-color:#EFEFEF' cols ='70' rows='20' rap='off' id='commandtextarea' readonly='readonly'>abc</textarea></div>");

alert(document.getElementById("commandtextarea").value.toString());

Ответы [ 3 ]

6 голосов
/ 16 сентября 2009

Это из-за функции document.write. После этого у вас не будет текстового поля в документе, и поэтому document.getElementById завершится ошибкой.

document.write операторы должны быть выполнены до завершения загрузки страницы. Это означает, что они должны быть либо в теле страницы, либо в функциях, вызываемых из тела страницы.

Любой оператор document.write, который выполняется после окончания загрузки страницы создать новую страницу и перезаписать все содержание текущей страницы.

0 голосов
/ 16 сентября 2009

Попробуйте оповещение (document.getElementByName ("commandtextarea"). Только значение.

0 голосов
/ 16 сентября 2009

Вы используете document.getElementByName во втором файле. Вы хотите использовать document.getElementById.

РЕДАКТИРОВАТЬ: вы были, по крайней мере.

...