www.webdeveloper.com
Results 1 to 9 of 9

Thread: if statment to output image

  1. #1
    Join Date
    May 2012
    Posts
    7

    if statment to output image

    Hi guys i goy a problem with my js. I have got 4 if statements on a page were if the user enters for example 25 the box will turn blue. Now what I want is that after the user inputs 4 things and all boxes are blue I want an image to appear. I will post the code and the codes which I have tried.

    Code:
    function changecolour1(textbox) { 	//Function name and passing it the priamter textbox
    var val = textbox.value; 		//Everthing on the right side gets copyed to the left side
    if (val == 26) { 			//checks if val has the value of 26
    	textbox.style.backgroundColor = 'blue'; 	//if it dose it will go blue
    	}
    	else {
    	textbox.style.backgroundColor = 'red'; 		//if it dose not match it will go red 
    	}
    addresult()
    }
    
    function changecolour2(textbox) {
    var val = textbox.value;
    if (val == 20) {
    	textbox.style.backgroundColor = '0000FF';
    	}
    	else {
    	textbox.style.backgroundColor = 'FF0000';
    	}
    }
    
    function changecolour3(textbox) {
    var val = textbox.value;
    if (val == 63) {
    	textbox.style.backgroundColor = 'blue';
    	}
    	else {
    	textbox.style.backgroundColor = 'red';
    	}
    }
    
    function changecolour4(textbox) {
    var val = textbox.value;
    if (val == 36) {
    	textbox.style.backgroundColor = 'blue';
    	}
    	else {
    	textbox.style.backgroundColor = 'red';
    	}
    }
    Code:
    function addresult() {
    var val = Inputbox1.value;
    	if ( val == 1) {
    		alert ("Foo")
    	}
    }
    Any help would be great.

  2. #2
    Join Date
    Nov 2010
    Posts
    1,038
    can you post your html and show how you call all these functions?

  3. #3
    Join Date
    May 2012
    Posts
    7
    Hi ye sure. However the boxes work fine its the image that i wawnt to pop up that dose not work.
    Code:
    <div class = "Questionbox1">
    	<form name="form1" id="form1" action="#">
    	<input type="text" id="mytext" name="mytext" value="" onkeyup="changecolour1(this)" >
    	</form>
    	</div>
    That was just an example of how i call one of them

  4. #4
    Join Date
    Nov 2010
    Posts
    1,038
    here's one way to simplify things - you can change the div that gets displayed to an image or whatever...

    Code:
    <html>
    <head>
    <style>
    #hi{display:none}
    </style>
    </head>
    <body>
    <div id="questions">
    <input type="text" id="text26" name="mytext1" />
    <input type="text" id="text23" name="mytext2" />
    <input type="text" id="text63" name="mytext3" />
    <input type="text" id="text36" name="mytext4" />
    </div>
    <div id="hi">Hello there!</div>
    <script type='text/javascript'>
    var inps=document.getElementById("questions").getElementsByTagName("input")
    var show=false;
    for (var i = 0; i < inps.length; i++) {
    inps[i].onkeyup=function(i){
    return function(){
    inps[i].style.backgroundColor=inps[i].value==inps[i].id.replace("text","")?"blue":"red"
    for (var a = 0; a < inps.length; a++) {	
    	show=inps[a].style.backgroundColor=="blue"?true:false;
    	}
    document.getElementById("hi").style.display=show?"block":"none"	
    			}
    	}(i)
    }
    
    </script>
    </body>
    </html>

  5. #5
    Join Date
    May 2012
    Posts
    7
    Thank you very much for the help

  6. #6
    Join Date
    Nov 2010
    Posts
    1,038
    you're welcome. here's a slightly simpler version that hides it again if the user changes one of the text box values:
    Code:
    <script type='text/javascript'>
    var inps=document.getElementById("questions").getElementsByTagName("input")
    
    for (var i = 0; i < inps.length; i++) {
    inps[i].onkeyup=function(){
    var show=false;
    this.style.backgroundColor=this.value==this.id.replace("text","")?"blue":"red"
    for (var a = 0; a < inps.length; a++) {	
    	show=inps[a].style.backgroundColor=="blue"?true:false;
    	}
    document.getElementById("hi").style.display=show?"block":"none"	
    	}
    }
    
    </script>

  7. #7
    Join Date
    May 2012
    Posts
    7
    Ah thank you again very much

  8. #8
    Join Date
    Nov 2010
    Posts
    1,038
    one last tweak

    Code:
    <script type='text/javascript'>
    var inps=document.getElementById("questions").getElementsByTagName("input")
    
    for (var i = 0; i < inps.length; i++) {
    inps[i].onkeyup=function(){
    var show=true;
    this.style.backgroundColor=this.value==this.id.replace("text","")?"blue":"red"
    for (var a = 0; a < inps.length; a++) {	
    	if(inps[a].style.backgroundColor!="blue"){
    	show=false;
    	break;
    		}
    	}
    document.getElementById("hi").style.display=show?"block":"none"	
    	}
    }
    
    </script>

  9. #9
    Join Date
    May 2012
    Posts
    7
    heheh :0 u been so helpfull ty again that dose look much better

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

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



Recent Articles