2009-04-22 16 views
0

フォームでjQuery日付ピッカーカレンダーを使用しています。提出されたフォームは、urlを介してparamsを第三者のサイトに渡します。 1つのことを除いて、すべてうまく動作します。 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]'; } " /> 

彼らはまだ日付の検証に関連する他のあらゆる種類の問題ですが、これは空白の値をチェックし、あなたの現在のコードの構造に基づいてデフォルトを返すために簡単な方法です。