"return false" gives a blank page with the word "false" ?

Discussion in 'Javascript' started by kurtj@ev1.net, Feb 14, 2006.

  1. Guest

    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:" 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
     
    , Feb 14, 2006
    #1
    1. Advertising

  2. Evertjan. Guest

    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:" 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)
     
    Evertjan., Feb 14, 2006
    #2
    1. Advertising

  3. lallous Guest

    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

    <> wrote in message
    news:...
    > 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:" 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
    >
     
    lallous, Feb 15, 2006
    #3
  4. Randy Webb Guest

    Ian Collins said the following on 2/14/2006 7:57 PM:
    > Evertjan. wrote:
    >>> <form action="mailto:" 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/
     
    Randy Webb, Feb 15, 2006
    #4
  5. Kurt Guest

    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).
     
    Kurt, Feb 15, 2006
    #5
  6. Evertjan. Guest

    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)
     
    Evertjan., Feb 16, 2006
    #6
  7. Kurt Guest

    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/interact/scripts.html#idx-user_agent).

    Many thanks for the lessons learned.

    Kurt
     
    Kurt, Feb 16, 2006
    #7
  8. Evertjan. Guest

    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)
     
    Evertjan., Feb 16, 2006
    #8
  9. Ian Collins wrote:

    > Randy Webb wrote:
    >> Ian Collins said the following on 2/14/2006 7:57 PM:
    >>> Evertjan. wrote:
    >>>>> <form action="mailto:" 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, Feb 16, 2006
    #9
  10. 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
     
    Thomas 'PointedEars' Lahn, Feb 16, 2006
    #10
  11. Kurt wrote:

    > 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 <!-- ??


    Enough said about the `language' attribute.

    About trying to comment out scripts this way:

    In HTML, it is error-prone. The `script' element's content is CDATA and
    is passed as-is to the script engine. In ECMAScript implementations, `<',
    `!', and `--' are operators, and you provide no valid operand: syntax
    error. Furthermore, there is no standards compliant UA out there that
    requires it; HTML versions prior to 3.2, which did not define the `script'
    element yet, have been obsoleted by RFC2854 in 2000 CE (six years ago!).

    In XHTML, it is nonsense. There has been no XHTML version that did not
    declare the `script' element, so there is no need to hide anything.
    Furthermore, in XHTML the `script' element's content is PCDATA, and is
    parsed by the XML parser before it is passed to the script engine.
    However, in XML applications like XHTML `<!-- ... -->' are _comments_
    and an XML parser is allowed to remove all comments before building the
    parse tree. You could and will end up with an empty `script' element:
    <script/>

    See previous discussions on this, it has been discussed _ad nauseam_ before.

    > PS: I am using XHTML [...]


    Do not do that, unless you have to.


    PointedEars
     
    Thomas 'PointedEars' Lahn, Feb 16, 2006
    #11
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. wardy
    Replies:
    0
    Views:
    362
    wardy
    Mar 20, 2007
  2. Cal Who
    Replies:
    5
    Views:
    836
    Cal Who
    Dec 3, 2009
  3. chuck wyatt

    DetailsView gives a blank page on update

    chuck wyatt, Jul 7, 2006, in forum: ASP .Net Web Controls
    Replies:
    0
    Views:
    253
    chuck wyatt
    Jul 7, 2006
  4. w i l l
    Replies:
    4
    Views:
    242
    Dan Brussee
    Jul 4, 2003
  5. Francois Gagnon

    Blank page using Word or excel plugin

    Francois Gagnon, May 14, 2004, in forum: Javascript
    Replies:
    1
    Views:
    104
    Randy Webb
    May 14, 2004
Loading...

Share This Page