Προς το περιεχόμενο

JavaScript - Δεν υπολογίζει σωστά αποτέλεσμα από radio buttons


Wise_One

Προτεινόμενες αναρτήσεις

Δημοσ.

Ρε παιδιά θα τρελαθώ, πήγα να κάνω ένα εξαιρετικά απλό quiz σε javascript και μου βγάζει ό,τι να 'ναι στο αποτέλεσμα.

 

Με λίγα λόγια (αν και θα καταλάβετε κι απ' τον κώδικα): μία φόρμα, 3 γκρουπ από radio buttons. Κάνεις την επιλογή σου και το σκριπτάκι ελέγχει συγκεκριμένη θέση στο κάθε radio group (ξέρω ποιά είναι η σωστή απάντηση) κι αν είναι επιλεγμένη, αυξάνει το σκορ κατά ένα. Δε μπορώ να καταλάβω γιατί αλλά πάντα μου βγάζει αποτέλεσμα 3!!! Ό,τι και να δώσεις, το ίδιο αποτέλεσμα θα βγάλει!!!

 

>
<html>
<head>
	<title>Metal Quiz</title>
	
	<script language="javascript">
		var totalScore = 0;
		
		function showResults(){
			if(document.forms["quiz"].powerslave[0].checked = true){
				totalScore++;
			}
			if(document.forms["quiz"].iced[3].checked = true){
				totalScore++;
			}
			if(document.forms["quiz"].iommi[1].checked = true){
				totalScore++;
			}
			alert(totalScore);
			//document.getElementById("results").innerHTML="You scored " + totalScore + "/3";
			
		}
	</script>
</head>

<body>
	<h1>It's time for the Metal Quiz!!!</h1>
	
	<form name="quiz">
		Which band made the album <b>Powerslave</b>?<br>
		<input type="radio" name="powerslave" value="im">Iron Maiden</input><br>
		<input type="radio" name="powerslave" value="jp">Judas Priest</input><br>
		<input type="radio" name="powerslave" value="m">Manowar</input><br>
		<input type="radio" name="powerslave" value="bs">Black Sabbath</input><br>
	
		<br><br>
	
		<b>Iced Earth</b> made which album?<br>
		<input type="radio" name="iced" value="isd">In Sorte Diaboli</input><br>
		<input type="radio" name="iced" value="bh">Battle Hymns</input><br>
		<input type="radio" name="iced" value="ns">Noble Savage</input><br>
		<input type="radio" name="iced" value="tds">The Dark Saga</input><br>
	
		<br><br>
	
		<b>Tony Iommi</b> plays the...<br>
		<input type="radio" name="iommi" value="b">Bass</input><br>
		<input type="radio" name="iommi" value="g">Guitar</input><br>
		<input type="radio" name="iommi" value="d">Drums</input><br>
		<input type="radio" name="iommi" value="v">Vocals</input><br>
	</form>
	<br><br>
	<input type="button" value="Results" onclick="showResults()">
	<br><br><br>
	<div id="results"></div>
</body>
</html>

 

Κάθομαι πόση ώρα και το παιδεύω αλλά άκρη δεν έβγαλα. Δε μπορώ να καταλάβω...

 

Δουλεύω σε ΧΡ virtual machine κι ελέγχω τα σκριπτάκια σε ΙΕ8...

Δημοσ.

Για να ελέγξεις τιμές πρέπει να χρησιμοποιείς διπλά ίσον (==) και όχι μονά. Το μονό ίσον (=) σημαίνει ανάθεση τιμής και όχι έλεγχο αυτής.

Δημοσ.

Damn!!! Rookie mistake...

 

Ειλικρινά, σε προηγούμενη προσπάθεια είχα βάλει διπλά ίσον αλλά είχα κι αλλού λάθος οπότε έκανα τρελές αλλαγές...

 

Θενκς ρε φίλε :)

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...