#c# #jquery #model-view-controller #validation
#c# #jquery #модель-представление-контроллер #проверка
Вопрос:
Проблема заключается в том, что я получаю сообщение об ошибке, ошибка среды выполнения Microsoft JScript: объект не поддерживает свойство или метод ‘validate’. Не удалось выяснить, почему. Есть предложения?
<form id="ContactUs" class="float-left" autocomplete="off">
<div class="box-content">
<div id="Department-List" class="field clearfix">
<select id="DepartmentList" size="1" name="DepartmentList" class="required">
<% foreach(var options in (List<string>)ViewBag.DepartmentList) { %>
<option id="<%:options%>" value="<%:options%>" ><%:options%></option>
<% } %>
</select>
</div>
<div class="field clearfix">
<label class="float-left">NAME:</label>
<input type="text" id="Name" class="required full-width text radi-4" minlength="3"/>
</div>
<div class="field clearfix">
<label class="float-left">PHONE:</label>
<input type="text" id="Phone" class="required PhoneNumbers full-width text radi-4" />
</div>
<div class="field clearfix">
<label class="float-left">EMAIL:</label>
<input type="text" id="SendersEmail" class="required email full-width text radi-4"/>
</div>
<div class="field clearfix">
<label class="float-left">ACCOUNT #:</label>
<input type="text" id="AccountNumber" class="full-width text radi-4" />
</div>
<div class="field clearfix">
<label class="float-left">QUESTIONS:</label>
<textarea id="QuestionBox" rows="4" cols="25" class="required full-width text radi-4"></textarea>
</div>
<div class="field clearfix">
<input id="submit-inventory-request-button" type="submit" name="Submit" value="Send" class="submit next-step toggle-btn radi-3 arrow-icon" />
</div>
Когда я пытаюсь отправить форму, я получаю сообщение об ошибке от функции $(‘#ContactUs’).validate() .
<script type="text/javascript">
$(document).ready(function () {
$('#ContactUs').validate({
errorElement: 'span',
success: 'valid',
error: 'error',
submitHandler: function() {
var contact = {
DepartmentList: $('#DepartmentList').val()
, Name: $('#Name').val()
, Phone: $('#Phone').val()
, SendersEmail: $('#SendersEmail').val()
, RequestersEmail: $('#RequestersEmail').val()
, AccountNumber: $('#AccountNumber').val()
, QuestionBox: $('#QuestionBox').val()
, TermsCheckBox: $('#TermsCheckBox').val()
};
var req;
req = DT.ajaxData('/Ajax/ContactUs/', 'POST', JSON.stringify(contact));
// if the ajax request is successful, then display the success message and redirect the page
req.done(function(data) {
console.log(data);
$("#partial").dialog('close');
$("#SuccessMessage").dialog({ buttons: { "Ok": function() { $(this).dialog("close"); } } });
});
return false;
}
});
})
Ответ №1:
Нет встроенной функции jQuery с именем validate
. Однако он доступен из нескольких плагинов. Например
Правильно ли вы включили плагин на свою страницу?
Комментарии:
1. Только что выяснил, что кто-то еще допустил ошибку. Спасибо!
Ответ №2:
При использовании Visual Studio самый простой способ — использовать расширение NuGet для загрузки jQuery. Если у вас его нет, вы можете найти его по адресу www.codeplex.com и установите его. Затем перейдите в Сервис -> Диспетчер пакетов библиотеки -> Управление пакетами NuGet в Visual Studio и выполните поиск jQuery. Как только это будет установлено, папка сценария в вашем проекте будет содержать необходимые файлы.
Измените путь в вашем файле view.cshtml, чтобы указать на текущую версию jQuery, например 1.7.1 в этом случае