2015-12-19 3 views
-4

** этот код не работает IE11, дающий ошибку: SCRIPT5007: невозможно получить свойство 'style' неопределенной или нулевой ссылки Файл: result.html, Line: 7, Column: 1, но этот код плавно работает в ie8.I хочу запустить его IE11 browser.If код неправильный, почему он запускается без каких-либо ошибок в IE8. Какие необходимые изменения необходимы в коде или настройке браузера IE11 для запуска этого кода? Я снова подтверждаю что этот же код работает плавно IE8-браузер, как это возможно? **этот код не работает IE11

<html> 
 
<head><title></title></head> 
 
<body> 
 
<script> 
 
function ff() 
 
{ 
 
document.getElementById('error').style.visibility="visible"; 
 
var rollno8=new Array('01','02','03','04','05','06','07','08','09','10'); 
 
var studentname8=new Array('ARUP DEY','B','C','D','E','F','G','H','I','J'); 
 
var fathersname8=new Array('DULAL CH. DEY','B','C','D','E','F','G','H','I','J'); 
 
var studentmarks8=new Array('50','60','55','65','70','74','75','52','45','89'); 
 
var m=document.getElementById('rollnumber').value; 
 
var errormessage=document.getElementById('showerrormessage'); 
 
if(m=="") 
 
{ 
 
document.getElementById('showerrormessage').style.visibility="visible"; 
 
errormessage.innerHTML="PLEASE PROVIDE YOUR ROLL NUMBER"; 
 
} 
 

 
else 
 
{ 
 
for(i=0;i<=9;i++) 
 
{ 
 
var student_name=document.getElementById('studentname'); 
 
var student_fname=document.getElementById('studentfname'); 
 
var student_rollnumber=document.getElementById('studentno'); 
 
var student_marks=document.getElementById('studentmarks'); 
 
var student_status=document.getElementById('studentstatus'); 
 
var a=studentname8[i]; 
 
var b=rollno8[i]; 
 
var c=fathersname8[i]; 
 
var d=studentmarks8[i]; 
 
if(m==b) 
 
{ 
 
document.getElementById('error').style.visibility="hidden"; 
 
document.getElementById('getresult').style.visibility="visible"; 
 
student_name.innerHTML=a; 
 
student_rollnumber.innerHTML=b; 
 
student_fname.innerHTML=c; 
 
student_marks.innerHTML=d; 
 
if(d>=50) 
 
{ 
 
student_status.innerHTML="PASS"; 
 
} 
 
else 
 
{ 
 
student_status.innerHTML="FAILED"; 
 
} 
 
} 
 

 
else 
 
{ 
 
var ok=1; 
 
} 
 

 
} 
 

 
if(ok==1) 
 
{ 
 
document.getElementById('showerrormessage').style.visibility="visible"; 
 
errormessage.innerHTML="THIS ROLL NUMBER DOES NOT EXIST"; 
 
} 
 

 
} 
 
} 
 

 

 
function resetMyResult() 
 
{ 
 
document.getElementById('getresult').style.visibility="hidden"; 
 
document.getElementById('showerrormessage').style.visibility="hidden"; 
 
} 
 
</script> 
 
<form name="result"> 
 
<table align="center"style="border-color:black"border="2px"name="showmyresultform"> 
 
<tr> 
 
<td style="background-color:#cceecc;font-size:12px;font-weight:bold">ROLL NUMBER</TD> 
 
<TD style="background-color:#cceecc"><INPUT TYPE="TEXT"name="rollnumber"value=""size="20"maxlength="2"></td> 
 
</tr> 
 
<tr> 
 
<td colspan="2" style="background-color:#cceecc"align="center"><input type="button"value="SUBMIT"style="background-color:green"onclick="ff()"> 
 
<input type="reset"value="RESET"style="background-color:green"onClick="resetMyResult()"></td> 
 
</tr> 
 
</table> 
 
</form> 
 

 
<form name="getresult"style="visibility:hidden"> 
 
<table style="border-color:black"border="2px"name="showmyresult"align="center"> 
 
<tr> 
 
<td style="background-color:green;font-size:12px;font-weight:bold;color:white">STUDENT'S NAME :</td><td><div id="studentname"style="background-color:#cceecc;color:black;font-size:12px;font-weight:bold"align="center"></div></td> 
 
</tr> 
 
<tr> 
 
