我有以下代码来验证提交表单:
<form enctype='multipart/form-data'
action='ad_posting_process.php'
method='post'>
Price: <input type=text name=price
id="price" style=width:90px;>
<script type="text/javascript">
var f3 = new LiveValidation('price');
f3.add( Validate.Numericality );
</script>
Email: <input type=text name=email
id="email" style=width:240px;>
<script type="text/javascript">
var f20 = new LiveValidation('email');
f20.add( Validate.Email );
</script>
<script type="text/javascript">
var title = new LiveValidation( 'title', {onlyOnSubmit: true } );
title.add( Validate.Email );
var field2 = new LiveValidation( 'price', {onlyOnSubmit: true } );
field2.add( Validate.Acceptance );
var field3 = new LiveValidation( 'email', {onlyOnSubmit: true } );
field3.add( Validate.Presence );
</script>
<input type=submit name=action value=Post>
</form>
电子邮件验证工作正常,但如何在提交时验证整个表单?
问候:
答案 0 :(得分:3)
我对这个库并不是很熟悉,但似乎你应该可以通过简单地添加:
{onlyOnSubmit: true }
作为要验证的每个元素的参数,例如:
var f20 = new LiveValidation('email');
f20.add( Validate.Email, {onlyOnSubmit: true });
你顺便看过这个页面吗?:http://livevalidation.com/examples#exampleForms
另外,您是否使用不同的脚本部分来验证每个元素(或者它们是否仅以这种方式剪切和粘贴?)。你可以在同一个Script-block中完成所有这些。
更新,扩展回答:
您可能尝试修复代码的一些问题,因为它们可能会导致JS出现问题:
确保以下列方式之一关闭每个html元素。
<input></input>
<input />
您的代码可能看起来像这样:
<form enctype="multipart/form-data"
action="ad_posting_process.php"
method="post">
Price: <input type="text" name="price"
id="price" style="width:90px;">
Email: <input type="text" name="email"
id="email" style="width:240px;">
<script type="text/javascript">
var f3 = new LiveValidation('price');
f3.add( Validate.Numericality );
var f20 = new LiveValidation('email');
f20.add( Validate.Email );
var title = new LiveValidation( 'title', {onlyOnSubmit: true } );
title.add( Validate.Email );
var field2 = new LiveValidation( 'price', {onlyOnSubmit: true } );
field2.add( Validate.Acceptance );
var field3 = new LiveValidation( 'email', {onlyOnSubmit: true } );
field3.add( Validate.Presence );
</script>
<input type="submit" name="action" value="Post" />
</form>
另外,请检查浏览器是否存在任何与javascript相关的错误。大多数现代浏览器都有js的某种形式的错误面板或调试工具。