JavaScript按钮不起作用

时间:2015-09-16 21:42:06

标签: javascript jquery html

我是使用JavaScript的新手,所以请耐心等待。到目前为止,我只完成了Codecademy上发现的不同课程。

因此,我尝试为您需要用户的网站制作一个注册表单。我在互联网上发现了一个非常酷的,我改变了一点,并使用了jQuery中的Datepicker。它看起来像这样:

Sign Up Form

我有代码检查用户是否填写了不同的字段,但它似乎没有用。在我的index.html文件中,我包含了以下文件:

<script src="js/signupsubmit.js"></script>

在表格底部我这样做:

<div>
    <p id="sign_user" onClick="Submit()">Sign Up</p>
</div>

到目前为止一切都很好。在JavaScript中,我有以下代码:

function Submit() {
    var emailRegex = /^[A-Za-z0-9._]*\@[A-Za-z]{2,5}$/;
    var fname = document.form.Name.value,
        lname = document.form.LastName.value,
        femail = document.form.Email.value,
        freemail = document.form.enterEmail.value,
        fpassword = document.form.Password.value,
        dateObject = $("#datepicker").datepicker(
        {
            onSelect: function()
            {
                var dateObject = $(this).datepicker('getDate');
            }
        });
    if( fname == "") {
        document.form.name.focus();
        document.getElementById("errorBox").innerHTML = "Enter First Name";
        return false;
    }
    if( lname == "" )
    {
        document.form.LastName.focus() ;
        document.getElementById("errorBox").innerHTML = "Enter Last Name";
        return false;
    }

    if (femail == "" )
    {
        document.form.Email.focus();
        document.getElementById("errorBox").innerHTML = "Enter your Email Address";
        return false;
    }else if(!emailRegex.test(femail)){
        document.form.Email.focus();
        document.getElementById("errorBox").innerHTML = "Enter a Valid Email Address";
        return false;
    }

    if (freemail == "" )
    {
        document.form.enterEmail.focus();
        document.getElementById("errorBox").innerHTML = "Re-enter the Email Address";
        return false;
    }else if(!emailRegex.test(freemail)){
        document.form.enterEmail.focus();
        document.getElementById("errorBox").innerHTML = "Re-enter a Valid Email Address";
        return false;
    }

    if(freemail !=  femail){
        document.form.enterEmail.focus();
        document.getElementById("errorBox").innerHTML = "The Email Addresses don't Match!";
        return false;
    }


    if(fpassword == "")
    {
        document.form.Password.focus();
        document.getElementById("errorBox").innerHTML = "Enter a Password";
        return false;
    }

    if(dateObject == null) {
        document.form.datepicker.focus();
        document.getElementById("errorBox").innerHTML = "Please Enter a Birthday";
    }
}

我在尝试阅读Datepicker时有点不稳定。但除此之外,你能否发现这个谜题中可能缺少的东西?当我按下蓝色&#34;注册&#34;按钮,字面上没有任何反应。如果需要,我可以提供更多信息。

1 个答案:

答案 0 :(得分:3)

您在处理表单时出错:正确的公式不是document.form,而是document.forms[0]。或者甚至更好,我建议你给表单一个特定的唯一名称,并用这个名称来表示:

HTML:

<form name="mydata">...</form>

使用Javascript:

var fm=document.forms.mydata

另外,请注意小写/大写字母:Javascript中的标识符区分大小写,这意味着输入“Name”必须始终作为“Name”进行寻址(您错误地将该标识符写入行document.form.name.focus())。