Не срабатывает js функция при щелчке по div-у
Всем доброго дня, есть часть кода php, который в цикле формирует поля таблицы:
//прикрепляю ссылку на каждую картинку, при формировании html у каждой ссылки вызов функции с разными параметрами
echo
("
<div class = 'col'>
<div class = 'pic' onсlick = \"order_selected('".$result[$i][1]."', '".$result[$i][2]."')\">
<img class = 'image' src = '".$result[$i][0]."'/>
</div>
<div class = 'title'>".$result[$i][1]."</div>
<div class = 'description'>".$result[$i][2]."</div>
</div>
");
В коде браузера вызов формируется так:
<div class = 'pic' onсlick = "order_selected('тестовое сообщение', 'тестовое сообщение 2')">
Собственно сама функция. Её назначение - создание "модального окна" с вставкой в поля значения из массива $result по щелчку контейнера, указанного выше:
<script type="text/javascript">
function order_selected(var title, var description)
{
document.write
(
"<div id = 'win'>"+
"<div class = 'overlay'/>"+
"<div class = 'visible'>"+
"<form action = 'order.php' method = 'post'>"+
"<h3>Отправка заказа</h3>"+
"<div class = 'content'>"+
"<p>Вы выбрали:</p>"+
"<p name = 'title'>title</p>"+
"<p name = 'description'>description</p>"+
"<p>Email: <input type = 'text' name = 'email' /></p>"+
"</div>"+
"<input class = 'button' type = 'button' value = 'Отмена'/>"+
"<input class = 'button' type = 'submit' value = 'Отправить'/>"+
"</form>"+
"</div>"+
"</div>"
);
}
</script>
Пробовал вызывать в теле html документа:
<script type="text/javascript">
order_selected('бла бла бла', 'бла бла бла');
</script>
ничего не происходит как и через кликание div-а. |
Alex_M45,
2 строка var-ы уберите ... и попробуйте никогда document.write в функциях не использовать. |
function order_selected(title, description) - всё равно не срабатывает.
А в чем проблема такого использования? (на будущее запомнить) Знаю есть альтернатива через innerHTML, но этот код тоже должен работать по идее. |
Цитата:
document-write#только-до-конца-загрузки
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script>
function order_selected(title, description)
{
document.write
(
"<div id = 'win'>"+
"<div class = 'overlay'/>"+
"<div class = 'visible'>"+
"<form action = 'order.php' method = 'post'>"+
"<h3>Отправка заказа</h3>"+
"<div class = 'content'>"+
"<p>Вы выбрали:</p>"+
"<p name = 'title'>title</p>"+
"<p name = 'description'>description</p>"+
"<p>Email: <input type = 'text' name = 'email' /></p>"+
"</div>"+
"<input class = 'button' type = 'button' value = 'Отмена'/>"+
"<input class = 'button' type = 'submit' value = 'Отправить'/>"+
"</form>"+
"</div>"+
"</div>"
);
}
</script>
</head>
<body>
<script type="text/javascript">
order_selected('бла бла бла', 'бла бла бла');
</script>
</body>
</html>
|
т.е. document.write() это тот-же php только на стороне клиента и не годится для создания динамических страниц без перезагрузки и лучше использовать innerHTML, верно?
|
Цитата:
или создавать https://learn.javascript.ru/modifying-document |
Благодарю за ответы :thanks:
|
| Часовой пояс GMT +3, время: 11:09. |