Я пытаюсь выполнить следующую задачу:
1. Создание модального поля при щелчке по кнопке #emailJQButton (предположим, эта кнопка уже существует).
2. Проверьте входные данные из формы # emailPost2, чтобы убедиться, что они существуют и имеют правильный формат электронной почты.
3. Если ввод действителен, при нажатии # eb2 отправьте форму через Ajax (не нужно возвращать какие-либо данные, только отправьте) и закройте модальное окно.
Проблемы, с которыми я сталкиваюсь:
1. $("button, input:submit, input:button, a#jql, input:radio").button();
перестает работать, если я сделаю одно из них: $(document).ready(function() {...});
(кнопка () находится в обычном $(function() {...});
)
2. Независимо от того, как я это пробую, я не могу заставить форму прекратить отправку и показать сообщение об ошибке, когда оно недействительно.
Вот плагин, который я использую: http://bassistance.de/jquery-plugins/jquery-plugin-validation/
Вот проверяемая форма:
<form action="php/emailPost.php" method="POST" class="inline" id="emailPost2">
<label name="error"></label>
<input type="text" value="Enter an Email" class="required email" name="emailAddress" style="display: inline-block;">
<input type="button" value="Email" id="eb2"/>
<input type="hidden" name="passedCoupID" value="1"/>
</form>
Вот весь мой код jQuery:
$(function() {
$("button, input:submit, input:button, a#jql, input:radio").button();
$('#emailJQButton').click(function() {
$("#emailModal").dialog('open');
});
$('#eb1').click(function() {
$('#emailPost').submit();
$("#emailModal").dialog('close');
});
$('#eb2').click(function() {
$('#emailPost2').submit();
$("#emailModal").dialog('close');
});
});
Вышеприведенное не работает на самом деле так, как я хочу, но это последний работающий код, который у меня был - он отправляет формы, игнорирующие проверку, и работает нормально. Мне просто нужно изменить его, чтобы подтвердить адрес электронной почты.
Вот файл, который отправитель должен вызвать (emailPost.php)
<?php
$passedCoupID = $_REQUEST["passedCoupID"];
$emailAddress = $_REQUEST["emailAddress"];
//some database queries and an email function
echo "Sent.";
?>
Наконец, вот #emailModal:
<div id="emailModal">
<form action="php/emailPost.php" method="POST" class="inline" id="emailPost2">
<label name="error"></label>
<input type="text" value="Enter an Email" class="required email" name="emailAddress" style="display: inline-block;">
<input type="button" value="Email" id="eb2"/>
<input type="hidden" name="passedCoupID" value="1"/>
</form>
</div>
Я довольно новичок в jQuery, и я искал всегда и везде, но я не могу найти решение этой проблемы. Любая помощь?