Приношу извинения, если вопрос очевиден, но я не могу понять, почему он внезапно не работает. У меня есть jquery datepicker, который работал нормально, сколько я себя помню, но внезапно, когда я пытаюсь отправить форму, в которой datepicker находится на datepicker, снова появляется, как будто дата, которую я отправляю, недействительна.Я уже установил дату в стиле uk, используя следующую строку кода:
<script type="text/javascript">
$(document).ready(function () {
$('.date').datepicker({ dateFormat: "dd/mm/yy", minDate: 0 });
});
</script>
И я установил datepicker в моем представлении следующим образом:
@Html.TextBox("DateDue", "", new { @class = "date" })
Я думаю, что что-то требует, чтобы строка даты была выбрана в американском формате (поскольку она представит действительную дату сша (мм / дд / гггг), но не в формате UK, даже если он был установлен в javascript.
Я упустил что-то очевидное? Может ли кто-нибудь сказать мне, что я здесь делаю не так?
Не уверен, что это необходимо, но форма, в которой находится указатель даты, создается следующим образом:
@using (
Html.BeginForm(
Html.BeginForm(
"Create",
"Task",
FormMethod.Post,
new { id = "taskCreateForm" }
)
)
)
PS. Строка даты действительно работает и отправляет сообщения без проблем в Firefox, но не в Chrome
Любая помощь приветствуется
РЕДАКТИРОВАТЬ:
Проблема исчезает, когда я отключаю ненавязчивую проверку js:
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"
type="text/javascript"></script>
У меня было ощущение, что это как-то связано с этим, и я попытался удалить [Required] и [DataType (DataType.Date)] из аннотации модели, но это не помогло.
Не знаю, как оставить ненавязчивые js, а также чтобы строка даты uk работала нормально, но я больше и больше обращаюсь к написанию моей собственной проверки javascript для форм, чем к тому, чтобы даже возиться со встроенными средствами, которые, кажется, никогда не работают для чего-то более сложного, чем «обязательная» проверка достоверности.