外部JavaScript文件无法与母版页一起使用

时间:2015-04-22 15:07:21

标签: javascript html asp.net master-pages

我有一个外部javascript文件,如下所示:

function badCharCheck(name) {
var badChar = "!@#$%^&*()_+|-=\[]{};':<>?,./";

for (var i = 0; i < badChar.length; i++) {
    for (var j = 0; j < name.length; j++) {
        if (badChar[i] == name[j]) {
            alert("Bad characters are in the form");
            return false; 
        }
    }
}

return true;
}

function samesame(pass1, pass2) {
if (pass1 != pass2) {
    alert("Passwords are not the same");
    return false;
}
return true;
}

function checkLength(str, length) {
if (str.legnth =< length) {
    alert("Username must be at least 5 characters, password must be at least 8");
    return false;
}
return true;
}

function checkEmail(email) {
 if ((email.toString().indexOf("@") == -1) || (email.toString().indexOf(".") == -1)) {
    alert("Incorrect Email Address!");
    return false;
}
return true;
}

function validate() {
document.write("here");
var ok = true;
var username = document.getElementById("username").value;
var pass1 = document.getElementById("pass1").value;
var pass2 = document.getElementById("pass2").value;
var fname = document.getElementById("firstname").value;
var lname = document.getElementById("lastname").value;
var email = document.getElementById("email").value;

if (fname == "" || id == "" || phone == "" || email == "" || address == "" || lname == "")
{
    alert("One or more of the fields have been left empty!");
}
else {
    ok = badCharCheck(username);
    ok = badCharCheck(fname);
    ok = badCharCheck(lname);
    ok = samesame(pass1, pass2);
    ok = checkLength(username, 5);
    ok = checkLength(pass1, 8);
    ok = checkEmail(email);
    alert(ok); 
    if (ok) {
        document.getElementById("form1").submit();    
    }
}
return false;
}            

另外,我有一个aspx文件,它是母版页的一部分:

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master"     AutoEventWireup="true" CodeFile="Signup.aspx.cs" Inherits="_Default" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<h2>Registration</h2> <br />
<form action="" method="post" runat="server" id="form1" name="form1" onsubmit="return validate()">
    Username: <input type="text" id="username" name="username" maxlength="14" /> <br />
    Password: <input type="password" id="pass1" name="pass1" /> <br />
    Re-Enter Password: <input type="password" id="Pass2" name="pass2" /> <br />
    First Name: <input type="text" id="firstname" name="firstname" /> <br />
    Last Name: <input type="text" id="lastname" name="lastname" /> <br />
    Email: <input type="text" id="email" name="email" /> <br />

    <input type="reset" value="Clean Fields" />     
    <input type="submit" value="Register" name="submit" id="submit" />
</form>

我在母版页的head标记中添加了一行:

<script src="JScript.js" type="text/javascript"></script>

问题是,当我按下提交按钮时,javascript文件无效,即使我将所有字段留空,它仍会提交数据。

有什么问题?

0 个答案:

没有答案
相关问题