2015-09-08 346 views
0

我想爲日曆做一個簡單的條件,如果其中一個已被選中,則必須選擇它們。post value null這樣做PHP

爲了解釋更多,如果startdate被選中,enddate也必須被選中。 因此,如果有人選擇2015年9月5日的開始日期並按下提交按鈕,則應顯示消息,也必須顯示結束日期。

因此,主要思想是,如果postdate值爲null,startdate和postdate值不爲null,則會顯示消息「請選擇兩個日期」。

但它不適合我,有人可以告訴我我犯了什麼錯誤,或者我怎麼能使它工作。

的Html ---

<form method="post"> 
    <div class="col-md-5"> 
     <input type="text" name="startdate" id="startdate" class="form-control datepicker"/> 
    </div> 
    <div class="col-md-5"> 
     <input type="text" name="enddate" id="enddate" class="form-control datepicker"/> 
    </div> 
    <span class="error" id="date-error"></span> 
    <button class="btn btn-default" id="submitButton"><i class="fa fa-sort"></i> {% trans %}Submit{% endtrans %}</button> 
</form> 

腳本---

$("#submitButton").on('click', function() { 
    if (($("#startdate").val().length == null) && ($("#enddate").val().length !== null)) { 
     $("#date-error").html("Please select the both date"); 
     event.preventDefault(); 
    } 
    if (($("#enddate").val().length == null) && $("#startdate").val().length !== null) { 
     $("#date-error").html("Please select the both date"); 
     event.preventDefault(); 
    } else { 

回答

2

你可以這樣做

$("#submitButton").on('click', function() { 

    startDate = $('#startdate').val(); 
    endDate = $('#enddate').val(); 

    if (startDate == '' && endDate == '') { 
     $("#date-error").html("Please select the both date"); 
     event.preventDefault(); 
    } 
    else if (endDate != '' && startDate== '') { 
     $("#date-error").html("Please select start date"); 
     event.preventDefault(); 
    } else if (startDate != '' && endDate== '') { 
     $("#date-error").html("Please select end date as well"); 
     event.preventDefault(); 
    } else { 
// do your rest stuff 

此代碼將檢查所有條件像這兩個日期不應該是空白的,開始日期和結束日期也不應該是空白的。

+0

謝謝你的很好的回答:) –

+0

@ChristoferHansen很高興它可以幫助你。 –

0

在表單標籤上提交onsubmit。除非&直到,CheckValidation()不正確。提交不會處理。

<form method="post" action='some-page.php' onsubmit="return CheckValidation();"> 
    <div class="col-md-5"> 
      <input type="text" name="startdate" id="startdate" class="form-control datepicker"/> 
     </div> 
     <div class="col-md-5"> 
     <input type="text" name="enddate" id="enddate" class="form-control datepicker"/> 
     </div> 
     <span class="error" id="date-error"></span> 
     <button type="submit" class="btn btn-default" id="submitButton"><i class="fa fa-sort"></i> {% trans %}Submit{% endtrans %}</button> 
</form> 

<script> 
    function CheckValidation() 
    { 
     var StartDateV=$('#startdate').val(); 
     var EndDateV=$('#enddate').val(); 
     if(StartDateV=="" && EndDateV=="")  
     { 
      alert("Select Both Date"); 
      return false; 
     } 
     if(StartDateV=="" && EndDateV!="")  
     { 
      alert("Select Start Date"); 
      return false; 
     } 
     if(StartDateV!="" || EndDateV=="")  
     { 
      alert("Select End Date"); 
      return false; 
     } 
    } 
</script>