document.form.submit()

Discussion in 'Javascript' started by Chris, Dec 16, 2003.

  1. Chris

    Chris Guest

    Heres my problem:

    <a href="javascript:void(document.buysell.submit())" target="_parent"
    onMouseOver="MM_swapImage('members','','images/membersf2.gif',1)"
    onMouseOut="MM_swapImgRestore()"><img src="images/members.gif"
    alt="Back to members page" name="members" width="270" height="25"
    border="0"></a>

    I get the error "document.buysell" is null or not an object, but my
    form name is buysell and when using the submit button, which is not
    called "submit", everything submits fine....
    please help,
    Chris.
     
    Chris, Dec 16, 2003
    #1
    1. Advertising

  2. Chris

    Evertjan. Guest

    Chris wrote on 16 dec 2003 in comp.lang.javascript:
    > <a href="javascript:void(document.buysell.submit())" target="_parent"
    > onMouseOver="MM_swapImage('members','','images/membersf2.gif',1)"
    > onMouseOut="MM_swapImgRestore()"><img src="images/members.gif"
    > alt="Back to members page" name="members" width="270" height="25"
    > border="0"></a>
    >
    > I get the error "document.buysell" is null or not an object, but my
    > form name is buysell and when using the submit button, which is not
    > called "submit", everything submits fine....


    document.forms.buysell.submit()

    I would put the target declaration in the <form >
    and use no <a> at all:

    <img
    onclick="document.forms.buysell.submit()"
    onMouseOver="..."
    onMouseOut="..."
    src="images/members.gif"
    alt="Back to members page"
    name="members" id="members"
    width="270" height="25"
    >


    --
    Evertjan.
    The Netherlands.
    (Please change the x'es to dots in my emailaddress)
     
    Evertjan., Dec 16, 2003
    #2
    1. Advertising

  3. Chris

    kaeli Guest

    In article <>,
    enlightened us with...
    > Heres my problem:
    >
    > <a href="javascript:void(document.buysell.submit())"


    First of all, void is just that - void. No params.
    If you MUST use this because you have to support old browsers, use
    <a href="javascript:document.forms["buysell"].submit();

    If you support only newer browsers, do this the right way.
    <a href="#" onClick="document.forms['buysell'].submit;return false;"

    Keep in mind about 5% of US users in general (last I read on some IT
    site, anyway) do not have JS enabled browsers. For them, this will not
    submit any form at all. You should really have something in that href
    for people with no JS if this is for an internet site.

    > target="_parent"
    > onMouseOver="MM_swapImage('members','','images/membersf2.gif',1)"
    > onMouseOut="MM_swapImgRestore()"><img src="images/members.gif"
    > alt="Back to members page" name="members" width="270" height="25"
    > border="0"></a>
    >
    > I get the error "document.buysell" is null or not an object, but my
    > form name is buysell and when using the submit button, which is not
    > called "submit", everything submits fine....



    I notice you reference "parent" as the target. Is the form on the same
    page as this script? If not, you should reference it as
    top.frames["framename"].document.forms["formname"]
    to be sure the script can "see" it.

    --
    --
    ~kaeli~
    Murphy's Law #2000: If enough data is collected, anything
    may be proven by statistical methods.
    http://www.ipwebdesign.net/wildAtHeart
    http://www.ipwebdesign.net/kaelisSpace
     
    kaeli, Dec 16, 2003
    #3
  4. Chris

    Grant Wagner Guest

    Chris wrote:

    > Heres my problem:
    >
    > <a href="javascript:void(document.buysell.submit())" target="_parent"
    > onMouseOver="MM_swapImage('members','','images/membersf2.gif',1)"
    > onMouseOut="MM_swapImgRestore()"><img src="images/members.gif"
    > alt="Back to members page" name="members" width="270" height="25"
    > border="0"></a>
    >
    > I get the error "document.buysell" is null or not an object, but my
    > form name is buysell and when using the submit button, which is not
    > called "submit", everything submits fine....
    > please help,
    > Chris.


    If you want something that looks like a link to submit a form, I
    recommend:

    <style type="text/css">
    ..submitLink {
    background-color: transparent;
    padding: 8px;
    border: 0px solid transparent;
    color: Blue;
    text-decoration: underline;
    cursor: pointer;
    cursor: hand;
    }
    ..submitLink:active {
    border: 0px solid transparent;
    color: Red;
    }
    }
    </style>
    <form>
    <input type="submit" name="submitBtn" value="Order" class="submitLink" />

    </form>

    Certainly it isn't as pretty in Netscape 4 or Opera 6, but it's
    guaranteed to give you a usable submit button regardless of the browser
    being used (presuming the browser supports form and form submission).

    By the way, Opera 7.23 is *still* having problems with this design. With
    7.23, it now honors border requests on buttons, but it honors neither the
    cursor: nor the text-decoration: directives. Also, Opera 7.23 seems to
    support the :active pseudo-class, at least partially, it makes a valiant
    attempt to honor the border: directive, but it fails to do it correctly.

    --
    | 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, Dec 16, 2003
    #4
  5. Chris

    Grant Wagner Guest

    Grant Wagner wrote:

    > padding: 8px;


    Remove this, I was just seeing if padding made a difference to Opera showing
    text-decoration: and left it in when I posted.

    --
    | 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, Dec 16, 2003
    #5
  6. Chris

    @SM Guest

    Grant Wagner a ecrit :
    >
    > If you want something that looks like a link to submit a form, I
    > recommend:
    >
    > <style type="text/css">
    > .submitLink {
    > background-color: transparent;
    > padding: 8px;
    > border: 0px solid transparent;
    > color: Blue;
    > text-decoration: underline;
    > cursor: pointer;
    > cursor: hand;
    > }
    > .submitLink:active {
    > border: 0px solid transparent;
    > color: Red;
    > }
    > }
    > </style>
    > <form>
    > <input type="submit" name="submitBtn" value="Order" class="submitLink" />
    >
    > </form>
    >
    > Certainly it isn't as pretty in Netscape 4


    over all in NN4
    who don't know "transparent" and display a black color ! ! !
    By chance (or lucky) NN4 don't accept css on a button.

    so use :

    ..submitLink {
    padding: 8px;
    border: 0;
    color: blue;
    text-decoration: underline;
    cursor: pointer;
    cursor: hand;
    }
    ..submitLink:active {
    /* border is the same and herited from above */
    color: Red;
    }


    > guaranteed to give you a usable submit button regardless of the browser
    > being used (presuming the browser supports form and form submission).


    -- ----
    @SM
    move away *OTEZ-MOI* from my reply url
     
    @SM, Dec 17, 2003
    #6
  7. Chris

    @SM Guest

    Chris a ecrit :
    >
    > Heres my problem:
    >
    > <a href="javascript:void(document.buysell.submit())" target="_parent"


    <a href="javascript:void()" target="_parent"

    or

    <a href="document.forms['buysell'].submit" target="_parent"
    onclick="return false;">

    I hope you want to replace the framed page displayed in
    main window ?

    Anyway, with these 3 codes anything will happen...
    (except on 2nd if JS is disabled)

    to get something :

    <a href="#" target="_parent"
    onclick="document.forms['buysell'].target='frame2';
    document.forms['buysell'].submit(); return false;">


    -- -----
    @SM
    move away *OTEZ-MOI* from my reply url
     
    @SM, Dec 17, 2003
    #7
  8. Chris

    Chris Guest

    still doesnt work, but thanks for feedback anyway.
     
    Chris, Dec 17, 2003
    #8
  9. Chris

    Chris Guest

    kaeli <> wrote in message news:<>...
    > In article <>,
    > enlightened us with...
    > > Heres my problem:
    > >
    > > <a href="javascript:void(document.buysell.submit())"

    >
    > First of all, void is just that - void. No params.
    > If you MUST use this because you have to support old browsers, use
    > <a href="javascript:document.forms["buysell"].submit();
    >
    > If you support only newer browsers, do this the right way.
    > <a href="#" onClick="document.forms['buysell'].submit;return false;"
    >
    > Keep in mind about 5% of US users in general (last I read on some IT
    > site, anyway) do not have JS enabled browsers. For them, this will not
    > submit any form at all. You should really have something in that href
    > for people with no JS if this is for an internet site.
    >
    > > target="_parent"
    > > onMouseOver="MM_swapImage('members','','images/membersf2.gif',1)"
    > > onMouseOut="MM_swapImgRestore()"><img src="images/members.gif"
    > > alt="Back to members page" name="members" width="270" height="25"
    > > border="0"></a>
    > >
    > > I get the error "document.buysell" is null or not an object, but my
    > > form name is buysell and when using the submit button, which is not
    > > called "submit", everything submits fine....

    >
    >
    > I notice you reference "parent" as the target. Is the form on the same
    > page as this script? If not, you should reference it as
    > top.frames["framename"].document.forms["formname"]
    > to be sure the script can "see" it.
    >
    > --



    ok so the form submits, well not really because its not updating data
    so really the form is just refreshing... any ideas?
     
    Chris, Dec 17, 2003
    #9
  10. Chris

    kaeli Guest

    In article <>,
    enlightened us with...
    >
    >
    > ok so the form submits, well not really because its not updating data
    > so really the form is just refreshing... any ideas?
    >


    Then how do you know it isn't a problem on the server side?

    The default action for a form is to submit to itself. Do you have an
    action defined?

    --
    --
    ~kaeli~
    Do cemetery workers prefer the graveyard shift?
    http://www.ipwebdesign.net/wildAtHeart
    http://www.ipwebdesign.net/kaelisSpace
     
    kaeli, Dec 17, 2003
    #10
  11. Chris

    Grant Wagner Guest

    "@SM" wrote:

    > Grant Wagner a ecrit :
    > >
    > > If you want something that looks like a link to submit a form, I
    > > recommend:
    > >
    > > <style type="text/css">
    > > .submitLink {
    > > background-color: transparent;
    > > padding: 8px;
    > > border: 0px solid transparent;
    > > color: Blue;
    > > text-decoration: underline;
    > > cursor: pointer;
    > > cursor: hand;
    > > }
    > > .submitLink:active {
    > > border: 0px solid transparent;
    > > color: Red;
    > > }
    > > }
    > > </style>
    > > <form>
    > > <input type="submit" name="submitBtn" value="Order" class="submitLink" />
    > >
    > > </form>
    > >
    > > Certainly it isn't as pretty in Netscape 4

    >
    > over all in NN4
    > who don't know "transparent" and display a black color ! ! !
    > By chance (or lucky) NN4 don't accept css on a button.


    In Netscape 4.78, I get a standard grey button with underlined text. Netscape
    4.x certainly does honor a number of CSS attributes on <input> elements, and
    does it consistently (although some of the behaviour is certainly not what you
    would expect, it is consistent between Netscape 4.6x/4.7x clients, at least in
    my experience).

    > so use :
    >
    > .submitLink {
    > padding: 8px;


    Remove this, it was part of testing to see if some aspect of the button was
    preventing "text-decoration: underline;" from working properly in Opera 7.23.

    > border: 0;
    > color: blue;
    > text-decoration: underline;
    > cursor: pointer;
    > cursor: hand;
    > }


    "border: 0;" doesn't properly suppress the border in Opera 7.23. In fact,
    neither does "border: none;", which is why I went with "border: 0px solid
    transparent;". Which specific version of Netscape 4.x doesn't render this
    correctly? I'd like to install it and use it for testing.

    > .submitLink:active {
    > /* border is the same and herited from above */


    Yes, it was included inadvertently from testing I was doing trying to suppress
    the border in Opera 7.23 when the button is pressed, it should have been
    removed in the final version.

    > color: Red;
    > }


    You know, considering how "standards compliant" Opera claims to be, it
    certainly doesn't deal with some of these CSS issues even as adeptly as IE.

    --
    | 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, Dec 17, 2003
    #11
  12. Chris

    @SM Guest

    Grant Wagner a ecrit :

    Some very interesting things.

    I wanted only to precise :

    My NN is NC 4.5 (on old Mac system 8.6)
    so, I can't see what you say.

    Opera I can use is 6,03 (not more)
    it is an horror !

    IE is 5.0 (a fiew better and badder than same on PC)
     
    @SM, Dec 17, 2003
    #12
  13. Chris

    Chris Guest

    kaeli <> wrote in message news:<>...
    > In article <>,
    > enlightened us with...
    > >
    > >
    > > ok so the form submits, well not really because its not updating data
    > > so really the form is just refreshing... any ideas?
    > >

    >
    > Then how do you know it isn't a problem on the server side?
    >
    > The default action for a form is to submit to itself. Do you have an
    > action defined?
    >
    > --


    because i am doing the server side code...
    the form submits data fine when clicking the submit button...
    I got document.forms['formname'].submit() to work for the form, but on
    other forms it does not because there target is not "_parent" ...
     
    Chris, Dec 18, 2003
    #13
  14. Chris

    kaeli Guest

    In article <>,
    enlightened us with...
    >
    > because i am doing the server side code...
    > the form submits data fine when clicking the submit button...
    > I got document.forms['formname'].submit() to work for the form, but on
    > other forms it does not because there target is not "_parent" ...
    >


    So specify the target in the form, not the javascript.

    --
    --
    ~kaeli~
    Why did kamikaze pilots wear helmets?
    http://www.ipwebdesign.net/wildAtHeart
    http://www.ipwebdesign.net/kaelisSpace
     
    kaeli, Dec 18, 2003
    #14
  15. kaeli wrote:

    > In article <>,
    > enlightened us with...
    >> Heres my problem:
    >>
    >> <a href="javascript:void(document.buysell.submit())"

    >
    > First of all, void is just that - void. No params.


    This is utter nonsense. It is the `void' special unary operator.
    Its operand may be a paranthesed expression.

    > If you MUST use this because you have to support old browsers, use
    > <a href="javascript:document.forms["buysell"].submit();


    Using the `void' operator is correct here since the `submit()' method
    could return a value which replaces then the current document. *Not*
    using it is bordering to incorrect here, considering the intended use
    of the `javascript:' URI scheme: To use the return value of an
    expression as contents of a temporary HTML document.

    http://devedge.netscape.com/library/manuals/2000/javascript/1.5/guide/expr.html#1012081


    PointedEars
    --
    My proposal is not a solution for the actual problem.
    (Markus Ernst in cljs, <brkovq$hrr$1$>)
     
    Thomas 'PointedEars' Lahn, Dec 21, 2003
    #15
    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. The Crow
    Replies:
    2
    Views:
    4,427
    Bruce Barker
    Sep 27, 2005
  2. Replies:
    2
    Views:
    6,295
  3. Harry
    Replies:
    3
    Views:
    382
    Harry
    Jan 12, 2006
  4. alan_atwood
    Replies:
    2
    Views:
    206
  5. Replies:
    3
    Views:
    726
Loading...

Share This Page