var modal = document.getElementById('myModal');
var modal2 = document.getElementById('myModal2');
var btn = document.getElementById("modalbutton");
var btn2 = document.getElementById("modalbutton2");
var span = document.getElementsByClassName("close")[0];
var span2 = document.getElementsByClassName("close2")[0];
btn.onclick = function() {
modal.style.display = "block";
}
btn2.onclick = function() {
modal2.style.display = "block";
}
span.onclick = function() {
modal.style.display = "none";
}
span2.onclick = function() {
modal2.style.display = "none";
}
HTML:
<button class="btn btn-default" id="modalbutton">Purchase low</button>
<button class="btn btn-default" id="modalbutton2">Purchase high</button>
问题:
当用户为低价付款时,低价按钮消失,但高价的模式按钮仍然保留。但是,单击它时模态不会打开。
错误:
未捕获到的TypeError:无法在
上将null的属性“ onclick”设置为btn.onclick = function() {
modal.style.display = "block";
}
答案 0 :(得分:0)
我想我找到了处理null的答案。所以我放了一张支票,
if (btn !== null){
btn.onclick = function() {
modal.style.display = "block";
}
}else{
btn2.onclick = function() {
modal2.style.display = "block";
}
}
模式将打开。 之后,单击关闭事件,它显示错误。说明低按钮未定义。所以我也放了一张支票
if (span !== undefined){
span.onclick = function() {
modal.style.display = "none";
}
}else{
span2.onclick = function() {
modal2.style.display = "none";
}
}
这是某种错误处理。如果有人有更好的方法来解决这个问题。请分享。