【发布时间】:2017-02-27 02:56:32
【问题描述】:
我正在尝试使用 javascript 制作自定义警报,在函数中您将要重定向的位置放在哪里。这就是我所拥有的:
function CustomAlert(){
this.render = function(dialog, redirect){
var winW = window.innerWidth;
var winH = window.innerHeight;
var dialogoverlay = document.getElementById('dialogoverlay');
var dialogbox = document.getElementById('dialogbox');
dialogoverlay.style.display = "block";
dialogoverlay.style.height = winH+"px";
dialogbox.style.left = (winW/2) - (550 * .5)+"px";
dialogbox.style.top = "100px";
dialogbox.style.display = "block";
dialogbox.innerHTML = "<div id='dialogboxhead'><img src="/images/logo.png"></img></div> +
"<div id='dialogboxbody'>" + dialog + "</div>" +
"<div id='dialogboxfoot'><div class='alertokbtn'><button onclick='Alert.ok('" + redirect + "')'>OK</button></div></div>";
}
this.ok = function(redirect){
document.getElementById('dialogbox').style.display = "none";
document.getElementById('dialogoverlay').style.display = "none";
window.location = redirect;
}
}
var Alert = new CustomAlert();
这是我在 HTML 中建立来运行该函数的:
<div id="dialogoverlay"></div>
<div id="dialogbox">
<div>
<div id="dialogboxhead"></div>
<div id="dialogboxbody"></div>
<div id="dialogboxfoot"></div>
</div>
</div>
<button class="button" onClick="Alert.render('Alert test. This text can be anything by the way', 'https://google.com');" id="btn1">Get alert</button>
它会打开带有文本和所有内容的功能,但是当我按下确定时,它不会重定向我。
【问题讨论】:
-
粘贴您的完整代码。
-
dialogoverlay,dialogboxID 丢失 -
您粘贴的代码有语法错误,特别是未转义的引号。
-
您为确定按钮生成的 HTML 不正确。它看起来像
<button onclick='Alert.ok('...')'>OK</button>。你能看出哪里不对吗? (如果没有,请检查浏览器中的元素)。 -
@SumonSacker:那仍然无法生成正确的 HTML。
标签: javascript function innerhtml