我有以下代码在提交时验证该表单:
<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>电子邮件验证是有效的,但是如何在提交时验证整个表单?
关于:
发布于 2012-07-02 11:28:04
我对这个库不是很熟悉,但似乎您应该可以通过简单地添加:
{onlyOnSubmit: true } 作为要验证的每个元素的参数,例如:
var f20 = new LiveValidation('email');
f20.add( Validate.Email, {onlyOnSubmit: true });顺便问一下,你看过这一页吗?:http://livevalidation.com/examples#exampleForms
另外,您是为每个元素使用不同的脚本部分来验证(还是只以这种方式剪切和粘贴?)您可能可以在同一个脚本块中完成所有这些操作。
更新,扩展答案:
您可能会尝试修复代码中的一些问题,因为它们可能会给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的错误面板或调试工具。
https://stackoverflow.com/questions/11292175
复制相似问题