2013-09-30 3 views
0

У меня есть форма, которая находится в UpdatePanel, я ставлю маски на все мои поля даты как так:Дата стираются на постбэка

jQuery(function ($) { 
    //phone numbers 
    DoMasks();  
}); 

function DoMasks() { 
    //dates 
    var txtADate = $("#<%=txtADate.ClientID%>"); 
    $(txtADate).mask("99/99/9999"); 
    var txtDOB = $("#<%=txtDOB.ClientID%>"); 
    $(txtDOB).mask("99/99/9999"); 
} 

Когда я заполнить пустую форму и поставить adate в, и затем выберите раскрывающееся меню (которое вызывает обратную передачу), дата в текстовом поле adate будет стерта. когда я комментирую DoMasks(); все работает отлично, значит, должно быть что-то есть? Пожалуйста помогите.

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

ответ

1

Каков формат даты, переданной после обратной передачи? Если дата вернется как-то вроде 09-30-2013, эта маска очистит значение, так как оно ищет дату в формате 09/30/2013. (обратите внимание на косую черту)

Убедитесь, что ваши даты возвращаются с /. Вы можете сделать это, используя строку формата следующим образом:

myDate.ToString("MM/dd/yyyy") 
+0

гм, я думаю, он возвращается с, однако я типа в, так что в данном случае это будет 09/30/2013, поскольку это то, что форматирование JS является установлен в. Это новая форма, я не заполняю ее ничем, кроме того, что пользователь вкладывает. –

+0

спасибо! ты был прав! когда я набрал дату, он указал его в правильном формате, но когда я использую расширитель календаря для заполнения даты, он помещает его в 8/30 вместо 08/30. спасибо, что указал мне в правильном направлении! –

Смежные вопросы