2017-04-19 151 views
0

的validate()我有類似HTML的這些麻煩與jQuery的

<form class="form-filter" id="form-filter-excel" role="form"> 
      <div class="row"> 
       <div class="col-md-4 col-sm-5"> 
        <label>Date range</label> 
        <div class="input-group input-daterange datepicker"> 
         <input id="fRange" name="fRange" class="form-control input-sm" type="text"> 
         <span class="input-group-addon bg-primary">to</span> 
         <input id="sRange" name="sRange" class="form-control input-sm" type="text"> 
        </div> 
       </div> 
       <div class="col-md-2 col-sm-1"> 
        <label> 
         &nbsp; 
        </label> 
        <a class="btn btn-wide btn-primary form-control" href="#" id="btnexport" ><i class="fa fa-file-excel-o"></i> Export To Excel</a> 
       </div> 
      </div> 
     </form> 

這裏結束我的屏幕拍攝 enter image description here

我的問題我想jQuery的使用的validate(),但我有點卡住我想使用class= "input-daterange"作爲字段,並根據需要輸入fRange和sRange。我如何做到這一點,如果我使用fRange和sRange作爲領域,錯誤按摩顯示混亂。任何想法??

UPDATE: 對不起,不是不清楚我的問題 我使用jQuery驗證這樣的

$('#form-filter-excel').validate({ 
      highlight: function(element) { 
       $(element).closest('.form-group').prop('required',true); 
      }, 
      unhighlight: function(element) { 
       $(element).closest('.form-group').prop('required',false); 
      }, 
      errorElement: 'span', 
      errorClass: 'help-block', 
      errorPlacement: function(error, element) { 
       if(element.parent('.input-group').length) { 
        error.insertAfter(element.parent()); 
       } else { 
        error.insertAfter(element); 
       } 
      }, 
      rules: { 
       fRange: { 
        required: true, 
        date: true 
       }, 
       sRange: { 
        required: true, 
        date: true 
       } 
      }, 
      messages: { 
       fRange: "Please insert these input", 
       sRange: "Please insert these input" 
      }, 
     }); 

     $('#btnexport').click(function() { 
      $('#form-filter-excel').valid(); 

      if($('#form-filter-excel').valid()==true) 
      { 
       var Fod = $('#fRange').val(); 
       var Tod = $('#sRange').val(); 

       window.open(host+"ajax/excelpoinfo?Fod=" + Fod +"&Tod=" + Fod, '_blank'); 
      } 
     }); 

但問題是錯誤的按摩下,我輸入沒有顯示,但顯示這樣的錯誤在我的屏幕上 enter image description here

我需要的是每個輸入下的錯誤按摩顯示。

更新: 我改變了主意,我使用甜蜜的警報,然後,tq幫助。對於Mayank Pandeyz,你沒有清楚地看到我的問題,就像我說的那樣,沒有幫助,即使你說換了換。仍然沒有工作。

+0

非常不清楚自己需要什麼。 –

+0

清楚地解釋你想達到的目標 – Aamir

+0

我編輯我的問題,很明顯,我想讓錯誤按摩顯示(放置)在每個我的輸入下。 – Wolfzmus

回答

0

在這兩個文本框中提供的名稱屬性與它的值,如:

<form id="frmDetails" name="frmDetails"> 
    <input type="textbox" name="fRange"> 
    <input type="textbox" name="sRange"> 
</form> 

並把驗證碼這些像:

$('#frmDetails').validate({ 
    rules: 
    { 
     fRange: { 
      required: true 
     }, 
     sRange: { 
      required: true 
     } 
    }, 
    messages: 
    { 
     fRange: { 
      required: "Please select fRange" 
     }, 
     sRange: { 
      required: "Please select sRange" 
     } 
    } 
}); 

Working Fiddle

+0

我的HTML是與你的不同,所以如果我使用你的代碼jquery,錯誤按摩不在這個地方。我在編輯我的問題,並且看到我的圖像位置錯誤按摩不到位。 – Wolfzmus

+0

檢查我的小提琴,其中有兩個錯誤信息標籤,你可以把這些標籤放在任何你想要的錯誤信息 –

+0

似乎你沒有understanidng我說什麼,我使用插件datepcikter和你沒有看到我的代碼html ??我正在使用input-group input-daterange datepicker,在你的代碼中沒有用於我的代碼。 – Wolfzmus