Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Ошибка в коде (https://javascript.ru/forum/misc/18235-oshibka-v-kode.html)

(Sandr) 22.06.2011 18:05

Ошибка в коде
 
Всем привет, подскажите, где ошибка в коде?

[JS]function del_cat(id_cat,yes)
{
	var no = 'res_cat'
	if(yes == 'yes')
	{
		document.getElementById(no).innerHTML = 'текст'
	}
	else
	{
		yes = 'yes'
		document.getElementById('res_cat').innerHTML = 'Вы уверены, что хотите удалить эту категорию?<br> -<a href="javascript:void(0)" onclick="del_cat('+id_cat+','+yes+')">Да</a><br>-<a href="javascript:void(0)" onclick="clear_div('+no+')">Нет</a>';
	}
}

function clear_div(div)
{
	document.getElementById(div).innerHTML='';
}[/JS]


При нажатии на ссылку "Нет" содержимо дива с id="res_cat" должно очищаться, а при нажатии на "Да", должно изменяться на "текст".

В FF выдаёт "document.getElementById(div) is null"

reutovo 22.06.2011 22:03

document.getElementById('res_cat').innerHTML = 'Вы уверены, что хотите удалить эту категорию?<br> -<a href="javascript:void(0)" onclick="del_cat(\'+id_cat+\',\'+yes+\')">Да</a><br>-<a href="javascript:void(0)" onclick="clear_div(\'+no+\')">Нет</a


Не забывайте об экранировании символов.

(Sandr) 22.06.2011 22:22

Не помогло((

reutovo 22.06.2011 23:44

function del_cat(id_cat,yes) - далее в тексте программы вы нигде не используете первый аргумент.

Переменная no у вас выполняет роль константы или должна принимать первый аргумент функции?

Мой вам совет, используйте
function $(id){ return document.getElementById(id); } //возвращает ссылку на объект
//пример использования
$('res_cat').innerHTML="ваш текст";

Идея стирать div и вместо него выводить сообщение - моветон.

(Sandr) 22.06.2011 23:55

Спасибо, попробую.

Цитата:

Сообщение от reutovo
Идея стирать div и вместо него выводить сообщение - моветон.

Функция clear_div() у меня не только для этого, она в других частях скрипта также используется.

B@rmaley.e><e 23.06.2011 01:42

Цитата:

Сообщение от (Sandr)
"document.getElementById(div) is null"

значит нет элемента с таким ID.


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