2009-04-22 3 views
0

Я использую календарь выбора даты jQuery в форме. После отправки формы передает параметры вместе через URL-адрес на сторонний сайт. Все работает отлично, за исключением одного. Если значение, вставленное в поле даты календарем 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

Это действительно старый и, вероятно, решенный, но что за черт.

Простейший способ сделать это - добавить немного javascript к событию onchange ввода.

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

, конечно, их до сих пор все виды других проблем, связанных с проверкой даты, но это простой способ проверить на пустое значение и возвращает значение по умолчанию, основываясь на текущей структуре кода.