У меня есть веб-форма asp с несколькими отправками.Есть набор полей, к которым я тоже хочу присоединить валидатор, но у меня много проблем с ним.Я не могу заставить кнопку отправки срабатывать, потому что сообщения об ошибках валидатора не исчезнут, независимо от того, верен ли ввод или нет.Первоначально я пытался присоединить валидатор к #emailForm-content
, но валидатор вообще не работает, поэтому мне пришлось использовать #emailForm .validate
.
html
<div id="emailForm" style="display:none;">
<div id="emailForm-content">
<fieldset>
<h3>Email to a Friend:</h3>
<p>
<label for="to">To:</label>
<input id="to" class="validate" type="email" required="required" />
</p>
<p>
<label for="from">From:</label>
<input id="from" class="validate" type="email" required="required" />
</p>
<p>
<label for="message">Message:</label>
<textarea id="message" name="message"></textarea>
</p>
<button type="submit" id="submit">Submit</button>
<button type="button" id="cancel">Cancel</button>
</fieldset>
</div>
<div id="emailForm-thankyou" style="display:none;">
<p>Thank you</p>
</div>
</div>
jquery
<script type="text/javascript" src="http://www.example.com/javascript/jquery.tools.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#emailForm .validate').validator();
$('#emailForm #submit').submit(function (e) {
var form = $(this);
if (!e.isDefaultPrevented()) {
$.ajax({
type: "POST",
url: "http://www.example.com/components/handlers/FormRequestHandler.ashx/EmailFormRequestHandler",
data: JSON.stringify(form),
dataType: 'json',
cache: false,
success: function (msg) {
if (msg) {
$('emailForm-content').hide();
$('emailForm-thankyou').show();
}
},
error: function (msg) {
form.data("validator").invalidate(msg);
}
});
}
e.preventDefault();
});
});
</script>