Javascript不是';t在jsp文件中工作

Javascript不是';t在jsp文件中工作,javascript,jsp,webproject,Javascript,Jsp,Webproject,我正在使用JSP进行一个web项目,我在google上了解了很多,发现了一个类似的问题,但没有任何解决方案 页面是在javascript执行之前提交的还是什么。 这是密码 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitio

我正在使用JSP进行一个web项目,我在google上了解了很多,发现了一个类似的问题,但没有任何解决方案

页面是在javascript执行之前提交的还是什么。 这是密码

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title> Registration</title>
    <link rel="stylesheet" href="style.css">
    <script>
    fun1(field)
    {
        if(field.value==""){alert("enter name");}
    }
    </script>
</head>
<body id="html">

<form method=post action=registerUser.jsp><center>
<br><br>
<section class="registration_form" >
<table id="tab1" bgcolor="#ffffff" width="60%" height="320%">
<td width="10%"></td><td><h1>Register here</h1></td>
        <tr><td width="20%"></td><td><label for="First Name">First Name</label>
        <input type="First Name" id="usernametxtbox" name="FirstName" onblur="fun1(this)" placeholder="enter First Name" required>
        </td></tr>
        <tr><td width="20%"></td><td><label for="Last Name">Last Name</label>
        <input type="Last Name" id="usernametxtbox" name="LastName" placeholder="enter Last Name" required>
        </td>
        </tr>
        <tr><td width="20%"></td><td>
        <label for="User Name">User Name</label>
        <input type="User Name" id="txtbox" name="UserName" placeholder="enter User Name" required></td>
        </tr>
        <tr><td width="20%"></td>
        <td><label for="usermail">Email</label>
        <input type="email" id="txtbox" name="usermail" placeholder="yourname@email.com" required></td></tr>
        <tr><td width="20%"></td><td>
        <label for="password">Password</label>
        <input type="password" id="txtbox" name="password" placeholder="password" required></td></tr>
        <tr><td width="20%"></td><td><label for="re-enter password">re-enter Password</label>
        <input type="password" id="txtbox" name="Re-enterpassword" placeholder="Re-enter password" required></td></tr>
        <tr><td width="20%"></td><tr height="10%"><td></td></tr>
        <tr><td width="20%"></td><td><label>Date of Birth:</label>
        <select name=birthday>
    <option> - Month - </option>
    <option value="January">January</option>
    <option value="Febuary">February</option>
    <option value="March">March</option>
    <option value="April">April</option>
    <option value="May">May</option>
    <option value="June">June</option>
    <option value="July">July</option>
    <option value="August">August</option>
    <option value="September">September</option>
    <option value="October">October</option>
    <option value="November">November</option>
    <option value="December">December</option>
</select>
<select name="DOBDay">
    <option> - Day - </option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
    <option value="11">11</option>
    <option value="12">12</option>
    <option value="13">13</option>
    <option value="14">14</option>
    <option value="15">15</option>
    <option value="16">16</option>
    <option value="17">17</option>
    <option value="18">18</option>
    <option value="19">19</option>
    <option value="20">20</option>
    <option value="21">21</option>
    <option value="22">22</option>
    <option value="23">23</option>
    <option value="24">24</option>
    <option value="25">25</option>
    <option value="26">26</option>
    <option value="27">27</option>
    <option value="28">28</option>
    <option value="29">29</option>
    <option value="30">30</option>
    <option value="31">31</option>
