Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   не работает GetElementById в FF (https://javascript.ru/forum/misc/1980-ne-rabotaet-getelementbyid-v-ff.html)

nikitos 15.10.2008 01:43

не работает GetElementById в FF
 
Мне нужно через яваскрипт передать в поле value елемента <input type="hidden"> некое значение

function setStar(x)
{
y=x*1+1
if (set==false)
{
switch(x)
{
case "1": a="1"
flash(a);
break;
case "2": a="2"
flash(a);
break;
case "3": a="3"
flash(a);
break;
case "4":a="4"
flash(a);
break;
case "5":a="5"
flash(a);
break;
}
set=true;

document.getElementById('rating').value = x;

.........


<form id="add_comment" action="add_comment.php" method="post">
<input type="hidden" name="rating" value="">
</form>


Работает в ИЕ, Опера, но в ФФ пишет document.getElementById("rating") has no propeties...

Octane 15.10.2008 01:46

Так а где у Вас в коде id="rating" ?

Nikitos 15.10.2008 02:00

если добавить в хайд еще и id="rating" то в ФФ, ИЕ и Опере присваевает пустое значение

jsch 15.10.2008 07:37

ответ
 
в IE если нет элемента с атрибутом id="rating" он ищет элемент с атрибутом name="rating"
в FF такого нет

Zibba 15.10.2008 09:34

Хмм странно, так до конца и не разобрался в приведенном Вами коде (в следующий раз как минимум форматируйте его с помощью тегов пожалуйста) + не понял где кончается условие и функция, но это не суть важно.
Скорее всего Вы допустили ошибку где то в коде самой функции, т.к. у меня document.getElementById отрабатывает во всех браузерах правильно, в подтверждение этому следующий код (собранный из кусочков Вашего):
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>Untitled Document</title>
		<script type="text/javascript">
			function setStar(x){
				document.getElementById('rating').value = x;
			}
		</script>
	</head>
	<body>
		<form id="add_comment" action="add_comment.php" method="post">
			<input type="hidden" id="rating" name="rate" value="">
		</form>
		<script type="text/javascript">
			setStar(2);
			document.write(document.getElementById('rating').value);
		</script>
	</body>
</html>

nikitos 16.10.2008 09:44

Благодарю, Zibba. Все заработало!


Часовой пояс GMT +3, время: 04:43.