У меня есть форма, которая проверяется с помощью jQuery Validate, а затем отправляется на сторонний сайт подписки.
Я тоже пытаюсь опубликовать представление в другом месте.
Вот моя форма:
<form class="" action="http://www.fakelink.com/forms/userSubmit.jsp" method="post" id="providerDemoForm" accept-charset="UTF-8">
<fieldset>
<ul class="undecorated group">
<li>
<label for="fld_1_fn">First Name*</label>
<input type="text" name="First Name" id="fld_1_fn" class="required" onFocus="clearMsg();" />
</li>
</fieldet>
</form>
Вот мой сценарий проверки:
<script type="text/javascript">
function postCMFields() {
$.getJSON(
"http://sample.createsend.com/x/x/x/fmill/?callback=?",
$('#providerDemoForm').serialize()
);
}
$(document).ready(function() {
$("#providerDemoForm")[0].reset();
$("#providerDemoForm").validate({
errorClass: "fieldWithErrors",
validClass: "valid",
highlight: function(element, errorClass, validClass) {
$(element).parent("li").addClass(errorClass);
},
unhighlight: function(element, errorClass, validClass) {
$(element).parent("li").removeClass(errorClass);
},
errorContainer: "#formErrorMsg",
errorLabelContainer: "#messageBox",
wrapper: "li", debug:false,
submitHandler: function(form) {
$('#formErrorMsg').hide();
postCMFields();
form.submit();
},
invalidHandler: function(form, validator) {
$('#formErrorMsg').show();
}
});
});
</script>
Все отправляется, если у меня нет этой части getJSON (форма отправляет URL-адрес действия). Однако, если я добавлю функцию публикации содержимого с помощью JSON в URL моего монитора кампании, это не сработает. Кроме того, если я закомментирую "form.submit ()", данные будут опубликованы на мониторе кампании.
Есть что-то, что я пропускаю? Спасибо!