Jump to content

TypeError: document.getelementbyid(...) is null


AbhijeetM

Recommended Posts

<html>
<head>
<title>Port Scanner for Mozilla Firefox</title>
</head>
<body>
<form name="my_form" id="my_form" method="post" action="#" onsubmit="return displayMessage();">
<p align="center">URL/Domain Name/IP Address: <input type="text" size="20" name="uri" value="" placeholder="http://www.google.com" required/></p>
<table align="center" border="1" width=100% bgcolor="#f4fff0" bordercolor="green" cellspacing="2" cellpadding="2">
<tr>
<td align="center">
Start port: <input type="text" size="5" name="start_port" maxlength="5">
End port: <input type="text" size="5" name="end_port" maxlength="5"><br>
<input type="submit" value="Scan all ports" name="scan_all"><br>
<input type="submit" value="Scan only open ports" name="scan_open">
</td>
</tr>
<tr>
<td align="center">
<input type="text" size="20" name="scan_tcp"><br>
<font color="#b1b1b1">Enter port numbers separated by space. (e.g. 21 25 80)</font><br>
<input type="submit" value="Scan TCP ports" name="scan_tcp_ports">
</td>
</tr>
<tr>
<td align="center">
<input type="submit" value="Scan common service ports" name="scan_common_tcp"><br>
<input type="submit" value="Scan common Trojan ports" name="scan_common_trojan_tcp">
</td>
</tr>
</table>
</form>
<script type="text/javascript">
function displayMessage()
{
if(document.my_form.uri.value==0)
{
document.write("<font color='red'><i>Please enter URL/Domain Name/IP Address.</i></font>");
return false;
}
document.write("<DIV id='loading'><BR><BR><font color='#FF6600'><i>Please wait... The ports are being scanned...</i></font></DIV>");
document.getElementById("my_form").submit();
}
window.onload=function()
{
document.getElementById("loading").style.display="none";
}
</script>
</body>
</html>
I want to submit above form. But it shows me JavaScript error in Console that
"TypeError: document.getelementbyid(...) is null"
This error is for code :
document.getElementById("my_form").submit();
I am using Firefox 24.0 and Windows 7. I have installed only 1 add-on. That is 'Firebug 1.12.3'.
This code works fine for other browsers Except Firefox.
Please help me to solve this problem.
Edited by AbhijeetM
Link to comment
Share on other sites

I believe the problem is document.write(), because it calls document.open() if the document has already finished loading, which clears the document. So the form no longer exists once you are trying to submit it.

 

Maybe you should try using innerHTML to display your loading message, or have it already in an element which has display:none; in the style. When you submit, change it to display:block; to show the loading message.

Link to comment
Share on other sites

Using document.write() will delete everything that's currently on the page. When looking for any element after that it won't be there. Try something else besides document.write.

Link to comment
Share on other sites

It's probably referring to the code inside the window.onload handler anyway, since the loading element doesn't get created until you submit the form. Trying to change the CSS of that element when the page loads isn't going to work because the element doesn't exist yet.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...