webbedfeet@hyperlink.co.za writes:
[color=blue]
> I have a client side form validation script which works perfectly in
> IE but clicking "Submit" in Mozilla does nothing - the form won't
> submit.[/color]
Then you are doing something wrong. It should submit, just without
the validation, otherwise it won't work if Javascript is turned off.
[color=blue]
> Is there something I can use that will work for both browsers, or is
> there something wrong with my code?[/color]
It's your code.
[color=blue]
> <SCRIPT LANGUAGE="JavaScript">[/color]
Should be
<script type="text/javascript">
The type attribute is required by HTML, and is always sufficient.
[color=blue]
> function ValidateEntries() {
>
> if (MyForm.InputName.value == "") {[/color]
You have not declared a variable called MyForm. You assume that your
browser will create a global variable for your named form. Not all
browsers do that (IE does, Mozilla doesn't).
When referring to a form called "MyForm", always use:
document.forms['MyForm']
To save typing, you can assign the form reference to a variable:
var myForm = document.forms['MyForm'];
Then do
if (myForm.elements['InputName'].value == "") {
Ditto for the remaining tests.
(You could collect all the errors in one go, instead of only
showing the first one. That would speed up the user)
....[color=blue]
> else return document.MyForm.submit();[/color]
There should be no need for this, just return true, if you
make your page to work without javascript enabled.
[color=blue]
> }
> </script>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">[/color]
ICK. There should not be anything before the DOCTYPE declaration
in an HTML page. In particular, script elements are only valid
inside the HEAD and BODY elements. Please make your HTML validate!
[color=blue]
> <Form name="MyForm" action="sendmail.asp" method="post">[/color]
....[color=blue]
> <input type="button" value="Submit" onclick="ValidateEntries()">[/color]
This only works if Javascript is enabled. On the other hand, pressing
return in one of the text fields might submit the form without any
validation. A better approach is:
---
<form ... onsubmit="return ValidateEntries();">
...
<input type="submit" value="Submit">
---
Good luck.
/L
--
Lasse Reichstein Nielsen -
lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'