当用户点击“提交”时,我正在使用标准的jQuery验证插件来验证表单。
在验证表单后,我希望它将数据发布到数据库并显示“成功”消息。
验证部分工作正常,但我不能让我的两个命令发生。我确定我错过了一些明显的东西。
这是我的代码:
<script type="text/javascript">
$("#formname").validate({
submitHandler: function (form) {
$.post('https://www.custom.api.url.com', $(this).serialize(), function () {
success.show();
$('input[type=text]').val('');
}
});
</script>
好的,拿两个。这个也不起作用:
<script type="text/javascript">
$(document).ready(function(){
var success = $('.success');
$("#formname").validate( {
submitHandler: function(form) {
$.post('https://www.custom.api', $(this).serialize(), function(){
success.show(); $('input[type=text]').val('');
});
});
});
</script>
答案 0 :(得分:0)
这是您的有效代码。看起来这也是你的主要问题,语法无效。
<script type="text/javascript">
$(document).ready(function(){
$("#formname").validate({
submitHandler: function(form) {
$.post('https://www.custom.api.url.com', $(form).serialize(), function () {
success.show(); //Undefined
$('input[type=text]').val('');
});
}
});
});
</script>
$(this).serialize()
也必须替换为$(form).serialize()
。
然后另外success
未定义,因此会出现另一个错误。但我不确定success
到底应该是什么。
您应该使用浏览器控制台来获取有关javascript错误的通知。要验证您的JavaScript,您还可以使用jsHint。