首先我这个是在学习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"/>
<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 但无效
实在时解决不出了 求解!