Ошибка в коде
Всем привет, подскажите, где ошибка в коде?
[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" |
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 del_cat(id_cat,yes) - далее в тексте программы вы нигде не используете первый аргумент.
Переменная no у вас выполняет роль константы или должна принимать первый аргумент функции? Мой вам совет, используйте function $(id){ return document.getElementById(id); } //возвращает ссылку на объект //пример использования $('res_cat').innerHTML="ваш текст"; Идея стирать div и вместо него выводить сообщение - моветон. |
Спасибо, попробую.
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 08:04. |