dotkpay Posted December 3, 2011 Share Posted December 3, 2011 Hello, Am trying to activate two disabled buttons by clicking the first but its not working. Am using getElementByClassName since getElementById is not favourable for multiple buttons. I cant use getElementByTagName because there will be other <input> fields on the page and I want them to be active by default. Could someone please look through my code and tell me what's wrong. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript"> function enable(obj){ var elmt=document.getElementByClassName('mybutton'); obj.onclick? elmt.disabled=false :elmt.disabled=true; } </script> </head> <body> <input type="button" value="enable" onclick="enable(this);"/> <p><input type="button" class="mybutton" value="one" disabled="disabled"/> <p><input type="button" class="mybutton" value="two" disabled="disabled"/> </body> </html> Quote Link to comment https://forums.phpfreaks.com/topic/252386-getelementbyclassname/ Share on other sites More sharing options...
haku Posted December 3, 2011 Share Posted December 3, 2011 Your first problem: You are trying to use getElementsByClassName, which isn't supported in IE until verison 9 - so your code is not going to be cross-browser compatible. Your second problem: it's getElementsByClassName Quote Link to comment https://forums.phpfreaks.com/topic/252386-getelementbyclassname/#findComment-1293944 Share on other sites More sharing options...
dotkpay Posted December 3, 2011 Author Share Posted December 3, 2011 Sorry, Yes its actually getElementsByClassName, and I have already included the 's' but its still not working. And am also ok with the it not being IE compartible because the application will be used in Firefox only. There could be something else, I just need it to work in Firefox. Quote Link to comment https://forums.phpfreaks.com/topic/252386-getelementbyclassname/#findComment-1293952 Share on other sites More sharing options...
haku Posted December 3, 2011 Share Posted December 3, 2011 Well, the 's' plays a big part in that - it doesn't return a single element, it returns an array of elements (all the elements with that class). So you will need to loop through the results for your check. Quote Link to comment https://forums.phpfreaks.com/topic/252386-getelementbyclassname/#findComment-1293961 Share on other sites More sharing options...
dotkpay Posted December 3, 2011 Author Share Posted December 3, 2011 The 's' error has already been corrected but it still can't work so there must be something else that isn't right with the code. Quote Link to comment https://forums.phpfreaks.com/topic/252386-getelementbyclassname/#findComment-1293965 Share on other sites More sharing options...
haku Posted December 3, 2011 Share Posted December 3, 2011 Yes - as I said, it returns an array of elements, not a single element, so you will have to loop through the results. Quote Link to comment https://forums.phpfreaks.com/topic/252386-getelementbyclassname/#findComment-1293980 Share on other sites More sharing options...
dotkpay Posted December 3, 2011 Author Share Posted December 3, 2011 Could you please show me how to loop through the results, I do js but only at a basic level, I major in C++ and PHP. Thanks so much haku, your assistance will be very much appreciated. Quote Link to comment https://forums.phpfreaks.com/topic/252386-getelementbyclassname/#findComment-1293985 Share on other sites More sharing options...
haku Posted December 3, 2011 Share Posted December 3, 2011 It's pretty much exactly the same as a PHP loop: for(var i = 0; i < something.length, i++) { if(something[i] == somethingElse) { // do whatever it is you want. } } Quote Link to comment https://forums.phpfreaks.com/topic/252386-getelementbyclassname/#findComment-1293990 Share on other sites More sharing options...
dotkpay Posted December 4, 2011 Author Share Posted December 4, 2011 Thanks haku, got the trick Quote Link to comment https://forums.phpfreaks.com/topic/252386-getelementbyclassname/#findComment-1294383 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.