2010-09-14 17 views
0

我有一個帶有3個字段「dateFrom」和「dateto」的html表單和iam使用jquery datepicker這個字段.Iam使用表單驗證插件並驗證必填字段。在jQuery中使用日期選擇器的問題

$(document).ready(function(){ 
$("#dateFrom").datepicker({ dateFormat: 'dd-M-yy' }); 
$("#dateto").datepicker({ dateFormat: 'dd-M-yy' }); 
}); 

標記:

<input id="dateFrom" name="dateFrom" type="text" class="validate[required] TextBox" size="10" readonly=true 
    value='<?php !empty($_POST[ 'dateFrom' ]) ? $_POST[ 'dateFrom' ] : '' ?>' > 
<input id="dateFrom" name="dateto" type="text" class="validate[required] TextBox" size="10" readonly=true 
    value='<?php !empty($_POST[ 'dateto' ]) ? $_POST[ 'dateto' ] : '' ?>' > 

所以我的問題是,當我選擇的日期選擇器,並選擇它仍然給錯誤 「必填字段」的基礎,因爲從一個提示文本框的日期驗證插件 但我在文本框中輸入了日期。我試着刪除文本字段 屬性的值並沒有刪除的提示。怎麼做我刪除提示

+0

檢查輸入的ID,它們是相同的:id =「dateFrom」,這是不好的!如果你想用名字來調用元素,可以這樣做:$(「input [name ='dateto']」)。這個字符#意味着ID! – 2010-09-14 14:46:14

回答

1

嘗試是這樣的:

$(document).ready(function(){ 

    // Checking input value onchange event 
    $("input").change(function(){ 
     if ($(this).val() != '') { 
      // action to remove your prompt goes here 
      // if you need just to remove class "validate[required]": 
      $(this).removeClass('validate[required]'); 
     } 
    }); 

    $("#dateFrom").datepicker({ dateFormat: 'dd-M-yy' }); 
    $("#dateto").datepicker({ dateFormat: 'dd-M-yy' }); 

}); 

這段代碼可以讓你檢查每次<input />元素值你改變它。 所以,如果它是空的,我們什麼也不做,如果它填滿了,你會看到你的提示 - 我們刪除提示。

+1

爲了關閉提示$ .validationEngine.closePrompt($(this));表單驗證插件 – Someone 2010-09-14 15:06:28