2009-04-22 66 views
0

我在窗體中使用jQuery日期選擇器日曆。一旦提交,表單將通過網址傳遞給第三方網站。一切工作正常,除了一件事。 如果datepicker日曆中插入日期字段的值隨後被刪除,或者頁面加載時的表單中的默認日期被刪除且表單已提交,我會收到以下錯誤:jQuery/JavaScript日期表單驗證

「從字符串「」轉換爲「日期」類型無效。「

我的問題的解決方案非常簡單,我想驗證提交日期的文本字段,併發送默認日期(當前日期),如果該字段爲空爲任何原因。問題是我在Javascript中很糟糕,無法弄清楚如何做到這一點。

以下是我的日期字段的表單代碼。

[var('default_date' = date)] 
<input type="text" id="datepicker" name="txtdate" value="[$default_date]" onfocus="if (this.value == '[$default_date]') this.value = '';" onchange="form.BeginDate.value = this.value; form.EndDate.value = this.value;" /> 
      <input type="hidden" name="BeginDate" value="[$default_date]"/> 
      <input type="hidden" name="EndDate" value="[$default_date]"/> 

回答

3

這真的很老了,可能已經解決了,但是到底是什麼。

最簡單的方法是在輸入的onchange事件中添加一點javascript。當然

onchange="if(this.value.length > 0) { form.BeginDate.value = form.EndDate.value = this.value; } else { form.BeginDate.value = form.EndDate.value = '[$default_date]'; } " /> 

他們還在各種與日期驗證相關的其他問題,但是這是檢查空值和返回基於當前的代碼結構默認的簡單方法。