【问题标题】:contact form validation problem (Validation is bypassed on send button)联系表单验证问题(在发送按钮上绕过验证)
【发布时间】:2010-06-26 18:06:58
【问题描述】:

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

您可以在这里查看我的在线联系页面。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>

发送

最后我在表单标签后面有脚本 这是下面

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, { inside: [ '没有任何' ] } );

【问题讨论】:

    标签: javascript validation email forms live


    【解决方案1】:

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

    对于每个字段(姓名、电子邮件、消息字段)替换:

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

    与:

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

    这里是完整的 JS sn-p,其中 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>
    

    【讨论】:

    • 好的,现在我已经根据您的回答更改了所有代码,但仍然是同样的问题,它只显示选项字段的消息,它不检查其他字段的存在。 当您从下拉列表中选择除无以外的任何选项后单击提交按钮时。它会提交表单......
    • 你能给我你放置的代码吗,因为我这边的空值将进入 php 页面并且根本不检查存在。我是java初学者,所以请指导我在这里编写简单的代码
    • 是的,现在它可以工作了,对我来说是非常棒的帮助........我真的很需要它。
    • 虽然现在有一个问题,但我的联系表单验证工作但现在我的菜单项的悬停动画不起作用,我现在该怎么办.......有什么问题吗在这个功能码中
    猜你喜欢
    • 2021-08-17
    • 1970-01-01
    • 2023-03-05
    • 2019-01-20
    • 1970-01-01
    • 2023-03-06
    • 2012-08-23
    • 2012-09-19
    相关资源
    最近更新 更多