+ Reply to Thread
Results 1 to 3 of 3

Thread: Disable/Enable dropdown menu onChange

  1. #1
    driveflexfuel is offline x10 Sophmore driveflexfuel is an unknown quantity at this point
    Join Date
    Jul 2008
    Posts
    159

    Disable/Enable dropdown menu onChange

    I am not a fan of javascript/ajax so I am hoping someone can help me out. I am offering 500 credits to the first to add enable/disable coding to the following code. When someone selects the year it needs to enable the make and so on.

    This is the js file named myjs.js
    Code:
    var request = false;
    
    try {
    
      request = new XMLHttpRequest();
    
    } catch (trymicrosoft) {
    
      try {
    
        request = new ActiveXObject("Msxml2.XMLHTTP");
    
      } catch (othermicrosoft) {
    
        try {
    
          request = new ActiveXObject("Microsoft.XMLHTTP");
    
        } catch (failed) {
    
          request = false;
    
        }
    
      }
    
    }
    
    
    
    
    
    if (!request)
    
      alert("Error initializing XMLHttpRequest!");
    
    
    
    var url = 'kits.php';
    
    var set_year =0;
    
    var sid=null;//dont delete or edit
    
    var selectids = new Array("year","make","model","engine");
    
    function setdata(option,id) 
    
    {
    
       resetchoose(id);
    
       sid = id; 
    
       //alert(sid);
    
       //alert("test");
    
       data=getdata(id);
    
       var t=new Date();
    
       var url = "product.php?option="+option+"&time="+t.getTime();
    
       request.open("POST",url, true);
    
       request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    
       request.send(data);
    
       request.onreadystatechange = updateList;
    
       
    
    }
    
    function setyear(option,id) 
    
    {
       resetchoose(id);
    
       sid = id; 
    
       //alert(sid);
    
       //data=getdata(id);
    
       var t=new Date();
    
       var url = "product.php?option="+option+"&time="+t.getTime();
    
       request.open("GET",url, true);
    
       request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    
       request.send(null);
    
       request.onreadystatechange = updateList;
    
    }
    
    setyear('allyear','year');
    
    
    
    function send_query()
    
    {
    
       limit = selectids.length;
    
       //alert(limit);
    
       for(var i=0 ; i<limit; i++){
    
          si = document.getElementById(selectids[i]).selectedIndex;
    
          if (si==0){
    
             alert(selectids[i]+' is not selected');
    
             return false;
    
          }
    
       }
    
    }
    
    function getdata(curr)
    
    {
    
       var data = null;
    
       var index =0;
    
       var cs = selectids[index];
    
       val = document.getElementById(cs).value;
    
       data = cs + "=" + encodeURIComponent(val);
    
       if (cs==curr) return data;
    
       index = index+1;
    
       while(curr!=selectids[index]){
    
          
    
          cs = selectids[index];
    
          val = document.getElementById(cs).value;
    
          data = data+"&"+cs + "=" + encodeURIComponent(val);
    
          index = index+1;
    
       }     
    
       return data;
    
    }
    
    function resetchoose(id)
    
    {
    
       curr = id; 
    
       limit = selectids.length;
    
       //alert(limit);
    
       for(var i=0 ; i<limit; i++){
    
          if(curr==selectids[i]) {
    
             var index =i; 
    
             break;
    
             //alert(index)
    
          }
    
       }
    
       for(i=index;i<limit;i++){
    
          rs = selectids[i]
    
          //alert(rs+  'must reset');
    
          mr = document.getElementById(rs);
    
          if (mr!=null)document.getElementById(rs).selectedIndex=0;
    
       }
    
    }
    
    
    
    function updateList() {
    
    
    
       if (request.readyState == 4) {
    
           if (request.status == 200) {
    //alert(request.responseText);
            var make=request.responseText.split("|");
    
             //alert(make);
    
             var limit = make.length-1;
             //alert(limit);
             var list =document.getElementById(sid);
    
             var oid = sid+"1"; 
              //alert(oid);
             var member = document.getElementById(oid);
             var nvg = document.getElementById(oid);
             member = nvg.nextSibling;
                while((member!=null))
               {
                   list.removeChild(member);
                   member=nvg.nextSibling;
               }
    
             
    
             for(var i=0; i<limit; i++){
    
                value = make[i];
    
                //alert(value);
    
                var newitem=document.createElement("option");
    
                newitem.setAttribute("value", value);
    
                var text = document.createTextNode(value);
    
                newitem.appendChild(text);
    
                 list.appendChild(newitem);
    
           } 
    
           } else if (request.status == 404) {
    
             alert("URL does not exist.");
    
           } else {
    
             //alert("Status is: " + request.status);
    
           }
    
         }      
    
    }
    
    //resetchoose(-1);
    This is the form

    Code:
    <script type="text/javascript" src="myjs.js"></script>
    
    <form action="../store/product.php" method="post" id="myform" onSubmit="return send_query()">
    <table border="0" background="../images/kit_selection.jpg" width="500" height="271" align="center">
    <tr><td>
    <h2 align="center">Select your vehicle below.</h2>
    <table align="center">
    <tr><td width="50"><b>Year:</b></td> <td><select  id="year" name="year" onChange="setdata('setyear','make')" style="width: 225px;">
    <option id="year1">-Select Year-</option>
    <option id="year2">-Select Year-</option>  
    
    </select> </td></tr>
    <tr><td width="50"><b>Make:</b></td> <td><select id="make"  name="make" onChange="setdata('setmake','model')" style="width: 225px;">
    <option id ="make1">-Select Make-</option>
    </select> </td></tr>
    
    
    <tr><td width="50"><b>Model:</b></td> <td>
    <select id="model" name="model" onChange="setdata('setmodel','engine')" style="width: 225px;">
    <option id="model1">-Select Model-</option>
    </select>
    </td></tr>
    
    <tr><td width="50"><b>Engine:</b></td> <td>
    <select id="engine" name="engine" style="width: 225px;">
    <option id="engine1">-Select Model-</option>
    </select>
    </td></tr>
    
    <tr><td colspan="2" align="center"><input type= "submit" name = "go" value="SendQuery">
    <script language="JavaScript">
    setyear('allyear','year');
    </script>
    </td></tr>
    </table>
    </td></tr>
    </table>
    </form>

  2. #2
    freecrm's Avatar
    freecrm is offline x10 Elder freecrm is an unknown quantity at this point
    Join Date
    May 2008
    Location
    UK
    Posts
    629

    Re: wireless alarm system

    Quote Originally Posted by buyyourall3 View Post
    if you are looking for wireless alarm system please click here for more details
    Nope..

    I would be very interested in a response to this post (above this one obviously) as well.

  3. #3
    driveflexfuel is offline x10 Sophmore driveflexfuel is an unknown quantity at this point
    Join Date
    Jul 2008
    Posts
    159

    Re: Disable/Enable dropdown menu onChange

    I was able to figure it out after a week of errors lol.

    This was added to the JS file
    Code:
    function Enablemake(){
        var x=document.getElementById("make")
        x.disabled=false
    }
    function Enablemodel(){
        var x=document.getElementById("model")
        x.disabled=false
    }
    function Enableengine(){
        var x=document.getElementById("engine")
        x.disabled=false
    }
    function Disablemake(){
        var x=document.getElementById("make")
        x.disabled=true
    }
    function Disablemodel(){
        var x=document.getElementById("model")
        x.disabled=true
    }
    function Disableengine(){
        var x=document.getElementById("engine")
        x.disabled=true
    }
    This was added to the body tag

    Code:
    onLoad="Disablemake(); Disablemodel(); Disableengine();"
    and this is the finished form

    Code:
    <form action="../store/product.php" method="post" id="myform" onSubmit="return send_query()" >
    <table border="0" background="../images/kit_selection.jpg" width="500" height="271" align="center">
    <tr><td>
    <h2 align="center">Select your vehicle below.</h2>
    <table align="center">
    <tr><td width="50"><b>Year:</b></td> <td><select  id="year" name="year" onChange="setdata('setyear','make'); Enablemake();" style="width: 225px;">
    <option id="year1">-Select Year-</option>
    <option id="year2">-Select Year-</option>  
    
    </select> </td></tr>
    <tr><td width="50"><b>Make:</b></td> <td><select id="make"  name="make" onChange="setdata('setmake','model'); Enablemodel();" style="width: 225px;">
    <option id ="make1">-Select Make-</option>
    </select> </td></tr>
    
    
    <tr><td width="50"><b>Model:</b></td> <td>
    <select id="model" name="model" onChange="setdata('setmodel','engine'); Enableengine();" style="width: 225px;">
    <option id="model1">-Select Model-</option>
    </select>
    </td></tr>
    
    <tr><td width="50"><b>Engine:</b></td> <td>
    <select id="engine" name="engine" style="width: 225px;">
    <option id="engine1">-Select Model-</option>
    </select>
    </td></tr>
    
    <tr><td colspan="2" align="center"><input type= "submit" name = "go" value="Search">
    <script language="JavaScript">
    setyear('allyear','year');
    </script>
    </td></tr>
    </table>
    </td></tr>
    </table>
    </form>
    Last edited by driveflexfuel; 12-03-2008 at 12:05 PM.

+ Reply to Thread

Similar Threads

  1. 300 short cuts of Windows XP
    By goodone in forum Computers & Technology
    Replies: 34
    Last Post: 11-29-2011, 12:12 AM
  2. [REQ 800 credits] Fix css horizontal dropdown menu in IE7
    By jjwinter in forum The Marketplace
    Replies: 10
    Last Post: 11-06-2008, 11:14 PM
  3. Drop-Down Menu problems
    By gmshed in forum Programming Help
    Replies: 3
    Last Post: 04-11-2008, 12:33 AM
  4. Mobile phone Codes
    By greeting in forum Computers & Technology
    Replies: 10
    Last Post: 03-28-2008, 07:08 AM
  5. Joomla - Problem with URL links in Menu
    By Axe_Swipe in forum Scripts & 3rd Party Apps
    Replies: 0
    Last Post: 08-29-2007, 08:44 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
x10hosting free hosting for the masses
dedicated servers