一个单击html时隐藏两个按钮的javascript代码

时间:2014-11-22 21:07:49

标签: javascript html

我做了很多研究,似乎无法找到答案。我希望你能帮助我。我有代码显示两个按钮,当您单击“确认”按钮时,它将显示弹出窗口并隐藏两个按钮。我似乎无法使按钮消失,弹出窗口工作正常。

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()" >

2 个答案:

答案 0 :(得分:1)

当你使用getElementsBy时......它返回一个元素列表,即使只有一个元素。 (getElementsBy中的复数元素将它放弃)。

所以你需要告诉它在列表中找到一个特定的。如果只有一个,你可以使用

document.getElementsByClassName('blah')[0]

或者你可以给你的元素一个id并以那种方式获得

<input type='button' id='blah'/>
document.getElementById('blah').style.visibility='hidden';

答案 1 :(得分:0)

就个人而言,我不是在线JavaScript的粉丝。这是一个如何在没有它的情况下做你想做的事情的例子:

&#13;
&#13;
//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;
&#13;
&#13;

希望这会有所帮助:)