disable all elements from all forms except <textarea>'s

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Bart Van der Donck

    disable all elements from all forms except <textarea>'s

    Hello,

    I have a dynamic page of which I don't know how many forms will be on
    it, neither which and how many elements will be in each form.

    I use the following java script to disable all elements from all
    forms:

    var numberForms = document.forms. length;
    var formIndex;
    for (formIndex=0; formIndex<numbe rForms; formIndex++)
    {
    for(x=0;x<docum ent.forms[formIndex].length;x++)
    { document.forms[formIndex].elements[x].disabled=true }
    }

    Now I want this to stay the same, except when an element is a
    <textarea>. So basically: script must have the same functionallity
    (disable all form elements), but not if the element is a textarea
    (then it would remain enabled).

    Is there a way to read out this <textarea> value in script ?

    Thanks,
    Bart
  • Dietmar Meier

    #2
    Re: disable all elements from all forms except &lt;textarea&gt ;'s

    Bart Van der Donck wrote:
    [color=blue]
    > Now I want this to stay the same, except when an element is a
    > <textarea>.[/color]

    var aForms = document.forms,
    nForms = aForms.length,
    i;
    for (i=0; i<nForms; i++) {
    var aElems = aForms[i].elements,
    nElems = aElems.length,
    j;
    for (j=0; j<nElems; j++) {
    if (aElems[j].type != "textarea") {
    aElems[j].disabled = true;
    }
    }
    }

    ciao, dhgm

    Comment

    • RobB

      #3
      Re: disable all elements from all forms except &lt;textarea&gt ;'s

      Bart Van der Donck wrote:[color=blue]
      > Hello,
      >
      > I have a dynamic page of which I don't know how many forms will be on
      > it, neither which and how many elements will be in each form.
      >
      > I use the following java script to disable all elements from all
      > forms:
      >
      > var numberForms = document.forms. length;
      > var formIndex;
      > for (formIndex=0; formIndex<numbe rForms; formIndex++)
      > {
      > for(x=0;x<docum ent.forms[formIndex].length;x++)
      > { document.forms[formIndex].elements[x].disabled=true }
      > }
      >
      > Now I want this to stay the same, except when an element is a
      > <textarea>. So basically: script must have the same functionallity
      > (disable all form elements), but not if the element is a textarea
      > (then it would remain enabled).
      >
      > Is there a way to read out this <textarea> value in script ?
      >
      > Thanks,
      > Bart[/color]

      var frm,
      nForms = document.forms. length,
      i = 0,
      el,
      els,
      j,
      nEls;
      for (; i < nForms; ++i)
      {
      els = document.forms[i].elements;
      for (j = 0, nEls = els.length; j < nEls; ++j)
      {
      el = els[j];
      if ('undefined' != typeof el.disabled)
      el.disabled = (el.type != 'textarea');
      }
      }

      Comment

      • Stephen Chalmers

        #4
        Re: disable all elements from all forms except &lt;textarea&gt ;'s

        Bart Van der Donck <bart@nijlen.co m> wrote in message
        news:b5884818.0 502011045.65863 ea7@posting.goo gle.com...[color=blue]
        > Hello,
        >
        > I have a dynamic page of which I don't know how many forms will be on
        > it, neither which and how many elements will be in each form.
        >
        > I use the following java script to disable all elements from all
        > forms:
        >
        > var numberForms = document.forms. length;
        > var formIndex;
        > for (formIndex=0; formIndex<numbe rForms; formIndex++)
        > {
        > for(x=0;x<docum ent.forms[formIndex].length;x++)
        > { document.forms[formIndex].elements[x].disabled=true }
        > }
        >
        > Now I want this to stay the same, except when an element is a
        > <textarea>. So basically: script must have the same functionallity
        > (disable all form elements), but not if the element is a textarea
        > (then it would remain enabled).
        >
        > Is there a way to read out this <textarea> value in script ?
        >
        > Thanks,
        > Bart[/color]

        Just add 1 line to test the 'type' property:

        var numberForms = document.forms. length;
        var formIndex;

        for (formIndex=0; formIndex<numbe rForms; formIndex++)
        for(x=0;x<docum ent.forms[formIndex].length;x++)
        if(document.for ms[formIndex].elements[x].type!='textare a')
        document.forms[formIndex].elements[x].disabled=true;


        --
        S.C. http://makeashorterlink.com/?H3E82245A





        Comment

        Working...