IE and Netscape Difference: ASP/JavaScript Problem

Discussion in 'Javascript' started by JJ_377@hotmail.com, Feb 3, 2005.

  1. Guest

    Why won't Netscape do the intended in the following? IE is able to
    render this page as intended. It is is a "self-posting" ASP form with a
    JavaScript validation function: if the form fails the JavaScript
    validation function, then the form should not post and an alert should
    be issued as indicated below.

    The *first* alert in the Validate function works in NS, but the rest of
    the code does not and therefore I wonder about the way I am referencing
    the controls...tried to experiment with this, as can be seen in the
    rem'd out code. Tried to research in my books...

    Thanks for any and all! Jules

    ---------------------------------------------------------------------------------------------------------------
    <%Option Explicit%>

    <%
    'This is a self-posting form: the same form is used for both
    'the request and response objects

    If not IsEmpty(request.Form("txtFirstName")) and _
    Not IsEmpty(Request.Form("txtLastName")) then
    'the form has been filled out and a brief thank you is sent
    %>
    <html>
    <head>
    <title>Thank You</title>

    </head>

    <body>
    Thank you
    <br><%=Request.Form("txtFirstName")%>&nbsp<%=Request.Form("txtLastName")%>
    for your information.
    Have a nice day!
    </body>
    </html>

    <%Else%>
    <!--Form has not been filled out, so provide it!-->

    <html>
    <head>
    <script language="javascript">

    function trim(strField){
    alert("trim");
    return strField.replace(/^\s+/,'').replace(/\s+$/,'')
    }

    function validate()
    {
    alert("validate");

    //if(document.all.txtFirstName.value == "" ||
    document.all.txtLastName.value == "")
    if(trim(document.forms("frmInfo").elements("txtFirstName").value) ==
    "" || trim(document.forms("frmInfo").elements("txtLastName").value) ==
    "")
    //document.swOrder.elements[0].value
    //if(trim(document.frmInfo.elements[0].value == "" ||
    trim(document.frmInfo.elements[1].value) == "")
    {
    document.frmInfo.reset();
    alert("Please enter both first and last names.");
    return false;
    }
    document.frmInfo.submit();
    return true;
    }
    </script>
    <title>Thank You</title>
    </head>
    <body>
    Please fill out this form:
    <form name="frmInfo" action="AllControls.asp" method="post">

    First Name: <input type="text" name="txtFirstName"><br>
    Last Name: <input type="text" name="txtLastName"><br>
    <input type="Button" value="Submit User Info" onclick="validate()">
    <input type="reset">



    </form>
    </body>
    </html>
    <%End if %>
     
    , Feb 3, 2005
    #1
    1. Advertising

  2. wrote:
    <snip>
    > The *first* alert in the Validate function works in NS,
    > but the rest of the code does not and therefore I wonder
    > about the way I am referencing the controls...

    <snip>

    Why wonder, Netscape/Gecko browsers provide very explicit error reports
    in their javascript console?

    <script language="javascript">

    The language attribute is deprecated and the type attribute is required
    in valid HTML 4. So:-

    <script type="text/javascript">

    <snip>
    > document.all.txtLastName.value == "")


    Only the very latest Mozilla/Gecko browsers support - document.all - so
    that does not include any Netscape releases.

    > if(trim(document.forms("frmInfo").


    The - document.forms - collection is (W3C) specified as an object not a
    function. As such its members should be referenced using bracket
    notation.

    >elements("txtFirstName").value) ==

    <snip>

    The - elements - collection of form elements is (W3C) specified as an
    object not a function. As such its members should be referenced using
    bracket notation.

    Netscape browsers will not have made it past those two errors.

    Richard.
     
    Richard Cornford, Feb 3, 2005
    #2
    1. Advertising

  3. RobG Guest

    Richard Cornford wrote:
    > wrote:


    > <snip>
    >
    >>document.all.txtLastName.value == "")

    >
    >
    > Only the very latest Mozilla/Gecko browsers support - document.all - so
    > that does not include any Netscape releases.
    >


    IMO, you should say "have limited support for". An informative
    discussion on Mozilla/Geko support for document.all is here:

    <URL:https://bugzilla.mozilla.org/show_bug.cgi?id=248549>

    Mozilla/Geko's support for document.all seems limited to the
    ability to create a reference to an element and that's it.


    --
    Rob
     
    RobG, Feb 4, 2005
    #3
  4. Guest

    I tried the JavaScript Console before posting my initial question and
    it returned no messages at all and so I posted my inquiry here. I tried
    to change the <script> tag and the script still fails...if the control
    references are incorrect, how do I correct them? I tried various ways
    of using "bracket notation" as well before posting my first inquiry
    (rem'd out code in original posting I believe) and did not get the
    script to work. If this line is wrong, how is it to be changed to to
    bracket notation so that it works in NS?
    if(trim(document.forms("frmInfo").elements("txtFirstName").value) ==
    "" || trim(document.forms("frmInfo").elements("txtLastName").value) ==
    "")
    ?
    Thank you.
     
    , Feb 4, 2005
    #4
  5. Guest

    Got it!
    if(trim(document.frmInfo.txtFirstName.value) == "" ||
    trim(document.frmInfo.txtLastName.value) == "")

    This works in Netscape and IE.
     
    , Feb 4, 2005
    #5
    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. jakk
    Replies:
    4
    Views:
    12,511
  2. Tom
    Replies:
    0
    Views:
    507
  3. Mickey Segal
    Replies:
    1
    Views:
    681
    Mickey Segal
    May 21, 2004
  4. Mr. x
    Replies:
    5
    Views:
    345
    Toby A Inkster
    Dec 1, 2003
  5. yaktipper
    Replies:
    10
    Views:
    292
    Richard Cornford
    Jul 10, 2003
Loading...

Share This Page