using 'name' or using 'id' of a form?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Carl

    using 'name' or using 'id' of a form?

    When using 'name' in the form, it works, when using 'id' it doesn't. Any
    comments about this? By the way, is this a good method or is it better to
    use 'getElementById '?
    Carl

    <body>
    <form name="myform">
    <input type button id="antw1" value="test">
    </form>

    <script type="text/javascript">
    res=document.my form.antw1.valu e
    alert(res)
    </script>


  • Børge Alvestad

    #2
    Re: using 'name' or using 'id' of a form?


    "Carl" wrote in message news:bja9er$5a6 $1@reader10.wxs .nl...[color=blue]
    > When using 'name' in the form, it works, when using 'id' it doesn't.[/color]
    Any[color=blue]
    > comments about this? By the way, is this a good method or is it better[/color]
    to[color=blue]
    > use 'getElementById '?
    > Carl
    >
    > <body>
    > <form name="myform">
    > <input type button id="antw1" value="test">
    > </form>
    >
    > <script type="text/javascript">
    > res=document.my form.antw1.valu e
    > alert(res)
    > </script>
    >[/color]

    I usually give my forms both a name and an ID (both the same).
    Then i reference them by document.forms['myForm']
    i.e. document.forms['myform'].antw1.value

    getElementById( ) is the most recent method and is only available in IE5+
    and NN6+.
    It might be a good idea to get used to that method now, but make sure
    you include and option for older browsers.
    I.e.
    d=document // to ease further scripting
    if (myObject=d.get ElementById('my form')) {
    res=myObject.an tw1.value
    } else {
    res=d.forms['myforms'].antw1.value
    }

    If you don't need the form tags you can access the objects directly
    though;
    res=antw1.value

    Hope this helped.


    --
    B Alvestad
    aka BraveBrain


    Comment

    • Grant Wagner

      #3
      Re: using 'name' or using 'id' of a form?

      "Børge Alvestad" wrote:
      [color=blue]
      > "Carl" wrote in message news:bja9er$5a6 $1@reader10.wxs .nl...[color=green]
      > > When using 'name' in the form, it works, when using 'id' it doesn't.[/color]
      > Any[color=green]
      > > comments about this? By the way, is this a good method or is it better[/color]
      > to[color=green]
      > > use 'getElementById '?
      > > Carl
      > >
      > > <body>
      > > <form name="myform">
      > > <input type button id="antw1" value="test">
      > > </form>
      > >
      > > <script type="text/javascript">
      > > res=document.my form.antw1.valu e
      > > alert(res)
      > > </script>
      > >[/color]
      >
      > I usually give my forms both a name and an ID (both the same).
      > Then i reference them by document.forms['myForm']
      > i.e. document.forms['myform'].antw1.value
      >
      > getElementById( ) is the most recent method and is only available in IE5+
      > and NN6+.
      > It might be a good idea to get used to that method now, but make sure
      > you include and option for older browsers.
      > I.e.
      > d=document // to ease further scripting
      > if (myObject=d.get ElementById('my form')) {
      > res=myObject.an tw1.value
      > } else {
      > res=d.forms['myforms'].antw1.value
      > }
      >
      > If you don't need the form tags you can access the objects directly
      > though;
      > res=antw1.value
      >
      > Hope this helped.
      >
      > --
      > B Alvestad
      > aka BraveBrain[/color]

      document.forms['formName'].elements['elementName'] (or
      document.forms['formName'].elementName) is still part of the standard.
      There's no reason to test for and use getElementById( ). If getElementById( )
      /is/ present, then you know you can still retrieve the value of a form
      element using document.forms[...].elements[...].

      As for giving your form elements the same NAME and ID. While it seems
      economical and seems to work reliably across the majority of browsers,
      recent discussions in this newsgroup have convinced me it's a bad practice.
      This is especially true of things like checkboxes and radio buttons, which
      can have several input instances with the same NAME, but each one should
      have a unique ID.

      As a result, I've begun using something like NAME="myInputNA ME"
      ID="myInputID" (I haven't quite decided on the best naming scheme yet). For
      groups of radio buttons, it's NAME="myRadioNA ME" ID="myRadioID1 " (or maybe
      ID="myRadio1ID" , as I said, I haven't arrived at a conclusion as to what's
      better).

      Anyway, the point was, there's no reason to test for and use
      getElementById( ). If it's supported, then so is
      document.forms[...].elements[...].

      --
      | Grant Wagner <gwagner@agrico reunited.com>

      * Client-side Javascript and Netscape 4 DOM Reference available at:
      *


      * Internet Explorer DOM Reference available at:
      *
      Gain technical skills through documentation and training, earn certifications and connect with the community


      * 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-deve...upgrade_2.html


      Comment

      • Douglas Crockford

        #4
        Re: using 'name' or using 'id' of a form?

        > When using 'name' in the form, it works, when using 'id' it doesn't. Any[color=blue]
        > comments about this? By the way, is this a good method or is it better to
        > use 'getElementById '?[/color]

        'id' is used to access specific objects in the DOM. 'name', in form elements, is
        used to fill in the names in the postdata that is generated when the form is
        submitted. Early browsers tended to use one as the default for the other, which
        led to general confusion about the roles of the attributes.



        Comment

        • Børge Alvestad

          #5
          Re: using 'name' or using 'id' of a form?


          Reply to "Grant Wagner", message
          news:3F58B9CB.8 74CA599@agricor eunited.com...

          Thanks for useful information, Grant ;)


          --
          Børge Alvestad
          aka BraveBrain


          Comment

          Working...