christosglx Δημοσ. 19 Ιουλίου 2018 Δημοσ. 19 Ιουλίου 2018 Έχω γράψει τον παρακάτω κώδικα και στο πρώτο select μπορώ και ενεργοποιώ/απενεργοποιώ τα options, αλλά όταν πάω να κάνω το ίδιο, δηλαδή να απενεργοποιήσω για παράδειγμα το option απο το select με id=algorithim δεν δουλευει. Γνωρίζει κάποιος γιατί γίνεται αυτό? <!DOCTYPE> <html> <head> <meta charset="UTF-8"> <title>HDL cryptographic generator</title> <link rel="stylesheet" href="style.css" type="text/css"> <script type="text/javascript"> function addListeners() { if(document.getElementById("type").options[1].selected == true){ document.forms[0].algorithim.disabled == true; document.forms[0].algorithim.options[2].disabled == true; document.getElementById("algorithim").options[0].disabled = true; document.getElementById("algorithim").options[1].disabled = true; document.getElementById("algorithim").options[2].disabled = false; }else if(document.forms[0].type.options[0].selected == true){ document.getElementById("algorithim").options[0].disabled = false; document.getElementById("algorithim").options[1].disabled = false; document.getElementById("algorithim").options[2].disabled = true; document.getElementById("length").options[0].disabled = false; document.getElementById("length").options[1].disabled = true; document.getElementById("length").options[2].disabled = true; } } window.onchange = addListeners; </script> </head> <body> <nav class="navigation"> <a style="display: inline-block;" href="index.html">home</a> <a style="display: inline-block;" href="how-to-use.html">how to use</a> <a style="display: inline-block;" href="about.html">about</a> </nav> <h1 class="mainheader">Automatic Hardware Description Generator for Cryptographic Algorithims</h1> <form action="process.php" method="post"> <div class="algorithimType"> <p> <label for="type">Select the Cryptographic Algorithim Type(Hash Function or Block Cipher)</label> <select id="type" name="type" width="120"> <option name="HashFunction" value="HashFunction">Hash Function</option> <option name="Block_Cipher" value="BlockCipher">Block Cipher</option> </select> </p> <p> <label for="algorithim">Select the Cryptographic Algorithim</label> <select id="algorithim" name="algorithim" width="120"> <option>SHA-1</option> <option>SHA-2</option> <option disabled>AES</option> </select> </p> <p> <label for="length">Output Length</label> <select id="length" name="length" width="120"> <option>128</option> <option>256</option> <option>512</option> </select> </p> </div> <div class="hdl"> <p>Hardware Description Language</p> <label class="radiobutton" ><input type="radio" name="hdl" value="Verilog" disabled>Verilog</label> <label class="radiobutton"><input type="radio" name="hdl" value="VHDL">VHDL</label> </div> <div class="designParameter"> <p>Design Parameter</p> <label class="radiobutton"><input type="radio" name="designParameter" value="Low Area">Low Area</label> <label class="radiobutton"><input type="radio" name="designParameter" value="High Throughput">High Throughput</label> <label class="radiobutton"><input type="radio" name="designParameter" value="Low Power">Low Power</label> </div> <div class="last"> <p>High Throughput Approach</p> <select width="120"> <option>no extra effort</option> <option>pre-computation</option> <option>2 cycle loop unrolling</option> </select> </div> <div class="download"> <p> <label>Testbench</label><input class="btn" type="submit" name="testbench" id="btnTestbench" value="testbench"> </p> <p> <label><input class="btn" type="checkbox" name="characterization" value="characterization of implementation">Characterization of Implementation</label><input type="submit" name="downloadCharacterization" id="btnCharacterization" value="download"> </p> <p> <label>HDL code</label><input class="btn" type="submit" name="downloadHDL" id="btnHDL" value="download"> </p> </div> </form> <address class="communication"> © Christos Goulas <a href="mailto:[email protected]" class="info">[email protected] </a> | <a href="https://www.facebook.com/christos.goulas.9" class="info">facebook</a> </address> </body> </html> Συγνώμη παιδιά το βρήκα το λάθος και ήταν και πολυ απλό. Απλά έχω βάλει διπλό ίσον και όχι μονό
k33theod Δημοσ. 20 Ιουλίου 2018 Δημοσ. 20 Ιουλίου 2018 (επεξεργασμένο) Φίλε γεια Κατ' αρχήν προτείνω το script να το βάλεις τελευταίο element μέσα στο body .Tο doctype κάντο !doctype html To window δεν ξέρω αν έχει onchange έχει όμως σίγουρα το form. Τις δύο γραμμές μετά το πρώτο if κάντες με μονό = Αντί αυτό document.forms[0].algorithim.disabled == true; document.forms[0].algorithim.options[2].disabled == true; αυτό document.forms[0].algorithim.disabled = true; document.forms[0].algorithim.options[2].disabled = true; Τα ίδια στοιχεία αλλού τα παίρνεις με id και αλλού με forms[0] και γενικώς ο κώδικας είναι λίγο μπάχαλο. Μία συμβουλή χρησιμοποίησε την consola με μυνήματα για να βρίσκεςι τα λάθη σου μέχρι να αποκτήσεις ευχέρεια στο παραπάνω δηλαδή για να δεις αν όντως δουλεύει document.forms[0].algorithim.disabled = true; console.log ("forms0 algorithm disabled is ",document.forms[0].algorithim.disabled ); document.forms[0].algorithim.options[2].disabled = true; console.log ("forms0 algorithm options 2 disabled is ",document.forms[0].algorithim.options[2].disabled); Κάτι ακόμα. Όταν αλάζεις κάτι έτσι if(document.getElementById("type").options[1].selected == true){ document.forms[0].algorithim.disabled = true; } δεν σημαίνει ότι αν είναι το if false θα γίνει αυτόματα και το disabled false πρέπει το κάνεις εσύ. Επεξ/σία 20 Ιουλίου 2018 από k33theod
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα