我做了很多研究,似乎无法找到答案。我希望你能帮助我。我有代码显示两个按钮,当您单击“确认”按钮时,它将显示弹出窗口并隐藏两个按钮。我似乎无法使按钮消失,弹出窗口工作正常。
function confirm() {
alert("Thank you for Confirming the Shipping Address. ");
var confirm_button = document.getElementsByName("confirm");
confirm_button.style.visibility="hidden";
var change_button = document.getElementsByName("change")
change_button.style.visibility="hidden";
HTML:
<input type="submit" name="confirm" value="Confirm Shipping Address" style="width: 180px; height: 35px" onclick="confirm()" >
答案 0 :(得分:1)
当你使用getElementsBy时......它返回一个元素列表,即使只有一个元素。 (getElementsBy中的复数元素将它放弃)。
所以你需要告诉它在列表中找到一个特定的。如果只有一个,你可以使用
document.getElementsByClassName('blah')[0]
或者你可以给你的元素一个id并以那种方式获得
<input type='button' id='blah'/>
document.getElementById('blah').style.visibility='hidden';
答案 1 :(得分:0)
就个人而言,我不是在线JavaScript的粉丝。这是一个如何在没有它的情况下做你想做的事情的例子:
//function confirm() {
//alert("Thank you for Confirming the Shipping Address. ");
//var confirm_button = document.getElementsByName("confirm");
//confirm_button.style.visibility="hidden";
//var change_button = document.getElementsByName("change")
//change_button.style.visibility="hidden";
//}
$("#confirm").off().on("click", function(){ // <-- so it doesnt bind on each click
var changeElem = $("#change");
$(this).hide();
changeElem.hide();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<input type="submit" id="confirm" name="confirm" value="Confirm Shipping Address" style="width: 180px; height: 35px" >
<input type="submit" id="change" value="Change Shipping Address" style="width: 180px; height: 35px" >
&#13;
希望这会有所帮助:)