Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Comporre stringa dinamicamente.

    Supponiamo che io abbia il seguente codice html in una pagina:

    codice:
    funcion verificaSelezione(){
    
    if(document.defaultform.opzione1.unchecked){
    alert("Valorizzare l'opzione di stampa");
    return false;
    }
    
    if(document.defaultform.opzione2.unchecked){
    alert("Valorizzare l'opzione di stampa");
    return false;
    }
    
    if(document.defaultform.opzione3.unchecked){
    alert("Valorizzare l'opzione di stampa");
    return false;
    }
    
    }
    
    <form action="" name="defaultform" method="post">
    <input type="checkbox" name="opzione1" value="false">
    <input type="checkbox" name="opzione2" value="false">
    <input type="checkbox" name="opzione3" value="false">
    <a href="link.html" onclick="return verificaSelezione();">
    [img]immagine.jpg[/img]
    </a>
    </form>
    La function verificaSelezione fa già il suo dovere, ovvero controllare che se nessuna delle caselle di spunta è selezionata, allora deve riproporre la maschera dopo avere avvisato con l'alert.

    Adesso quello che io devo ottenere e potere settare i tre flag relativi alle tre option a TRUE o a FALSE a seconda se selezionati o no e comporre dinamicamente il link anzichè staticamente nell'a href, tramite JS.

    Quello da cui son certo bisogna partire è la funzione JS di sopra, implementandola, ma al momento (sarà anche forse l'orario prestivo della mattina ), non mi viene in mente come.

    Se mi potete dare una mano....

    Quello che dovrebbe venire fuori cone stringa di url, dovrebbe essere la seguente:

    'pagina.jsp?flag_opzione1=true&amp;flag_opzione2=f alse&amp;flag_opzione3=true'

    Qualcosa di questo tipo che si apra in target blank ovviamente....

    Nell'esempio la pagina da aprire riceve valorizzati il primo ed il terzo checkbox, mentre il secondo resta deselezionato....

    Ma questa composizione di stringa deve avvenire interattivamente nel momento stesso in cui si selezionano o no le caselle e poi ovviamente lo stringone essere linkato al pulsante href di cui accennato nel codice di sopra....

    Grazie.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Se usi un form in method="get" fa gia` quasi tutto quello che chiedi in automatico.

    Nel senso che aggiunge al link le opzioni selezionate con il loro value. Quindi dovresti fare:

    <form method="get" action="pagina.jsp" target="_new" ...>
    <input type="checkbox" name="opzione1" value="true" />opzione1

    <input type="checkbox" name="opzione2" value="true" />opzione2

    <input type="checkbox" name="opzione2" value="true" />opzione3

    <input type="submit" value="start" />
    </form>

    Non ho capito cosa dovrebbe fare lo script in questo contesto.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    No Michele, io non devo sottomettere il form, ma da un a href="..." aprire un popup passando i valori di spunta o meno precedentemente selezionati a livello del form...

    Quindi diciamo che non deve accadere a livello del link la composisione ma in una funziona JS scatenata forse più che dal link (che bene o male deve riceverla già composta), dalla selezione o meno dei checkbox....
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non ho capito.
    Il form ti serve anche a qualcos'altro?
    Ci sono altre informazioni che non vuoi spedire?

    In caso contrario, sottomettere il form con target una pagina HTML e` equivalente a quello che vuoi fare tu.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Il form fondamentalmente non mi serve.

    E' il link che fa tutto.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    L'hai provato?
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    No, ma quello che serve a me non si sintetizza nella modalità che mi hai esposto, probabilmente sono io che non riesco aspiegarmi....
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ritengo di aver capito cosa vuoi spedire.

    In pratica tu chiedi di fare uno script per inviare i dati del form in modalita` get (con i campi separati da & e con l'uguale fra nome e valore)

    Ma non capisco perche` vuoi per forza usare uno script, quando il form fa gia` tutto da solo.

    Se poi questo metodo non ti basta, allora ti spiego come fare l'altro.

    Inoltre c'e` da sistemare lo script, che non credo funzioni (oppure non ho capito cosa vuoi fare con il tuo script).

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Ho risolto e ti posto anche lo script che può essere utile:

    Funzione 1:

    codice:
    //Se le caselle di selezione non sono spuntate, allora errore.
    function verificaSelezione(){
    
        var den;
        den=document.defaultform;
     
        if(!den.ana.checked && !den.obi.checked && !den.gru.checked && !den.spe.checked && !den.pub.checked && !den.par.checked){ 
         alert("Valorizzare almeno una scelta di stampa!!!"); 
         return false;
        }
        return true;
    }
    Funzione 2:

    codice:
    //Setta a true o false a seconda che le caselle siano selezionate o no.
    function verificaComposizione(){
    
        var den;
        den=document.defaultform;
    
        if(den.ana.checked){
           flg_ric_ana_det=true;
        }else{
           flg_ric_ana_det=false;
        }
    
        if(den.obi.checked){
           flg_ric_obi_det=true;
        }else{
           flg_ric_obi_det=false;
        }
    
        if(den.gru.checked){
           flg_ric_lista_gru=true;
        }else{
           flg_ric_lista_gru=false;
        }
    
        if(den.spe.checked){
           flg_ric_lista_spe=true;
        }else{
           flg_ric_lista_spe=false;
        }
    
        if(den.pub.checked){
           flg_ric_lista_pub=true;
        }else{
           flg_ric_lista_pub=false;
        }
    
        if(den.par.checked){
           flg_ric_lista_par=true;
        }else{
           flg_ric_lista_par=false;
        }
    }
    Funzione 3:

    codice:
    //Compone la stringa per richiamare la pagina di stampa. 
    function componiStringa(){
    
        var url = 'pagina.asp?&amp;flg_ric_ana_det='+flg_ric_ana_det+
                  '&amp;flg_ric_obi_det='+flg_ric_obi_det+
                  '&amp;flg_ric_lista_gru='+flg_ric_lista_gru+
                  '&amp;flg_ric_lista_spe='+flg_ric_lista_spe+
                  '&amp;flg_ric_lista_pub='+flg_ric_lista_pub+
                  '&amp;flg_ric_lista_par='+flg_ric_lista_par+
                  '&amp;id_progetto='+'<%=id_progetto%>'+
                  '&amp;id_richiesta='+'<%=id_richiesta%>'+
                  '&amp;id_bando='+'<%=id_bando%>';
    
       	window.open(url, '_blank', 'resizable,scrollbars,width=400,height=300');
    }
    Mentre nell'html:
    codice:
    <form name="defaultform" method="post" action="">
    <input type="checkbox" name="ana" value="false" onclick="verificaComposizione();">
    <input type="checkbox" name="obi" value="false" onclick="verificaComposizione();">
    <input type="checkbox" name="gru" value="false" onclick="verificaComposizione();">
    <input type="checkbox" name="ana" value="false" onclick="verificaComposizione();">
    <input type="checkbox" name="spe" value="false" onclick="verificaComposizione();">
    <input type="checkbox" name="pub" value="false" onclick="verificaComposizione();">
    <input type="checkbox" name="par" value="false" onclick="verificaComposizione();">
    <ahref="#" onClick="if(verificaSelezione()){return componiStringa();}">
    [img]tua_immagine.gif[/img]
    </a>
    </form>
    :metallica
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  10. #10
    arcoseno
    Guest
    Bella Maximum!!!!! io avevo capito, il fatto è che anche io avevo lo stesso problema... e non sapevo come risolvere. aspettavo con ansia la soluzione al tuo 3d. io per risolvere avevo usato invece che le checbox i radiobutton. O si O no e inviavo..ora pero' metto le check grazie alla tua funzione!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.