很早就玩Javascript,Jquery和Validate。
我使用提交按钮onClick方法进行表单提交。
<input class="submit" type="submit" value="Submit" onClick="submitForm()" />
我正在使用提交,以防没有数据或每个字段都经过测试。
逻辑正在运行,但AJAX调用似乎不起作用。我已经将PHP剥离了
<?php
touch('phpTouch.txt');
phpinfo();
sleep(30;)
?>
javascript是
$(document).ready(function () {
$('#formEnquiry').validate();
});
function submitForm() {
$('#msgid').append('<h1>Submitting Form (External Routine)</h1>');
if ($('#formEnquiry').validate().form() ) {
$("#msgid").append("<h1>(Outside Ready) VALIDATED send to PHP</h1>");
$.ajax({
url: "testPHP.php",
type: "POST",
data: frmData,
dataType: "json",
success: function () {
alert("SUCCESS:");
},
error: function () {
alert("ERROR: ");
}
});
} else {
$('#msgid').append('<h1>(Outside Ready) NOT VALIDATED</h1>');
}
return false; // Prevent the default SUBMIT function occurring (is this a fact ??)
};
任何人都可以建议我做错了什么。
由于
答案 0 :(得分:0)
做这些事
将HTML标记上的 更改为onClick="submitForm()"
onclick="submitForm(event)"
现在像这样更改submitForm
函数。
function submitForm(evt) {
$('#msgid').append('<h1>Submitting Form (External Routine)</h1>');
if ($('#formEnquiry').valid() ) {
$("#msgid").append("<h1>(Outside Ready) VALIDATED send to PHP</h1>");
$.ajax({
url: "testPHP.php",
type: "POST",
data: frmData,
contentType: "application/json;",
success: function () {
alert("SUCCESS:");
},
error: function (a, b, c) {
alert(a.statusText);
}
});
} else {
$('#msgid').append('<h1>(Outside Ready) NOT VALIDATED</h1>');
}
evt.preventDefault();
};
请注意这些事情
.valid()
以确定表单有效期.preventDefault()
而不是return false;
(更多jQuery-ish)