Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    4

    Blocco if particolare..

    Scusate la mia ignoranza in materia ma mi sto inserendo da poco nel linguaggio javascript e ho delle difficoltà..

    Ho queste select in un form, devo far in modo che se scelgo una delle opzioni A più l'opzione SI si verifichi una condizione, mentre se faccio altre combinazioni se ne verifichino altre. Le select in questione sono così predisposte come di seguito, Purtroppo non riesco a capire come posso far in modo che per 3 condizioni si verifichi lo stesso risultato.

    Materiale:
    - Telo bandiera antivento 155 gr (A)
    - Telo bandiera per interni 130 gr (A)
    - Gonfalone e stendardo (A)
    - TNT 95 gr (B)
    - Canvas 400 gr (C)
    - Canvas 400 gr ad alta risoluzione (C)

    Taglio con cucitura antisfilo (non selezionabile solo se in “Materiale” è stata scelta l’opzione B):
    - Si
    - No

    Io ho fatto questo codice:
    function agg(form) {

    var materiale=form.elements['materiale'].value;
    var cucituraantisfilo=form.elements['cucituraantisfilo'].value;

    if (materiale=="TNT 95 gr") {
    document.getElementById("invisibile").style.displa y = 'none';
    } else {
    document.getElementById("invisibile").style.displa y = 'block';
    }

    if ((materiale=="Telo bandiera antivento 155 gr") && (cucituraantisfilo=="si")){
    {document.getElementById("tuttoinvisibile").style. display = 'none';
    }

    else if ((materiale=="Telo bandiera per interni 130 gr") && (cucituraantisfilo=="si")){
    {document.getElementById("tuttoinvisibile").style. display = 'none';
    }

    else if ((materiale=="Gonfalone e stendardo") && (cucituraantisfilo=="si")){
    {document.getElementById("tuttoinvisibile").style. display = 'none';
    }

    else {
    {document.getElementById("tuttoinvisibile").style. display = 'block';}
    }

    il codice non funziona, e ho visto anche che non funziona perchè le azioni sono uguali per le 3 condizioni ... e allora qual'è la giusta sintassi?

  2. #2
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Non è chiarissimo quello che scrivi... provo a sintetizzare...

    codice:
    <!doctype html>
    <html>
    <head>
    <title>Esempio</title>
    <script type="text/javascript">
    function miaFunzione(questionario) {
    	var indiceMateriali = questionario.materiali.selectedIndex;
    	var indiceCucitura = questionario.cucituraantisfilo.selectedIndex;
    	document.getElementById("tuttoinvisibile").style.display = (indiceMateriali + 1 | 3) - indiceCucitura === 3 ? "none" : "block";
    	document.getElementById("idCucitura").style.display = indiceMateriali === 3 ?  "none" : "block";
    }
    </script>
    </head>
    
    <body>
    
    <form name="miaForm">
    
    
    <select name="materiali" onchange="miaFunzione(this.form);">
    <option value="tuoValoreA1" selected>Telo bandiera antivento 155 gr (A)</option>
    <option value="tuoValoreA2">Telo bandiera per interni 130 gr (A)</option>
    <option value="tuoValoreA3">Gonfalone e stendardo (A)</option>
    <option value="tuoValoreA4">TNT 95 gr (B)</option>
    <option value="tuoValoreA5">Canvas 400 gr (C)</option>
    <option value="tuoValoreA6">Canvas 400 gr ad alta risoluzione (C)</option>
    </select></p>
    
    
    
    <select name="cucituraantisfilo" id="idCucitura" onchange="miaFunzione(this.form);">
    <option value="tuoValoreB1">Si</option>
    <option value="tuoValoreB2">No</option>
    </select></p>
    
    
    <input type="submit" value="Invia dati"></p>
    <div id="tuttoinvisibile" style="display: none;">Questo div si ha per id "tuttoinvisibile".</div>
    </form>
    </body>
    </html>
    È quello che volevi?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.