k0nstantinos Δημοσ. 21 Απριλίου 2015 Δημοσ. 21 Απριλίου 2015 Έχουμε ένα πρόβλημα με το if μέσα στην if δεν κάνει την αναλόγια στο δεύτερο if και ανά αναγνωρίζει μόνο το πρώτο site που έχουμε ορίσει. Όποιος μπορεί να μας δόση μια συμβουλή θα μας βοηθούσε αρκετά. function displayName(form){ var browsername=window.location.href=="istoria.html"; if (confirm('Time ' +form.wra.value + ' atoma ' + form.atoma.value + ' ' + form.sala.value ) == true) { if (sala=sala_1){ window.open("ble sala.html") } else if (sala=sala_2){ window.open("kafe sala.html") } }else { x=alert("try again") }} <form id="form1" name="form1" method="post" action=""> <p> <label> <input type="radio" name="sala" value="1" id="sala_0" /> ble sala</label> <br /> <label> <input type="radio" name="sala" value="2" id="sala_1" /> kafe sala</label> <br /> <label> <input type="radio" name="sala" value="3" id="sala_2" /> mesea sala</label> <br /> </p> </form>
AlexHello Δημοσ. 21 Απριλίου 2015 Δημοσ. 21 Απριλίου 2015 Και στα δυο εμφωλευμενα if και else if παρατηρω οτι ο ελεγχος γινεται με ενα '=' αντι για δυο ισον '==' προφανως εκει εντοπιζεται το προβλημα (edit) Η εκφραση a = b (τουλαχιστον στην javascript) επιστρεφει την τιμη της μεταβλητης b. Οποτε για οποιαδηποτε τιμη της b (ετκος 0) η εκφραση a = b ειναι παντα αληθης και γι' αυτο μπορει σε ορισμενες περιπτωσεις η απωλεια του δευτερου '=' σε ελεγχο δομης επιλογης να οδηγει σε επιθυμητα αποτελεσματα. 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα