Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di kafkahc
    Registrato dal
    Mar 2002
    Messaggi
    113

    errore visualizzazione su funzione javascript

    Non riesco a capire dove sia l'errore, qualcuno mi potrebbe aiutare con al sintassi?

    Ho una funzione CHECKCHANGE javascript che metto nell'head della pagina.


    codice:
    <SCRIPT LANGUAGE="JavaScript">
    function checkchange (destinatario,destinatario2,box1, box2, box3, box4, hidden) {
    if (box1.checked) {destinatario.value=-1 & destinatario2.value=-1;} 
    else if (box2.checked){destinatario.value=-1 } {destinatario2.value=-1;} 
    else if (box3.checked){destinatario.value=-1 } {destinatario2.value=-1;} 
    else if (box4.checked){destinatario.value=-1 } { destinatario2.value=-1;} 
    else if (hidden==True){destinatario.value=-1 }
    else {destinatario.value=0} {destinatario2.value=0;}
    }
    -->
    </script>
    e che viene richiamata da degli oggetti checkbox...

    codice:
    onclick="checkchange (document.form1.JSLESero,document.form1.JSLESeroA,this,document.form1.checkseroB,this,this,document.form1.hiddenSero)"
    solo che mi da "errore di visualizzazione della pagina" e non funziona... dove sbaglio?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Se quel campo "hidden" che passi, se e` un campo <input type="hidden" ...> non e` corretto come lo tratti:
    Forse volevi scrivere:
    else if (hidden.value=='True'){destinatario.value=-1 }

    Inoltre la scrittura
    -->
    non ha senso in un JS: se ti serve, devi scriverla dentro un commento, ad esempio:
    // -->

    Inoltre ci dovrebbe essere un corrispondente
    <!--
    All'inizio dello script (subito dopo il tag <script> )
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di kafkahc
    Registrato dal
    Mar 2002
    Messaggi
    113
    grazie per le dritte,
    ho cambiato il codice in

    codice:
    function checkchange (destinatario,destinatario2,box1, box2, box3, box4, hidden) {
    if (box1.checked) {destinatario.value=-1 & destinatario2.value=-1;} 
    else if (box2.checked){destinatario.value=-1 } {destinatario2.value=-1;} 
    else if (box3.checked){destinatario.value=-1 } {destinatario2.value=-1;} 
    else if (box4.checked){destinatario.value=-1 } { destinatario2.value=-1;} 
    else if (hidden=='True'){destinatario.value=-1 }
    else {destinatario.value=0} {destinatario2.value=0;}
    }
    ma purtroppo ho ancora errore...

    Volevo chiedere, va bene come sintassi quella che ho usato per cambiare le due variabili desitinatario e destinatario2?


    codice:
    else if (box2.checked){destinatario.value=-1 } {destinatario2.value=-1;}

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    prova a togliere le due graffe vicine ... } { ....
    da tutte le righe

    else if (box2.checked){destinatario.value=-1 destinatario2.value=-1;}
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Utente di HTML.it L'avatar di kafkahc
    Registrato dal
    Mar 2002
    Messaggi
    113
    grazie, effettivamente ho fatto due o tre prove e sono riuscito a far funzinare lo script... mettendo una virgola tra le due parti...

    codice:
    function checkchange (destinatario,destinatario2,box1, box2, box3, box4, hidden) {
    if (box1.checked) {destinatario.value=-1, destinatario2.value=-1;} 
    else if (box2.checked){destinatario.value=-1, destinatario2.value=-1;} 
    else if (box3.checked){destinatario.value=-1, destinatario2.value=-1;} 
    else if (box4.checked){destinatario.value=-1, destinatario2.value=-1;} 
    else if (hidden.checked){destinatario.value=-1, destinatario2.value=0;}
    else {destinatario.value=0, destinatario2.value=0;}
    }
    L'unico problema che mi separa dalla felicità é quel cavolo di hidden... così come lo ho scritto é un checkbox, e infatti ho messo

    codice:
    else if (hidden.checked){destinatario.value=-1, destinatario2.value=0;}
    E funziona, ma io ho la necessità di renderlo invisibile ma purtroppo con

    codice:
    else if (hidden='True'){destinatario.value=-1, destinatario2.value=0;}
    sembra ignorarlo...

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Il separatore in JS e` il puntoevirgola (la virgola ha altri significati; so che nel tuo caso funziona, ma potrebbe darti effetti collaterali).


    Devi decidere se il campo hidden ti va bene come hidden, oppure se devi usare per forza un campo checkbox.

    Un campo hidden, viene scritto e ricevuto come un campo di tipo text, quindi devi costruirti la routine di scrittura/lettura;

    un checkbox invece puoi renderlo invisibile con i CSS:
    <input type="checkbox" style="display:none;" value="..." name="...">

    In alternativa puoi usare style="visibility:hidden;"
    La scelta dipende da come hai impostato i CSS per gli altri campi, e se lo spazio del campo con visibility:hidden; ti puo` dare problemi.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.