【发布时间】:2009-06-15 18:36:54
【问题描述】:
我正在按照link text 的教程设置验证
我的表单动作脚本如下:
<form method="POST" action="formproc_to_paypal.php" id="example"
target="_self" onsubmit="CalcAmount (this); ReadForm(this);" name="example">
当我将操作行删除/更改为“”(如教程所示)时,验证工作正常。知道为什么该操作导致它无法验证吗?
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>
<style type="text/css">
label { width: 10em; float: left; }
label.error { float: none; color: red; padding-left: .5em; vertical-align: top; }
p { clear: both; }
.submit { margin-left: 12em; }
em { font-weight: bold; padding-right: 1em; vertical-align: top; }
</style>
<script>
$(document).ready(function(){
$("#example").validate();
});
</script>
【问题讨论】:
-
可以发布更多细节,比如验证逻辑吗?我最初的猜测是您在提交时调用了两个验证函数,如果第一个有效,它将跳过第二个。但是没有细节就很难说了……
-
迈克,你可能是对的。在我的 PHP 脚本中,我有一个类似的函数,PHP 脚本调用表单变量,然后将它们转发给 PayPal。这会干扰验证吗?
-
我认为迈克是对的。您明确定义的 onsubmit 事件可能会破坏通过 jQuery 调用的 validate() 函数。试着把它们拿出来看看会发生什么?另请记住,本教程没有操作属性,因为它不是实时表单。通读文档的其余部分,因为“教程”并不是真正实现的好例子。
-
这是有道理的——但如果我需要两个调用变量,我将如何拥有它们。这甚至可能吗?