联系表单验证问题(在发送按钮上绕过验证)

时间:2010-06-26 18:06:58

标签: javascript validation email forms live

我在联系表单上使用了livevalidation脚本。但是我不知道每当我点击提交或发送按钮时会出现什么问题。 它只检查下拉选择,其他字段为空,表单已经过验证。我检查了livevalidation网站上的每个例子,但没有帮助。我的工作不行...... 它不检查我所有领域的presense功能........我不知道该怎么做

您可以在线查看我的联系页面。link text

如果您需要代码,那么我在这里粘贴它太太........

表单代码在这里

 <div class="subFillC">
        <form id="form1" action="contactengine.php" method="post" name="form1">
          <p><label for="name">Name</label> <input type="text" name="name" id="Name" size=
          "30" /> </p>

          <p><label for="email">Email</label> <input type="text" name="email" id="Email" size=
          "30" /></p>

          <p><label for="web">Select Option</label> <select name="service" id="service">
            <option value="None" selected="selected">
              None
            </option>

            <option value="Website Design">
              Website Design
            </option>

            <option value="Website Redesign">
              Website Redesign
            </option>

            <option value="Logo/Corporate Design">
              Logo Design/Corporate Design
            </option>

            <option value="Other">
              Other
            </option>
          </select></p>

          <p><label for="email">What is <img src="images/cap.jpg" width="50" height=
          "15" /></label> <input type="text" name="cap" id="cap" size="30" /></p>

          <p><label for="message">Message</label>
          <textarea id="Messagefield" name="message" cols="30" rows="10"></textarea>

发送

最后我在form标签后面有脚本 在下面

new LiveValidation('Name',{wait:500})。add(Validate.Presence); new LiveValidation('Email',{wait:500})。add(Validate.Email); new LiveValidation('Messagefield',{wait:500})。add(Validate.Presence); var service = new LiveValidation('service',{onlyOnSubmit:true}); service.add(Validate.Exclusion,{within:[ '没有' ] } );

1 个答案:

答案 0 :(得分:1)

您未正确调用所有字段的验证。在调用add函数之前,必须创建一个LiveValidation对象的实例。

对于每个字段(Name,Email,MessageField),替换:

new LiveValidation('Name', { wait: 500 }).add(Validate.Presence);

使用:

var LV_Name = new LiveValidation('Name', { wait: 500 });
LV_Name.add(Validate.Presence);    

以下是完整的JS片段,其中LiveValidation放置在document.ready jQuery函数中,该函数将在DOM准备就绪时执行:

<script type="text/javascript" src="contact_files/jquery.js"></script>
<script type="text/javascript" src="contact_files/livevalidation_standalone.js"></script><!-- Let's do the animation -->
<script type="text/javascript">
//<![CDATA[
$(function() {

    var LV_Name = new LiveValidation('name',{ wait: 500 });
    LV_Name.add(Validate.Presence);

    var LV_Email = new LiveValidation('email', {onlyOnSubmit: true });
    LV_Email.add(Validate.Presence);

    var LV_Message= new LiveValidation('message', { wait: 500 });
    LV_Message.add(Validate.Presence);

    var service = new LiveValidation('service' , {onlyOnSubmit: true });
    service.add( Validate.Exclusion, { within: [ 'None' ] } );

    // set opacity to nill on page load
    $("ul#menu span").css("opacity","0");
    // on mouse over
    $("ul#menu span").hover(function () {
        // animate opacity to full
        $(this).stop().animate({
            opacity: 1
            }, 'slow');
        },
        // on mouse out
        function () {
            // animate opacity to nill
            $(this).stop().animate({
                opacity: 0
                }, 'slow');
            });
    });
//]]>
</script>