Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 4 of 4
  1. #1
    Senior Coder jcdevelopment's Avatar
    Join Date
    Oct 2007
    Location
    Cowboy Nation
    Posts
    2,182
    Thanks
    174
    Thanked 257 Times in 257 Posts

    Disabling a text field depending on 2 options

    Not 100% sure why or how to make this work.

    I have 5 options in a select drop-down. Only two of them are to disable a text field. I have written it successfully to disable on one option. How would I add the second option? I have tried many different ways, and i know its something small that i am missing.

    Below is the code that does not work but shows the 2 options that disable my text field.

    Code:
    <script type="text/javascript">
        function type_disable() {
    		var qr_type = document.getElementById('qr_type');
        var qr_owner = document.getElementById('qr_owner');
        if(qr_type.value == 'bio' || 'rebrand')
            qr_owner.disabled = true
        else
            qr_owner.disabled = false
    }
    	
    </script>
    Code:
    <tr>
    	
    	<td align="right"><span class="re">*</span>Type: </td>
    	<td align="left"> &nbsp;<select id="qr_type"  name="qr_type" onChange="type_disable()">
    	
    	<option value="0">Select Type</option>
    		 <option value="property">Property Code</option> 
    		 <option value="ipw">IPW Code</option> 
    		 <option value="bio">Biography Code</option> 
    		 <option value="rebrand">Rebrand Code</option> 
    		 <option value="property_rebrand">Property-rebrand Code</option> 
    		 </select>
    	 
    	 </td>
    	<td ></td>
    	</tr>
    
    	
    	<tr>
    	
    	<td align="right"><span class="re">*</span>Owner: </td>
    	<td align="left"> &nbsp;<input type="textbox" name="qr_owner" id="qr_owner" size="30" value=""/></td>
    	<td ></td>
    	</tr>
    Thanks for any help!

  • #2
    Regular Coder
    Join Date
    Nov 2002
    Posts
    672
    Thanks
    1
    Thanked 1 Time in 1 Post
    The || separates statements, not values. Do this instead:

    Code:
     if(qr_type.value == 'bio' || qr_type.value == 'rebrand')
    It may be easier to assign numeric values to the options so that you check if the value is greater than 0.

  • Users who have thanked Tails for this post:

    jcdevelopment (08-30-2011)

  • #3
    Senior Coder jcdevelopment's Avatar
    Join Date
    Oct 2007
    Location
    Cowboy Nation
    Posts
    2,182
    Thanks
    174
    Thanked 257 Times in 257 Posts
    If only i got paid for my "brain farts"! thanks.

  • #4
    Supreme Master coder! Philip M's Avatar
    Join Date
    Jun 2002
    Location
    London, England
    Posts
    17,982
    Thanks
    203
    Thanked 2,536 Times in 2,514 Posts
    var qr_type = document.getElementById('qr_type');

    Just a comment, be aware that in Internet Explorer, names and IDs are global variables and thus you should NEVER use a global variable or function name which is the same as an HTML element name or ID.

    Here your variables are local, not global scope, but even so it is perhaps unwise or confusing to assign the same name.

    All the code given in this post has been tested and is intended to address the question asked.
    Unless stated otherwise it is not just a demonstration.


  •  

    Tags for this Thread

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •