Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Javascript (http://www.velocityreviews.com/forums/f68-javascript.html)
-   -   "return false" gives a blank page with the word "false" ? (http://www.velocityreviews.com/forums/t922999-return-false-gives-a-blank-page-with-the-word-false.html)

kurtj@ev1.net 02-14-2006 11:35 PM

"return false" gives a blank page with the word "false" ?
 
Hello Gurus:

I have a validation script (below) that is somehow messed up. If the
Name field is blank, I get the alert message, then the browser window
goes to a blank document with the word "false" on it. What the ?!?!?!

To test, I commented out the 'return false;' code in the second IF
block, so now if there is a value in Name then I get the alert message
for Email and the page stays put.

What the heck is going on here, and am I doing wrong? BTW, the
"submit" button is a graphic.


<********** START CODE **********>
<script language="JavaScript" type="text/javascript">
<!--
function validate() {
var x = "0";

if (document.subinfo.Name.value == "") {
alert("You must enter your First Name.");
document.subinfo.Name.focus();
x.value = "1";
return(false); }

if (document.subinfo.Email.value == "" ||
document.subinfo.Email.value.indexOf("@") == -1 ||
document.subinfo.Email.value.indexOf(".") == -1) {
alert("Invalid email address. Please re-enter it.");
document.subinfo.Email.focus();
// return false; }
x.value = "1"; }

if (x.value == "0") {
launchwin('thanks.html','confirmation','height=200 ,width=280');
document.subinfo.submit();
location.href = "default.html"; }
}
-->
</script>

<form action="mailto:myemail@mycompany.com" id="subinfo" method="post"
name="subinfo" enctype="text/plain">
<input name="Name" size="24" /><br /><br />
<input name="Company" size="24" /><br /><br />
<input name="Email" size="24" /><br /><br />
<textarea name="Comments" cols="38" rows="5"></textarea><br /><br />
<a href="javascript:validate()">
<img src="gfx/send.gif" name="send" width="42" height="18"
alt="Send Form" />
</a>&nbsp;&nbsp;
<a href="javascript:document.inquiries.reset()">
<img src="gfx/clear.gif" name="clear" width="42" height="18"
alt="Clear Form" />
</a>
</form>

<********** END CODE **********>

Thanks,
Kurt


Evertjan. 02-14-2006 11:51 PM

Re: "return false" gives a blank page with the word "false" ?
 
wrote on 15 feb 2006 in comp.lang.javascript:

> Hello Gurus:
>
> I have a validation script (below) that is somehow messed up. If the
> Name field is blank, I get the alert message, then the browser window
> goes to a blank document with the word "false" on it. What the ?!?!?!
>
> To test, I commented out the 'return false;' code in the second IF
> block, so now if there is a value in Name then I get the alert message
> for Email and the page stays put.
>
> What the heck is going on here, and am I doing wrong? BTW, the
> "submit" button is a graphic.
>
>
> <********** START CODE **********>
> <script language="JavaScript" type="text/javascript">


do not use language="JavaScript"

> <!--


do not use <!--

> function validate() {
> var x = "0";
>
> if (document.subinfo.Name.value == "") {
> alert("You must enter your First Name.");
> document.subinfo.Name.focus();
> x.value = "1";
> return(false); }


should be:

return false; }

but then the x.value = "1"; would not be usefull,
so delete the return false here


>
> if (document.subinfo.Email.value == "" ||
> document.subinfo.Email.value.indexOf("@") == -1 ||
> document.subinfo.Email.value.indexOf(".") == -1) {
> alert("Invalid email address. Please re-enter it.");
> document.subinfo.Email.focus();
> // return false; }


well done //

> x.value = "1"; }
>
> if (x.value == "0") {
> launchwin('thanks.html','confirmation','height=200 ,width=280');


what is launchwin() ???????????

> document.subinfo.submit();
> location.href = "default.html"; }


>}
> -->
> </script>
>
> <form action="mailto:myemail@mycompany.com" id="subinfo" method="post"
> name="subinfo" enctype="text/plain">
> <input name="Name" size="24" /><br /><br />


do not use <br /> but <br>

> <input name="Company" size="24" /><br /><br />
> <input name="Email" size="24" /><br /><br />
> <textarea name="Comments" cols="38" rows="5"></textarea><br /><br />
> <a href="javascript:validate()">
> <img src="gfx/send.gif" name="send" width="42" height="18"
> alt="Send Form" />
> </a>&nbsp;&nbsp;


href="javascript: is a bad idea, better do:

<form onsubmit='validate()' ...

and

<input src="gfx/send.gif" type='image' alt="Send Form">


> <a href="javascript:document.inquiries.reset()">
> <img src="gfx/clear.gif" name="clear" width="42" height="18"
> alt="Clear Form" />
> </a>


same here:

<img onclick='document.inquiries.reset()' src="gfx/clear.gif"
style='cursor:pointer;'>

> </form>
>
> <********** END CODE **********>
>
> Thanks,
> Kurt
>
>




--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)