<td style="background-color:green;font-size:12px;font-weight:bold;color:white">FATHER'S NAME :</td><td><div id="studentfname"style="background-color:#cceecc;color:black;font-size:12px;font-weight:bold"align="center"></div></td> 
 
</tr> 
 
<tr> 
 
<td style="background-color:green;font-size:12px;font-weight:bold;color:white">ROLL NO. :</td><td><div id="studentno"style="background-color:#cceecc;color:black;font-size:12px;font-weight:bold"align="center"></div></td> 
 
</tr> 
 
<tr> 
 
<td style="background-color:green;font-size:12px;font-weight:bold;color:white">MARKS OBTAINED :</td><td><div id="studentmarks"style="background-color:#cceecc;color:black;font-size:12px;font-weight:bold"align="center"></div></td> 
 
</tr> 
 
<tr> 
 
<td style="background-color:green;font-size:12px;font-weight:bold;color:white">STATUS :</td><td><div id="studentstatus"style="background-color:#cceecc;color:black;font-size:12px;font-weight:bold"align="center"></div></td> 
 
</tr> 
 
<tr> 
 
<td colspan="2"align="center"><div id="showprint"><input type="button"value="PRINT"onClick="print()"style="background-color:#ccffff;font-size:12px;font-weight:bold;color:black"></div> 
 
</table> 
 
</form> 
 
<form name="error"> 
 
<table align="center"> 
 
<tr> 
 
<td> 
 
<div id="showerrormessage"style="background-color:;font-size:14px;font-weight:bold;color:RED" align="center"value=""></div> 
 
</td> 
 
</tr> 
 
</table> 
 
</form> 
 
</body> 
 
</html>​

+0

Если вы может, переместить ваш JavaScript на самое дно в теле или разместить его внутри document.onload , факт состоит в том, что ошибка вашего элемента узла не существует, когда вы определяете свою функцию ff() –

+0

@ThiagoMelo Это не имеет никакого значения, когда функция определена. Это имеет значение только тогда, когда оно называется. – JJJ

ответ

0

, если вы хотите получить доступ к элементу с идентификатором например document.getElementById ('ошибка') Пожалуйста, установите идентификатор элемента HTML.

<form id="error"> 

вам может понадобиться применить данное исправление во многих местах в вашем HTML, как вы назначаете имя HTML-элемента, но доступ к элементу с помощью getElementById

1

Несколько вопросов ..

а) Вы звоните: document.getElementById('error'), но у вас действительно нет элементов с идентификатором, равным error. Что у вас есть в DOM: <form name="error">.

Изменить код: document.getElementsByName('error')[0].style.visibility="visible";

б) То же самое с document.getElementById('rollnumber').value. Изменение <INPUT TYPE="TEXT"name="rollnumber"value=""size="20"maxlength="2"> к <INPUT TYPE="TEXT" id="rollnumber" value="" size="20" maxlength="2">

с) Пожалуйста следовать стандартам HTML5 о отделяя HTML атрибуты пробелом:

..there must be a space character separating the two

http://www.w3.org/TR/html5/syntax.html#start-tags

Полный код здесь:

<html> 
<head><title></title></head> 
<body> 
<script> 
function ff() 
{ 
document.getElementsByName('error')[0].style.visibility="visible"; 
var rollno8=new Array('01','02','03','04','05','06','07','08','09','10'); 
var studentname8=new Array('ARUP DEY','B','C','D','E','F','G','H','I','J'); 
var fathersname8=new Array('DULAL CH. DEY','B','C','D','E','F','G','H','I','J'); 
var studentmarks8=new Array('50','60','55','65','70','74','75','52','45','89'); 
var m=document.getElementById('rollnumber').value; 
var errormessage=document.getElementById('showerrormessage'); 
if(m=="") 
{ 
document.getElementById('showerrormessage').style.visibility="visible"; 
errormessage.innerHTML="PLEASE PROVIDE YOUR ROLL NUMBER"; 
} 

else 
{ 
for(i=0;i<=9;i++) 
{ 
var student_name=document.getElementById('studentname'); 
var student_fname=document.getElementById('studentfname'); 
var student_rollnumber=document.getElementById('studentno'); 
var student_marks=document.getElementById('studentmarks'); 
var student_status=document.getElementById('studentstatus'); 
var a=studentname8[i]; 
var b=rollno8[i]; 
var c=fathersname8[i]; 
var d=studentmarks8[i]; 
if(m==b) 
{ 
document.getElementById('error').style.visibility="hidden"; 
document.getElementById('getresult').style.visibility="visible"; 
student_name.innerHTML=a; 
student_rollnumber.innerHTML=b; 
student_fname.innerHTML=c; 
student_marks.innerHTML=d; 
if(d>=50) 
{ 
student_status.innerHTML="PASS"; 
} 
else 
{ 
student_status.innerHTML="FAILED"; 
} 
} 

else 
{ 
var ok=1; 
} 

} 

if(ok==1) 
{ 
document.getElementById('showerrormessage').style.visibility="visible"; 
errormessage.innerHTML="THIS ROLL NUMBER DOES NOT EXIST"; 
} 

} 
} 


