3

我正在尝试在 HTML 表单上运行表单验证,以确保此人已填写这两个字段。我在这里整理了一个 JSFiddle:

http://jsfiddle.net/yCqqj/

它以前对我有用,我不知道现在发生了什么。我制作了一个 JSFiddle 以将其从我的网站中拉出,以确保没有其他内容与它发生冲突,但我现在意识到它在代码中。这两个字段分别是名称“电子邮件地址”和“名称”,看起来我正在正确检查它们的值。基本上,如果他们将任一字段留空,我正在寻找警报(而不是表单的提交)。感谢您帮助我找出问题所在。我很感激。

function ValidateForm(){
    var emailID=document.MailingList.emailaddress
    var nameID=document.MailingList.Name

        if ((nameID.value==null)||(nameID.value=="")){
        alert("Please Enter your Name");
        nameID.focus();
        return false;
    }

    if ((emailID.value==null)||(emailID.value=="")){
        alert("Please Enter your Email ID");
        emailID.focus();
        return false;
    }
 }

​ 即使没有返回true,表单仍然提交。

4

3 回答 3

4

问题是您尚未在该Head部分中定义 ValidateForm 。我已经编辑了 jsfiddle.check演示

于 2012-12-02T17:22:16.907 回答
0

我可以看到两个问题:

首先,什么是echeck?如果我拿走该代码,它将起作用。其次,您不应该在控制 nameID.value 后返回。如果您这样做,您对 emailID.value 的控制将无法完成。

于 2012-12-02T17:37:14.240 回答
0

搭载 Behnam 的回答,这是因为 ValidateForm 没有像他所说的那样在头部定义。但这里是如何解决它:

在 jsfiddle 中,在 Frameworks & Extensions 的左上角区域中,将其设置为 no-wrap 。然后更新并设置为基础以保存您的更改。

在此处输入图像描述

于 2015-09-13T17:36:19.210 回答