2011-12-09 4 views
1

Я использую календарь DHTML в своем приложении. при нажатии на дату есть действие отправки формы.Как отключить нажатие календаря после первого щелчка? [Отредактировано для решения]

Я хочу отключить календарь после первого щелчка, чтобы пользователь не мог нажать другую дату перед отправкой формы.

мой код

<SCRIPT type="text/javascript"> 

function dateChanged(calendar) 
{ 
    // Beware that this function is called even if the end-user only 
    // changed the month/year. In order to determine if a date was 
    // clicked you can use the dateClicked property of the calendar: 
    if (calendar.dateClicked) { 
    // OK, a date was clicked, redirect to /yyyy/mm/dd/index.php 
    var y = calendar.date.getFullYear(); 
    var m = calendar.date.getMonth() + 1; // integer, 0..11 
    var d = calendar.date.getDate(); // integer, 1..31 
    var NewDate = y + "-" + m + "-" + d; 
    document.getElementById("<?=$mydata[FILTER]?>").value = NewDate; 
    submitForm(); 
} 




    var tempDate = new Date(<?=$CalDate?>); 
    Calendar.setup({ 
      flat  : "<?=$mydata[FILTER]?>_show_date",  // ID of the parent element 
      flatCallback:dateChanged,           // our callback function 
      weekNumbers:false,            // Don't display week numbers 
      date  : tempDate  
        // Set calendar to start at selected date 
     }); 

    document.getElementById("<?=$mydata[FILTER]?>").value = '<?=$mydata[FILTER]?>'; 

я сделал решение этой я отключил ДИВ и все дети DIV используя код

**var nodes = document.getElementById("13-1_show_date").getElementsByTagName('*'); 
for(var i = 0; i < nodes.length; i++) 
{            
nodes[i].disabled = true; 
}  
submitForm();** 

этот код отключит div и его детей после первого щелчка.

ответ

1

Эта проблема является классической проблемой, и существует множество способов:

  1. Используйте временную переменную isClciked и установите его верно в первый щелчок, и в последующих кликов, проверьте его, и если это true, то просто return;.
  2. На первом выполнении обработчика щелчка, отключить весь каландр (это само по себе есть много способов)
+0

мы можем сделать это. , но проблема в том, что пользователь должен видеть, что календарь отключен и больше не может быть нажат до отправки формы. –

+0

Тогда просто сделайте это с помощью CSS. –

+0

Вы можете быть более ясными, пожалуйста. css, как мы можем блокировать клики Я не хочу скрыть календарь. –

Смежные вопросы