function resetMyResult() 
{ 
document.getElementById('getresult').style.visibility="hidden"; 
document.getElementById('showerrormessage').style.visibility="hidden"; 
} 
</script> 
<form name="result"> 
<table align="center" style="border-color:black" border="2px" name="showmyresultform"> 
<tr> 
<td style="background-color:#cceecc;font-size:12px;font-weight:bold">ROLL NUMBER</TD> 
<TD style="background-color:#cceecc"><INPUT TYPE="TEXT" id="rollnumber" value="" size="20" maxlength="2"></td> 
</tr> 
<tr> 
<td colspan="2" style="background-color:#cceecc" align="center"><input type="button" value="SUBMIT" style="background-color:green" onclick="ff()"> 
<input type="reset" value="RESET" style="background-color:green" onClick="resetMyResult()"></td> 
</tr> 
</table> 
</form> 

<form name=" getresult" style="visibility:hidden"> 
<table style="border-color:black" border="2px" name="showmyresult" align="center"> 
<tr> 
<td style="background-color:green;font-size:12px;font-weight:bold;color:white">STUDENT'S NAME :</td><td><div id="studentname" style="background-color:#cceecc;color:black;font-size:12px;font-weight:bold" align="center"></div></td> 
</tr> 
<tr> 
<td style="background-color:green;font-size:12px;font-weight:bold;color:white">FATHER'S NAME :</td><td><div id="studentfname" style="background-color:#cceecc;color:black;font-size:12px;font-weight:bold" align="center"></div></td> 
</tr> 
<tr> 
<td style="background-color:green;font-size:12px;font-weight:bold;color:white">ROLL NO. :</td><td><div id="studentno" style="background-color:#cceecc;color:black;font-size:12px;font-weight:bold" align="center"></div></td> 
</tr> 
<tr> 
<td style="background-color:green;font-size:12px;font-weight:bold;color:white">MARKS OBTAINED :</td><td><div id="studentmarks" style="background-color:#cceecc;color:black;font-size:12px;font-weight:bold" align="center"></div></td> 
</tr> 
<tr> 
<td style="background-color:green;font-size:12px;font-weight:bold;color:white">STATUS :</td><td><div id="studentstatus" style="background-color:#cceecc;color:black;font-size:12px;font-weight:bold" align="center"></div></td> 
</tr> 
<tr> 
<td colspan="2" align="center"><div id="showprint"><input type="button" value="PRINT" onClick="print()" style="background-color:#ccffff;font-size:12px;font-weight:bold;color:black"></div> 
</table> 
</form> 
<form name="error"> 
<table align="center"> 
<tr> 
<td> 
<div id="showerrormessage" style="background-color:;font-size:14px;font-weight:bold;color:RED" align="center" value=""></div> 
</td> 
</tr> 
</table> 
</form> 
</body> 
</html> 
+1

Протестировано выше в IE11 и работает так, как ожидалось. – Roberto

+0

спасибо .tested your code -> когда текстовое поле пуста, давая результат правильно, когда кнопка отправки нажата, но кнопка сброса не работает, а другие сценарии не работают в IE11.Pl дайте необходимые советы. –

+0

@AKKAR Добро пожаловать. Я не уверен, почему кнопка сброса не работает (теперь я не могу смотреть прямо сейчас - я далеко от своего компьютера), но она может быть похожа на пункты а) и б), упомянутые выше. Проверьте консоль ошибок («Ctrl + Shift + K» в FireFox) и увидите ошибки. Убедитесь, что вы не путаете элемент 'name' с элементом' id'. Если это будет нормально, и вы все равно получите ошибки, то, возможно, дважды проверьте бизнес-логику своего кода. –

Смежные вопросы