Я новичок в jQuery, и у меня возникла проблема при попытке создать форму.Я использую плагин Validation для проверки электронной почты (одно из полей формы).Когда я нажимаю кнопку «Отправить», я хочу вызвать свою собственную функцию, потому что я хочу сохранить данные в файле XML.
Это моя кнопка: (как я понял, плагин использует «submit» для понимания кнопки)
<input type="submit" name="submit" class="submit" id="submit_btn" value="Send"/>
, а вот скрипт для проверки:
<script type="text/javascript">
$(document).ready(function() {
//this is my form
$("#contactForm").validate();
/*save the valid data in the xml*/
$(".submit").click(function() {
var email = $("input#email").val();
var subject = $("input#subject").val();
var message = $("textarea#message").val();
if (email == "" || !$("#contactForm").valid()) {
return false;
}
var dataString = 'email='+ email + '&subject=' + subject + '&message=' + message;
//alert("DATA: " +dataString);
$.ajax({
type: "POST",
url: "SaveData.jsp",
data: dataString,
success: function(data){}
});
return false;
});
});
</script>
В целом все работает нормально, но у меня есть две основные проблемы.Когда я нажимаю кнопку в начале, когда все формы пусты, я не получаю сообщения для требуемого поля.Также, когда данные действительны, и я делаю отправку, форма не становится понятной после отправки.
Если я удалил этот код скрипта, эти действия работают правильно, но я не могу сохранить данные!
Кто-нибудь знает, что не так?
Большое спасибо!
Я наконец-то что-то нашел.Я изменил строку:
$(".submit").click(function() {....}
на эту:
submitHandler: function() { ....}
Так что теперь, когда я нажимаю кнопку, я получаю правильное сообщение для обязательного поля.Единственное, что я пока не нашел, это как очистить форму после отправки.Я знаю, как сделать это вручную в другой функции, но я увидел, что плагин тоже делает это.Поэтому я подумал, что, вероятно, лучше использовать тот, который есть у плагина.
Так кто-нибудь знает, что это не так?
Спасибо