簡體   English   中英

如何在JavaScript中僅在給定的月份和日期顯示按鈕?

[英]How can a button visible only on given month and date in javascript?

我希望按鈕僅在給定的日期和月份可見,否則要隱藏它。 還希望在首次單擊后禁用該按鈕。 我怎樣才能做到這一點? 我試過下面的代碼,但沒有幫助我。

Javascript:

<script type="text/javascript">
     function today()
        {
        var currentTime = new Date()
        var month = currentTime.getMonth() + 1
        var day = currentTime.getDate()
        var d = new Date();
        var curr_hour = d.getHours();
        var curr_min = d.getMinutes();


    if(month==1 && day==1)
{ 
document.getElementById('xx').style.visibility='visible';
}
else
{
document.getElementById('xx').style.visibility='hidden';
}
}
</script>

HTML:

<form method=post action="update_registration.jsp" name="form1">
<input type="image" SRC="/Patankar/PNH/images/click_anim.gif"   id="xx"  onClick='today();' ALT="Submit Form" style="visibility:hidden;display:none" >
</form>

請僅選擇一種顯示樣式,例如可見的XOR顯示。 然后

window.onload = function() {

    // you manipulation with date wich set varibale canClick to true if all ok or to false otherwise 

    if (canClick)
    {
       var button = document.getElementById('xx');
      button.style.display = 'block'; //if you choose visibility - button.style.visibility= 'visible';
      button.onclick = function() {this.disabled = false}
    }

}

使用document.getElementById('xx')。style.display ='none'; 或document.getElementById('xx')。style.display ='block';

我建議對任何Javascripting使用jQuery,因為它可以與所有主要瀏覽器兼容。 然后,您可以執行以下代碼:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">    
    $(document).ready(function () {
        var now = new DateTime();
        var month = 1;
        var day = 1;
        if(now.Month == month && now.Day == day)
        {
            $('#itemToHide').css('display', 'visible');
        }
        else
        {
            $('#itemToHide').css('display', 'hidden');
        }
        $('#itemToHide').click(function () {
            $(this).css('display','hidden');
            $(this).attr('disabled','true');
        }  
    });
</script>

如果將其放入代碼部分,請提供要隱藏id屬性的按鈕,並將上面腳本中的itemToHide更改為您賦予元素的任何ID

編輯:您還需要從按鈕中刪除display:none樣式。

編輯:只是添加了代碼,以便在單擊時將其隱藏。

希望這可以幫助

如果您想在第一次單擊后禁用按鈕,它應該是這樣的(使用jQuery):

 $('#xx').click(function(){
     $(this).attr('disabled','true');
 }  
    setInterval(function(){
        document.getElementById('abc').style.visibility='hidden';
    }, (new Date(new Date().toDateString())-  new Date(2011, 7, 19) 
/* the date on which button should be hidden*/))

即使從前一天到日期的頁面保持打開狀態,此代碼也將隱藏按鈕。 修改代碼以恢復效果。

無需jQuery

不管這個演示如何,它都能完美運行: http : //jsfiddle.net/enWEM/

在輸入中,您有2個可見性選項(可見和顯示),僅使用一個

接下來,您必須運行同樣缺少的javascript代碼

您的代碼確實是完美的,首先刪除輸入元素中的任何一個id屬性,您編寫了兩個id可能會使腳本感到困惑,

<input type="image" SRC="/Patankar/PNH/images/click_anim.gif"   id="xx"  id="return1" onClick='today();' ALT="Submit Form" style="visibility:hidden;display:none" >

id="xx"  id="return1"

刪除其中的任何一個並在腳本中進行相應的更改,然后進一步使用顯示(而不是可見性)並禁用按鈕的使用,

document.getElementById("xx").disabled=true;

希望這應該工作。

問候,
卡爾提克

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM