Не работает getElementsByName
Вот это записывает в ячейки undefined вместо введенного в инпуты текста:
<script> function month() { var x = document.getElementsByName("month").value document.getElementById("a3").innerHTML = x } function year() { var y = document.getElementsByName("year").value document.getElementById("b3").innerHTML = y } </script> <table width="400" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="100">Ячейка 1</td> <td width="200"><input type="text" name="month" /></td> <td width="100"><input type="button" value="Ввести" onclick="month()" /></td> </tr> <tr> <td>Ячейка 2</td> <td><input type="text" name="year" value=""/></td> <td><input type="button" value="Ввести" onclick="year()" /></td> </tr> </table> <table width="600" border="1" cellspacing="0" cellpadding="0"> <tr> <td align="center" id="a3">Data1</td> <td align="center" id="b3">Data2</td> </tr> </table> В чем косяк?) |
getElementsByName
разве из названия метода не понятно, что он возвращает? |
не понял....
|
Elements - элементы .
|
SunYang,
Имеется ввиду, что getElementsByName возвращает имена элементов, а не их value, просто создай форму с инпутами, дай им имена, и передавай их value. |
Цитата:
|
Этот метод принимает в качестве аргумента строку, указывающую имя (т.е. значение атрибута name) соответствующего элемента.
|
Цитата:
|
Цитата:
|
Цитата:
|
PeaceCoder,
к сожалению, Вы ничего не путаете. В Internet Explorer. |
Не менее интересные вещи происходят и с document.getElementsByTagName:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>title</title> <style type="text/css">img {border: dashed red 1px;width: 10px;height: 10px;display: block;margin: 10px}</style> </head> <body> <script> document.body.appendChild(document.createElement("img")); document.body.appendChild(document.createElementNS("http://www.w3.org/1999/xhtml","html:img")); document.body.appendChild(document.createElementNS("http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd","html:img")); </script> <script> alert(document.getElementsByTagName("img").length); alert(document.getElementsByTagNameNS("*", "img").length); </script> </body> </html> IE6: честно показывает одну картинку, сообщает в первом алерте «1», второй даже не показывает. Fx: показывает три картинки, говорит сначала «1», потом «3». Op: показывет две картинки, говорит оба раза «3». |
Ещё в IE по getElementsByTagName можно получить комментарии и doctype.
getElementsByTagName('!') |
<script type="text/javascript"> function month() { var x = document.getElementsByName("month") document.getElementById("a3").innerHTML = x[0].value; } function year() { var y = document.getElementsByName("year") document.getElementById("b3").innerHTML = y[0].value; } </script> <table width="400" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="100">Ячейка 1</td> <td width="200"><input type="text" name="month" /></td> <td width="100"><input type="button" value="Ввести" onclick="month()" /></td> </tr> <tr> <td>Ячейка 2</td> <td><input type="text" name="year" value=""/></td> <td><input type="button" value="Ввести" onclick="year()" /></td> </tr> </table> <table width="600" border="1" cellspacing="0" cellpadding="0"> <tr> <td align="center" id="a3">Data1</td> <td align="center" id="b3">Data2</td> </tr> </table> |
Часовой пояс GMT +3, время: 09:57. |