English 中文(简体)
Javascript 标语表验证无效 - 未调用脚本吗?
原标题:Javascript form validation not working - Script not being called?

我有一个非常直截了当的 笔记本表格 验证脚本写:

      function validateForm(){
        var x=document.forms["contactForm"]["firstname"].value;
        if (x==null || x==""){
            return false;
        }

        var y=document.forms["contactForm"]["lastname"].value;
        if (y==null || y==""){
            return false;
        }

        var z=document.forms["contactForm"]["emailaddress"].value;
        var atpos=z.indexOf("@");
        var dotpos=z.lastIndexOf(".");
        if (atpos<1 || dotpos<atpos+2 || dotpos+2>=z.length){
            return false;
        }
        var msg_area = document.getElementById("message");
        msg_area.innerHTML = "";
        if (document.getElementById("message").value.length < 20) {
            return false;
        }
        else document.getElementById("contactForm").submit();
    }   

它应该验证这个表格的正确性:

 <form name="contactForm" onsubmit="return validateForm()" action="./thankyou.html" method="post">
        <label for="firstName">First Name <sup>*</sup></label>
        <input name ="firstname" id="firstName" type="text" placeholder="First Name" required />
        <label for="lastName">Last Name <sup>*</sup></label>
        <input name ="lastname" id="lastName" type="text" name="lastName" placeholder="Last Name" required />
        <label for="emailaddress">Email address <sup>*</sup></label>
        <input name="emailaddress" id="emailAddress" type="email" placeholder="[email protected]" required />
        <label for="message">Message<sup>*</sup></label>
        <textarea id="message" placeholder="Remember, be nice!" required></textarea>
        <input type="submit" name="submit" value="Email Me!" class="emailsub" />
        <p class="small"><sup>*</sup> denotes a required field.</p>
    </form>

当它提交时,它似乎根本不叫刺绣。 它唯一想要的就是它符合 html 的“要求” 部分。 我对刺绣很新, 所以它可能很明显地 问题在哪里, 但我自己找不到它。

任何帮助都是感激不尽的!

p. s. 这是用于当前本地网站的, 这样动作=" 就会转到另一个 html, 而不是一个页面来处理此信息。 问题可能在这里吗?

最佳回答

html5 “ 要求” 属性告诉浏览器在运行前要验证, < a href=" http://diveintohtml5. info/forms. html#validation" rel=“ nofollow” > 这里更多 。 这意味着它会在 Javascrip 函数被调用之前( 在支持的浏览器上) 停止事件, 除非它通过基本验证( 需要的字段和电子邮件) 。

如果您想要执行和进行自己的验证, 您需要删除“ 要求” 属性。 您也可以尝试更复杂的 html 格式验证 。 < a href=" http:// www. alistapart. com/ articles/ forward- thinking- form- validation/" rel=“ nofollow” 。 这是关于这个主题的一篇好文章。

问题回答

暂无回答




相关问题
CSS working only in Firefox

I am trying to create a search text-field like on the Apple website. The HTML looks like this: <div class="frm-search"> <div> <input class="btn" type="image" src="http://www....

image changed but appears the same in browser

I m writing a php script to crop an image. The script overwrites the old image with the new one, but when I reload the page (which is supposed to pickup the new image) I still see the old one. ...

Firefox background image horizontal centering oddity

I am building some basic HTML code for a CMS. One of the page-related options in the CMS is "background image" and "stretch page width / height to background image width / height." so that with large ...

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签