</select>
<select name="DOBYear">
    <option> - Year - </option>
    <option value="1998">1998</option>
    <option value="1997">1997</option>
    <option value="1996">1996</option>
    <option value="1995">1995</option>
    <option value="1994">1994</option>
    <option value="1993">1993</option>
    <option value="1992">1992</option>
    <option value="1991">1991</option>
    <option value="1990">1990</option>
    <option value="1989">1989</option>
    <option value="1988">1988</option>
    <option value="1987">1987</option>
    <option value="1986">1986</option>
    <option value="1985">1985</option>
    <option value="1984">1984</option>
    <option value="1983">1983</option>
    <option value="1982">1982</option>
    <option value="1981">1981</option>
    <option value="1980">1980</option>
    <option value="1979">1979</option>
    <option value="1978">1978</option>
    <option value="1977">1977</option>
    <option value="1976">1976</option>
    <option value="1975">1975</option>
    <option value="1974">1974</option>
    <option value="1973">1973</option>
    <option value="1972">1972</option>
    <option value="1971">1971</option>
    <option value="1970">1970</option>
    <option value="1969">1969</option>
    <option value="1968">1968</option>
    <option value="1967">1967</option>
    <option value="1966">1966</option>
    <option value="1965">1965</option>
    <option value="1964">1964</option>
    <option value="1963">1963</option>
    <option value="1962">1962</option>
    <option value="1961">1961</option>
    <option value="1960">1960</option>
    <option value="1959">1959</option>
    <option value="1958">1958</option>
    <option value="1957">1957</option>
    <option value="1956">1956</option>
    <option value="1955">1955</option>
    <option value="1954">1954</option>
    <option value="1953">1953</option>
    <option value="1952">1952</option>
    <option value="1951">1951</option>
    <option value="1950">1950</option>
    <option value="1949">1949</option>
    <option value="1948">1948</option>
    <option value="1947">1947</option>

</select></td>
</tr>
<tr><td></td></tr>
<tr><td></td></tr>
 <tr><td></td><td><label>Gender:</label><input type="radio" name="gender" value="male" checked > Male
        <input type="radio" name="gender" value="female"> Female</td>
        </tr>
    <tr><td width="20%"></td><td><input type="submit" value="register" id="butn">
    <tr><td></td></tr>
    <tr><td></td></tr>
    <tr><td></td></tr>
    <tr><td></td></tr>
    <tr><td></td></tr>
    <tr><td></td></tr>
    </table>
</section>
</center>
</form>

</body>
</html>

登记处
fun1(现场)
{
如果(field.value==“”){alert(“输入名称”);}
}


在这里注册 名字 姓 用户名 电子邮件 密码 重新输入密码 出生日期: -月份- 一月 二月 前进 四月 也许 六月 七月 八月 九月 十月 十一月 十二月 -日- 1. 2. 3. 4. 5. 6. 7. 8. 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 -年份- 1998 1997 1996 1995 1994 1993 1992 1991 1990 1989 1988 1987 1986 1985 1984 1983 1982 1981 1980 1979 1978 1977 1976 1975 1974 1973 1972 1971 1970 1969 1968 1967 1966 1965 1964 1963 1962 1961 1960 1959 1958 1957 1956 1955 1954 1953 1952 1951 1950 1949 1948 1947 性别:男 女性
也可以查看图像(包括服务器上执行的jsp页面)

我是否需要创建任何servlet控制器,如果需要,我应该更改什么?

