lihua18 2021-05-26 12:20 采纳率: 50%
浏览 38
已结题

响应到浏览器的html文件中js代码一旦绑定事件失效问题!

首先我这个是在学习web时用java手打的一个服务器小练习,传输html css文件都很成功,都可以在浏览器中访问并响应到,但我加入了js后,发现js代码无效,多次实验发现,js代码并不是全失效,而是在我绑定事件或标签后,就会导致整个js标签失效!!求解大神们!!!

下面时我的部分代码

存在js代码的html文件(其中代码多次试验 无误)

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
	<style >
		#unameError,#passwordError2,#emailError,#passwordError1{
			color: red;
			font-size: 12px;
		}
	</style>
</head>
<body>
<br /><br /><br />
<hr />
<form  id="form1" >
	<table id="table1" >
		<tr>
			<td><p style="color: black;">用户名</p></td>
			<td><input type="text" name="username" id="username1" maxlength="14"/></td>
			<td><span id="unameError">请输入6~14位账户</span></td>
		</tr>
		<tr>
			<td><p style="color: black;">密码</p></td>
			<td><input type="password" name="userpw" id="userpw1"/></td>
			<td><span id="passwordError1">请输入包含数字,英文,字符中的两种以上的密码</span></td>
		</tr>
		<tr>
			<td><p style="color: black;">确认密码</p></td>
			<td><input type="password" id="userpw2"/></td>
			<td><span id="passwordError2"></span></td>
		</tr>
		<tr>
			<td><p style="color: black;">邮箱</p></td>
			<td><input type="text" id="email"/></td>
			<td><span id="emailError">请输入正确规范邮箱</span></td>
		</tr>
		<tr align="center">
			<td colspan="2"><input type="button" value="登录" id="submit1"/>
				&nbsp;&nbsp;<input type="reset" value="重新输入" /></td>
		</tr>
	</table>



</form>
<script >
	alert("111111111111")
</script >
<script >

	window.onload=function(){
		var username1=document.getElementById("username1");
		var unameErrorElt=document.getElementById("unameError");

		username1.onblur = function(){
			var username1value = username1.value;
			username1value = username1value.trim();

			if(username1value===""){
				unameErrorElt.innerText="用户名不得为空";
			}else{
				if(username1value.length<6 || username1value.length>14){
					unameErrorElt.innerText="用户名字数应在6~14内";
				}else{
					var unameRegExp=/^[A-Za-z0-9]+$/;
					var ok = unameRegExp.test(username1value);
					if(ok){

					}else{
						unameErrorElt.innerText="用户名只能为字母或数字";
					}
				}
			}
		}
		username1.onfocus = function(){
			if(unameErrorElt.innerText != ""){
				username1.value="";
			}
			unameErrorElt.innerText="";
		}

		var userpw1Elt = document.getElementById("userpw1");
		var passwordEor1 = document.getElementById("passwordError1");
		userpw1Elt.onblur = function(){
			var userpw1value = userpw1Elt.value;

			userpw1value = userpw1value.trim()

			if(userpw1value === ""){
				passwordEor1.innerText="密码不得为空";
			}else{
				if(userpw1value.length<6 || userpw1value.length>14){
					passwordEor1.innerText="密码字数应在6~14中";
				}else{
					var upasswdRegExp=/^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)])+$).{6,14}$/;

					var pwok = upasswdRegExp.test(userpw1value);

					if(pwok){

					}else{
						passwordEor1.innerText="密码必须包含 数字,英文,字符中的两种以上";
					}
				}
			}
		}
		userpw1Elt.onfocus = function(){
			if(passwordEor1.innerText != ""){
				userpw1Elt.value="";
			}
			passwordEor1.innerText="";
		}

		var passwd2Elt = document.getElementById("userpw2");
		var passwordEor2 = document.getElementById("passwordError2");
		passwd2Elt.onblur = function(){
			var userpw1value = userpw1Elt.value;
			var userpw2value = passwd2Elt.value;

			if(userpw2value === ""){
				passwordEor2.innerText="请确认密码";
			}else{
				if(userpw1value != userpw2value){
					passwordEor2.innerText="不匹配";
				}else{

				}
			}
		}
		passwd2Elt.onfocus = function(){
			if(passwordEor2.innerText != ""){
				passwd2Elt.value="";
			}
			passwordEor2.innerText="";
		}


		var emailElt = document.getElementById("email");
		var emailErrorElt = document.getElementById("emailError");

		emailElt.onblur = function(){
			var emailvalue = emailElt.value;
			emailvalue = emailvalue.trim();
			if(emailvalue === ""){
				emailErrorElt.innerText="邮箱不得为空";
			}else{
				var emailRegExp = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
				var emailok = emailRegExp.test(emailvalue);
				if(emailok){

				}else{
					emailErrorElt.innerText="邮箱格式错误";
				}
			}
		}
		emailElt.onfocus = function(){
			if(emailErrorElt.innerText != ""){
				emailElt.value=""
			}
			emailErrorElt.innerText="";
		}

		var submitElt1 = document.getElementById("submit1");
		submitElt1.onclick = function(){
			username1.focus();
			username1.blur();

			userpw1Elt.focus();
			userpw1Elt.blur();

			passwd2Elt.focus();
			passwd2Elt.blur();

			emailElt.focus();
			emailElt.blur();
			if(unameErrorElt.innerText==""&&passwordEor1.innerText==""
					&&passwordEor2.innerText==""&&emailErrorElt.innerText==""){
				var formElt1 = document.getElementById("form1");
				formElt1.action="http://localhost:8080/oa/index";
				formElt1.submit();
			}else{
				window.alert("信息有误");
			}
		}
	}
</script>
</body>
</html>

可以看到我有个 alert() 他是可以实现的 但下面那个js标签全失效

然后我怀疑是不是响应头出错

out.print("HTTP/1.1 200 OK\n");
                    out.print("Content-Type:text/html;charset=utf-8\n\n");

但也试过改了那个type 但无效

实在时解决不出了 求解!

  • 写回答

1条回答 默认 最新

  • 孤独不是寂寞 2021-05-26 14:30
    关注

    你把红框中的内容去掉试试,我感觉是不是你的script标签写多了的原因,具体的js代码我没看;如果去掉还不行,你在53行上面加上alert();看看能不能弹出来,红框的部分一定要去掉。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月14日

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题