onclick doesn't work

Discussion in 'Javascript' started by kelvin, Apr 27, 2004.

  1. kelvin

    kelvin Guest

    Hi,

    I've this piece of code which does not work at all.
    Can anyone point out my mistake?

    I've 2 buttons. History button will call verifyFields() function and
    lead to
    different page for processing. verifyFields() is working fine and so
    does the
    history() function.

    But,

    the other save button doesn't work. It's supposed to call the save()
    function and before executing the action, it will perform a check by
    executing
    checkFormFields(). However it does not execute these statements:
    --------------------------------------------------------------------
    document.ListForm.target="origin";
    document.ListForm.action="ListByOrigin_updaterecord.asp?action=check";
    --------------------------------------------------------------------
    The links above have been verified and it's working.




    <SCRIPT LANGUAGE="JavaScript">
    <!--

    function checkFormFields()
    {
    if(!isNumber(ListForm.destination.value))
    {
    alert("Destination must not contain numbers at all.");
    ListForm.destination.focus();
    return false;
    }
    return true;
    }

    function history()
    {
    document.ListForm.target="adhoc";
    document.ListForm.action="ListByOrigin.asp?action=check";
    }

    function save()
    {
    if (checkFormFields() ) //doesn't execute these 2 lines.
    {
    document.ListForm.target="origin";
    document.ListForm.action="ListByOrigin_updaterecord.asp?action=check";
    return true;
    }
    }
    //-->
    </script>


    <form action="" method="post" name="ListForm" onSubmit="return
    verifyFields();">

    <input name="submit" type="submit" value="History"
    onClick="history()">

    <input name="submit" type="submit" id="submit" value="Save"
    onClick="return save();">

    </form>
    kelvin, Apr 27, 2004
    #1
    1. Advertising

  2. kelvin

    Grant Wagner Guest

    kelvin wrote:

    > Hi,
    >
    > I've this piece of code which does not work at all.
    > Can anyone point out my mistake?
    >
    > I've 2 buttons. History button will call verifyFields() function and
    > lead to
    > different page for processing. verifyFields() is working fine and so
    > does the
    > history() function.
    >
    > But,
    >
    > the other save button doesn't work. It's supposed to call the save()
    > function and before executing the action, it will perform a check by
    > executing
    > checkFormFields(). However it does not execute these statements:
    > --------------------------------------------------------------------
    > document.ListForm.target="origin";
    > document.ListForm.action="ListByOrigin_updaterecord.asp?action=check";
    > --------------------------------------------------------------------
    > The links above have been verified and it's working.
    >
    > <SCRIPT LANGUAGE="JavaScript">


    <script type="text/javascript">

    > <!--


    <!-- Not needed.

    > function checkFormFields()
    > {
    > if(!isNumber(ListForm.destination.value))


    Where is "isNumber()" defined? It's not in the source you provided. As a result any
    attempt to call isNumber() will result in a syntax error.

    > {
    > alert("Destination must not contain numbers at all.");
    > ListForm.destination.focus();
    > return false;
    > }
    > return true;
    > }
    >
    > function history()
    > {
    > document.ListForm.target="adhoc";
    > document.ListForm.action="ListByOrigin.asp?action=check";
    > }
    >
    > function save()
    > {
    > if (checkFormFields() ) //doesn't execute these 2 lines.


    As indicated above, checkFormFields() contains a call to an undefined function.

    > {
    > document.ListForm.target="origin";
    > document.ListForm.action="ListByOrigin_updaterecord.asp?action=check";
    > return true;
    > }


    You use "return save()" on the form, but save() does not always return a value, you should
    add "return false;" here. It may work without it, but it's a good habit to have functions
    that are supposed to return something always explicitly return something.

    > }
    > //-->


    //--> Not needed

    > </script>
    >
    > <form action="" method="post" name="ListForm" onSubmit="return
    > verifyFields();">
    >
    > <input name="submit" type="submit" value="History"
    > onClick="history()">
    >
    > <input name="submit" type="submit" id="submit" value="Save"
    > onClick="return save();">
    >
    > </form>


    --
    | Grant Wagner <>

    * Client-side Javascript and Netscape 4 DOM Reference available at:
    * http://devedge.netscape.com/library/manuals/2000/javascript/1.3/reference/frames.html
    * Internet Explorer DOM Reference available at:
    * http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_entry.asp
    * Netscape 6/7 DOM Reference available at:
    * http://www.mozilla.org/docs/dom/domref/
    * Tips for upgrading JavaScript for Netscape 7 / Mozilla
    * http://www.mozilla.org/docs/web-developer/upgrade_2.html
    Grant Wagner, Apr 29, 2004
    #2
    1. Advertising

  3. kelvin

    kelvin Guest

    hi Grant,

    I've done some changes and it works now.
    Thank you for your advise.
    kelvin, Apr 30, 2004
    #3
    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. loconel
    Replies:
    1
    Views:
    478
    Neredbojias
    Nov 17, 2005
  2. Misliplavo
    Replies:
    2
    Views:
    828
    Misliplavo
    Jun 26, 2009
  3. bob
    Replies:
    3
    Views:
    183
  4. Replies:
    2
    Views:
    253
  5. Replies:
    4
    Views:
    176
Loading...

Share This Page