Ну, проще говоря, это не работает:
<script>
alert("You are about to send email to the client! Do you want to proceed?");
var frame = document.getElementById("iframeMailer");
frame.src = "qr.php";
</script>
Когда пользователь нажимает «ОК», источник iframe не загружается.
Между прочим, определяется следующим образом:
<iframe src = "example.php" height=130 width=50% frameBorder = "0" seamless name = "iframeMailer" id = "iframeMailer"></iframe>
Ваш javascript вверху или внизу страницы? Я бы попробовал поместить его ниже iframe на случай, если проблема связана с загрузкой iframe, который еще не загружен, но javascript уже ссылается на него.
Отвечает ли это на ваш вопрос? почему не запускается простой javascript-код?
Вы должны поставить javascript перед тегом "тело"
<script>
alert("You are about to send email to the client! Do you want to proceed?");
var frame = document.getElementById("iframeMailer");
frame.src = "qr.php";
</script>
</body>
Прежде всего, используйте confirm
вместо alert
, потому что alert
не может получать ввод от пользователя. Ваш код должен быть примерно таким
<script>
function queryFrame () {
var frame = document.getElementById("iframeMailer");
if (confirm("You are about to send email to the client! Do you want to proceed?")) {
frame.src = "qr.php";
}
}
window.addEventListener("DOMContentLoaded", queryFrame())
</script>
И HTML:
<iframe height=130 width=50% frameBorder = "0" seamless name = "iframeMailer" id = "iframeMailer"></iframe>
Вероятно, дубликат: stackoverflow.com/questions/3730159/…