how to disable an text box when text box name is like arrfirst[0] using javascript

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Scadhasini
    New Member
    • Dec 2006
    • 21

    how to disable an text box when text box name is like arrfirst[0] using javascript

    hi

    i am trying to disable array item but its not working.please help me how to disable.
    ex : index = 0;
    arrfirst[index].disabled = false ;
  • sumittyagi
    Recognized Expert New Member
    • Mar 2007
    • 202

    #2
    Originally posted by Scadhasini
    hi

    i am trying to disable array item but its not working.please help me how to disable.
    ex : index = 0;
    arrfirst[index].disabled = false ;
    arrfirst[index].disabled = false; // --> this will enable any disabled element.

    arrfirst[index].disabled = true; // --> this will disable any enabled element.

    Comment

    • Scadhasini
      New Member
      • Dec 2006
      • 21

      #3
      Originally posted by sumittyagi
      arrfirst[index].disabled = false; // --> this will enable any disabled element.

      arrfirst[index].disabled = true; // --> this will disable any enabled element.

      Hi

      but its not working.its giving error like "undefined" .
      arrfirst[index] is working but arrfirst[index].disabled is not working.

      Comment

      • sumittyagi
        Recognized Expert New Member
        • Mar 2007
        • 202

        #4
        Originally posted by Scadhasini
        Hi

        but its not working.its giving error like "undefined" .
        arrfirst[index] is working but arrfirst[index].disabled is not working.
        It works fine dear!
        there might be any other problem in your code.
        Here is a typical example of disabling elements on a page.

        Code:
        <HTML>
        <HEAD>
        <TITLE> New Document </TITLE>
        <script language="javascript" type="text/javascript">
        function disableElements(elemArr)
        {
        	for(var i=0; i<elemArr.length; i++)
        	{
        		elemArr[i].disabled = true;
        		var elemType = "";
        		var elemName = "";
        		
        		if(elemArr[i].nodeName == "INPUT")
        			elemType = elemArr[i].getAttribute("type");
        		else
        			elemType = elemArr[i].nodeName;
        		
        		if(elemArr[i].nodeName == "INPUT" || elemArr[i].nodeName == "SELECT" || elemArr[i].nodeName == "TEXTAREA")
        			elemName = elemArr[i].getAttribute("name");
        		else
        			elemName = elemArr[i].getAttribute("id");
        
        		alert(elemType + " with name/id " + elemName + " is disabled.");
        	}
        }
        
        function enableElements(elemArr)
        {
        	for(var i=0; i<elemArr.length; i++)
        	{
        		elemArr[i].disabled = false;
        		var elemType = "";
        		var elemName = "";
        		
        		if(elemArr[i].nodeName == "INPUT")
        			elemType = elemArr[i].getAttribute("type");
        		else
        			elemType = elemArr[i].nodeName;
        		
        		if(elemArr[i].nodeName == "INPUT" || elemArr[i].nodeName == "SELECT" || elemArr[i].nodeName == "TEXTAREA")
        			elemName = elemArr[i].getAttribute("name");
        		else
        			elemName = elemArr[i].getAttribute("id");
        		
        		alert(elemType + " with name/id " + elemName + " is enabled.");
        	}
        }
        
        function enableDisableElemets(disableAll)
        {
        	var elemArr = new Array();
        	var frm = document.forms["edForm"];
        	elemArr[0] = document.getElementById("txt1");
        	elemArr[1] = frm.bttn1;
        	elemArr[2] = frm.radio1;
        	elemArr[3] = frm.chk1;
        	elemArr[4] = frm.txtArea1;
        	elemArr[5] = frm.select1;
        	elemArr[6] = document.getElementById("div1");
        	
        	if(disableAll)
        		disableElements(elemArr);
        	else
        		enableElements(elemArr);
        }
        </script>
        </HEAD>
        
        <BODY>
        <form name="edForm">
        <input type="text" name="txt1" id="txt1" value="txt1">
        <input type="button" name="bttn1" value="bttn1">
        <input type="radio" name="radio1">
        <input type="checkbox" name="chk1">
        <textarea id="txtArea1" name="txtArea1">txtArea1</textarea>
        <select id="select1" name="select1">
        <option>opt1</option>
        <option>opt2</option>
        </select>
        <div id="div1">This is div1</div>
        <br><br>
        <input type="button" value="Enable Elements" onclick="enableDisableElemets(false)">
        <input type="button" value="Disable Elements" onclick="enableDisableElemets(true)">
        </form>
        </BODY>
        </HTML>

        Comment

        • Scadhasini
          New Member
          • Dec 2006
          • 21

          #5
          Hi,

          I am trying but still same problem is coming.please check this and give me a solution. here property means name. i cant give id for <html:text />

          <select id="Types" name="Types[<%=index%>]" size="1" onChange="enabl eTypes('<%="War ning["+index+ "]"%>','<%="Criti cal[" + index + "]"%>','<%=index% >')">
          <option value="First" >First</option>
          <option value="Second" >Second</option> </select>

          <html:text disabled="true" property='<%="W arning[" + index + "]"%>' size="8" maxlength="255" value="" />

          <html:text disabled="true" property='<%="C ritical[" + index + "]"%>' size="8" maxlength="255" value="" />

          Comment

          • sumittyagi
            Recognized Expert New Member
            • Mar 2007
            • 202

            #6
            Originally posted by Scadhasini
            Hi,

            I am trying but still same problem is coming.please check this and give me a solution. here property means name. i cant give id for <html:text />

            <select id="Types" name="Types[<%=index%>]" size="1" onChange="enabl eTypes('<%="War ning["+index+ "]"%>','<%="Criti cal[" + index + "]"%>','<%=index% >')">
            <option value="First" >First</option>
            <option value="Second" >Second</option> </select>

            <html:text disabled="true" property='<%="W arning[" + index + "]"%>' size="8" maxlength="255" value="" />

            <html:text disabled="true" property='<%="C ritical[" + index + "]"%>' size="8" maxlength="255" value="" />
            I havn't worked on struts.
            But form elements can be referenced by their name (through form's reference) either it is text or any input element.

            access text by name rather than id in my code, it will work then too.
            I am sure its not a javascript problem, there might be any other problem with your code. review your code thoroughly.

            Note: whenever javascript shows this type of unexpected behaviour, it might be possible you might have used any reserved word of javascript in your code. Check all the names you have given to ur controls.

            Comment

            • Scadhasini
              New Member
              • Dec 2006
              • 21

              #7
              Originally posted by sumittyagi
              I havn't worked on struts.
              But form elements can be referenced by their name (through form's reference) either it is text or any input element.

              access text by name rather than id in my code, it will work then too.
              I am sure its not a javascript problem, there might be any other problem with your code. review your code thoroughly.

              Note: whenever javascript shows this type of unexpected behaviour, it might be possible you might have used any reserved word of javascript in your code. Check all the names you have given to ur controls.


              thanks.
              it is working fine.i am using hidden fields . i given the same name for textbox and hidden field.

              Comment

              Working...