lallous 02-15-2006 12:04 AM

Re: "return false" gives a blank page with the word "false" ?
 
Hello

1. Better make use of ONSUBMIT event

2. If you are just to fix what you wrote, simply add: void(0) after your
validate function call, just like in:

<script>
function fnc1()
{
if (/*validation ok*/)
{
// submit the form
FORM_VAR.submit();
return true;
}
return false;
}
</script>
</head>

<body>
<a href="javascript: fnc1();void(0);">adsasd</a>
</body>
</html>

HTH
Elias

<kurtj@ev1.net> wrote in message
news:1139960156.221596.201430@z14g2000cwz.googlegr oups.com...
> Hello Gurus:
>
> I have a validation script (below) that is somehow messed up. If the
> Name field is blank, I get the alert message, then the browser window
> goes to a blank document with the word "false" on it. What the ?!?!?!
>
> To test, I commented out the 'return false;' code in the second IF
> block, so now if there is a value in Name then I get the alert message
> for Email and the page stays put.
>
> What the heck is going on here, and am I doing wrong? BTW, the
> "submit" button is a graphic.
>
>
> <********** START CODE **********>
> <script language="JavaScript" type="text/javascript">
> <!--
> function validate() {
> var x = "0";
>
> if (document.subinfo.Name.value == "") {
> alert("You must enter your First Name.");
> document.subinfo.Name.focus();
> x.value = "1";
> return(false); }
>
> if (document.subinfo.Email.value == "" ||
> document.subinfo.Email.value.indexOf("@") == -1 ||
> document.subinfo.Email.value.indexOf(".") == -1) {
> alert("Invalid email address. Please re-enter it.");
> document.subinfo.Email.focus();
> // return false; }
> x.value = "1"; }
>
> if (x.value == "0") {
> launchwin('thanks.html','confirmation','height=200 ,width=280');
> document.subinfo.submit();
> location.href = "default.html"; }
> }
> -->
> </script>
>
> <form action="mailto:myemail@mycompany.com" id="subinfo" method="post"
> name="subinfo" enctype="text/plain">
> <input name="Name" size="24" /><br /><br />
> <input name="Company" size="24" /><br /><br />
> <input name="Email" size="24" /><br /><br />
> <textarea name="Comments" cols="38" rows="5"></textarea><br /><br />
> <a href="javascript:validate()">
> <img src="gfx/send.gif" name="send" width="42" height="18"
> alt="Send Form" />
> </a>&nbsp;&nbsp;
> <a href="javascript:document.inquiries.reset()">
> <img src="gfx/clear.gif" name="clear" width="42" height="18"
> alt="Clear Form" />
> </a>
> </form>
>
> <********** END CODE **********>
>
> Thanks,
> Kurt
>




Randy Webb 02-15-2006 06:14 AM

Re: "return false" gives a blank page with the word "false" ?
 
Ian Collins said the following on 2/14/2006 7:57 PM:
> Evertjan. wrote:
>>> <form action="mailto:myemail@mycompany.com" id="subinfo" method="post"
>>> name="subinfo" enctype="text/plain">
>>> <input name="Name" size="24" /><br /><br />

>>
>>
>> do not use <br /> but <br>
>>

> He might be using XHTML.
>


Giving XHTML to IE is a recipe for disaster.

--
Randy
comp.lang.javascript FAQ - http://jibbering.com/faq & newsgroup weekly
Javascript Best Practices - http://www.JavascriptToolbox.com/bestpractices/

Kurt 02-15-2006 10:05 PM

Re: "return false" gives a blank page with the word "false" ?
 
Thank you all for your help. I removed the <a> tags surrounding the
<img> buttons in the form, and put the "href" code into an "onclick"
event within the <img> tag (thank you Evertjan!) Also removed the "x"
variable lines since they were redundant.

I have a question about Evertjan's response:
> > <script language="JavaScript" type="text/javascript">

> do not use language="JavaScript"


> > <!--

> do not use <!--


Why should I not use language="JavaScript" or <!-- ??


Many thanks again!
Kurt

PS: I am using XHTML which requires self-closing empty tags (<br />).
I tested the page in various browsers (IE6, FF1.5, N6, N8, Opera8.51),
and only Netscape 6 showed a discrepancy by adding additional space
underneath various images (assumed).


Evertjan. 02-16-2006 09:44 AM

Re: "return false" gives a blank page with the word "false" ?
 
Ian Collins wrote on 16 feb 2006 in comp.lang.javascript:

> Kurt wrote:
>>>do not use language="JavaScript"

>>
>>>><!--
>>>do not use <!--

>> Why should I not use language="JavaScript" or <!-- ??

> language="JavaScript" isn't a valid script attribute in HTML 4 or XHTML,
> try a validator on your page.


Indeed.

While it entirely possible to insert:

// this line serves no intended purpose

every other line in a js, it would only cloud the appearance of the js,
and do not good whatsoever. The same goes for the above two.

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)

Kurt 02-16-2006 03:30 PM

Re: "return false" gives a blank page with the word "false" ?
 
According to validator.w3.org, the web page (and the entire site)
passes validation for Doctype XHTML 1.0 Transitional.

I was about to argue, since it's found just about EVERYWHERE, that the
language attribute is needed, but thanks to you I found out that it is
indeed deprecated. I will stop using it in the future. However, W3C
still says to comment out code for non-script-aware browsers (see
http://www.w3.org/TR/html401/interac...idx-user_agent).

Many thanks for the lessons learned.

Kurt


Evertjan. 02-16-2006 03:36 PM

Re: "return false" gives a blank page with the word "false" ?
 
Kurt wrote on 16 feb 2006 in comp.lang.javascript:

> According to validator.w3.org, the web page (and the entire site)
> passes validation for Doctype XHTML 1.0 Transitional.
>
> I was about to argue, since it's found just about EVERYWHERE, that the

[...]

Please quote what you are replying to.
This is usenet, not email.

If you want to post a followup via groups.google.com, don't use the
"Reply" link at the bottom of the article. Click on "show options" at the
top of the article, then click on the "Reply" at the bottom of the article
headers. <http://www.safalra.com/special/googlegroupsreply/>

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)

Thomas 'PointedEars' Lahn 02-16-2006 03:53 PM

Re: "return false" gives a blank page with the word "false" ?
 
Ian Collins wrote:

> Randy Webb wrote:
>> Ian Collins said the following on 2/14/2006 7:57 PM:
>>> Evertjan. wrote:
>>>>> <form action="mailto:myemail@mycompany.com" id="subinfo" method="post"
>>>>> name="subinfo" enctype="text/plain">
>>>>> <input name="Name" size="24" /><br /><br />
>>>> do not use <br /> but <br>
>>> He might be using XHTML.

>> Giving XHTML to IE is a recipe for disaster.

>
> There's plenty out there


Two wrongs make no right.

> and <br /> is the correct compatibility option.


`<br />' is equivalent to `<br>&gt;' in HTML. The correct "compatibility
option" is `<br></br>'; if you read anything different in the non-normative
XHTML 1.0 Appendix C, it is _worng_. The only problem is that there may
be borken UAs out there that cannot parse this correct markup correctly.
Therefore, XHTML should _never_ be served as text/html (and IE does not
support the proper media type application/xhtml+xml):

<URL:http://hixie.ch/advocacy/xhtml>


PointedEars

Thomas 'PointedEars' Lahn 02-16-2006 04:00 PM

Re: "return false" gives a blank page with the word "false" ?
 
Ian Collins wrote:

> Kurt wrote:
>> Why should I not use language="JavaScript" or <!-- ??
>>

> language="JavaScript" isn't a valid script attribute in HTML 4 or XHTML,
> [...]


It is Valid in the Transitional subsets of HTML 4.01 and XHTML 1.0.
It is deprecated and unnecessary, though.


PointedEars


All times are GMT. The time now is 01:46 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.