几个问题

  • 您需要使用函数关键字:
    function fun1(field).
  • 使用提交事件而不是模糊-尤其是在模糊中发出警报时
  • ID必须是唯一的!您不能有两个
    id=“usernametxtbox”
  • 使用引号
  • 不能对没有ID的字段使用document.getElementById
  • 我建议如下:

    ...
    <head>
    <script>
    window.onload=function() {
      document.getElementById("myForm").onsubmit=function() {
        if (this.FirstName.value=="") {
          alert("Please enter name");
          return false; // cancel submit
        }
        if (this.LastName.value=="") {
          alert("Please enter name");
          return false; // cancel submit
        }
    
        return true; // allow submit
    
      }
    }
    </script>
    
    。。。
    window.onload=function(){
    document.getElementById(“myForm”).onsubmit=function(){
    if(this.FirstName.value==“”){
    警报(“请输入名称”);
    返回false;//取消提交
    }
    if(this.LastName.value==“”){
    警报(“请输入名称”);
    返回false;//取消提交
    }
    返回true;//允许提交
    }
    }
    
    使用

    
    
    查看您的代码,您可能希望执行以下操作:

    
    
    函数验证表单(表单){
    var First\u Name=form.First\u Name;
    var Last_Name=form.Last_Name;
    var UserName=form.UserName;
    var phoneNo=form.phoneNo;
    var password=form.password;
    var reenter\u password=form.reenter\u password;
    var email=form.email;
    var性别=形式性别;
    var title=form.title;
    var day=form.dobday;
    var月=形式月;
    var year=形式年;
    var atposition=email.value.indexOf(“@”);
    var dotposition=email.value.lastIndexOf(“.”);
    如果(First_Name.value==“”){
    警报(“名称不能为空”);
    First_Name.focus();
    返回false;
    }
    如果(!First_Name.value.match(/^[A-Za-z]+$/){
    警报(“名称包含无效字符!”);
    First_Name.focus();
    返回false;
    }
    如果(Last_Name.value==“”){
    警报(“名称不能为空”);
    Last_Name.focus();
    返回false;
    }
    如果(!Last_Name.value.match(/^[A-Za-z]+$/){
    警报(“名称包含无效字符!”);
    Last_Name.focus();
    返回false;
    }
    if(title&(title.selectedIndex<1 | | title.options[title.selectedIndex].value==“”){
    警告(“请选择标题”);
    title.focus();
    返回false;
    }
    /*用户名验证*/
    如果(UserName.value==“”){
    警报(“用户名不能为空”);
    UserName.focus();
    返回false;
    }
    /*无验证*/
    如果(phoneNo.value==“”){
    警报(“电话号码不能为空”);
    phoneNo.focus();
    返回false;
    }
    如果(!phoneNo.value.match(/^\d{10}$/){
    警报(“phoneNo应该只包含10个数字!”);
    phoneNo.focus();
    返回false;
    }
    /*电子邮件验证*/
    如果(email.value==“”){
    提醒(“请输入您的电子邮件”);
    email.focus();
    返回false;
    }
    如果(atposition<1 | | dotposition=email.value.length){
    警报(“请输入有效的电子邮件地址\n atposition:+atposition+”\n dotposition:+dotposition”);
    email.focus();
    返回false;
    }
    /*密码验证*/
    如果(password.value==“”){
    警报(“密码不能为空”);
    password.focus();
    返回false;
    }
    if(password.value.length<6){
    警报(“密码长度必须至少为6个字符。”);
    password.focus();
    返回false;
    }
    如果(重新输入\u password.value==“”){
    警报(“请重新输入密码”);
    重新输入_password.focus();
    返回false;
    }
    如果(!password.value.match(重新输入_password.value)){
    警告(“密码必须相同!”);
    返回false;
    }
    如果(!gender[0]。已选中&&!gender[1]。已选中){
    提醒(“请选择您的性别”);
    性别。焦点();
    返回false;
    }
    如果(天){
    如果(day.selectedIndex<1 | | day.options[day.selectedIndex]。值==“”){
    提醒(“请选择日期”);
    dobdate.focus();
    返回false;
    }
    }
    如果(月){
    如果(month.selectedIndex<1 | | month.options[month.selectedIndex]。值==“”){
    警报(“请选择月份”);
    格式为.dobmonth.focus();
    返回false;
    }
    }
    如果(年){
    如果(year.selectedIndex<1 | | year.options[year.selectedIndex]。值==“”){
    警告(“请选择年份”);
    dobyear.focus()格式;
    返回false;
    }
    }
    返回true;
    }
    
    这是无效的JS:
    <form id="myForm" method="post" action="registerUser.jsp">
    
    <form name="registration"  method="post" action="login.jsp" 
    onsubmit="return validateform(this);">