Visualizzazione dei risultati da 1 a 4 su 4

Discussione: onclick javascript

  1. #1

    onclick javascript

    Buongiorno. in una pagina asp ho inserito questo codice javascript. In esso non riesco a far funzionare l'onClick che richiama una funzione, chiamata setRadio, per attribuire alcuni valori a seconda del checkbox selezionato.
    Sapete dirmi dov'è l'errore?
    Grazie,
    Paolo1974

    <SCRIPT language="JAVASCRIPT">

    function scegli(num,proc)
    {
    var scelta=num;
    var procedura = proc;

    if (scelta == 1){
    document.writeln("<form name='form1' method='post' action='modulo_a_3.asp'>");
    document.writeln("<input type=checkbox name=agg_si value=si")
    document.writeln("onClick='setRadio(\'aggsi\')'>") ;
    document.writeln("<label><font face='Verdana, Arial, Helvetica, sans-serif'>no</font></label>");
    document.writeln("<input type=checkbox name=agg_no value=no")
    document.writeln("onClick='setRadio(\'aggno\')'>") ;
    document.writeln("</form>");
    </script>

    <script language="JavaScript">
    function setRadio(value){

    if(value == "aggsi"){
    window.document.form1.agg_si.checked = true;
    window.document.form1.agg_no.checked = false;
    }
    if(value == "aggno"){
    window.document.form1.agg_si.checked = false;
    window.document.form1.agg_no.checked = true;
    }
    }
    </script>

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ma quando lanci questa funzione?
    function scegli(num,proc)
    se lo fai in fase di rendering, mentre la pagina e' in costruzione, ok
    se la richiami dopo, magari mediante qualche gestore evento (onload...) e/o in seguito ad azione dell' utente (onclick...)
    non puo' funzionare perche' qualsiasi richiamo a document.write o writeln a rendering finito sovrascrive il documento corrente

    = la funzione setRadio non esiste piu'

    se la cosa non deve essere molto dinamica inserisci gli elementi in un livello e alterane la visibilita' o il display in maniera dinamica

    altrimenti approfondisci l' uso di innerHTML (in genere sostituto del document.write a rendering finito) o degli altri strumenti che il DOM ti mette a disposizione (speciale DOM di pro.html.it)

    ciao

  3. #3
    la funzione "function scegli(num,proc)" è lanciata dall'onload presente nel body: <body onLoad="scegli('<%=request.form("scelta")%>','<%=p roc%>')">

    Tu personalmente come ti comporteresti? In attesa di approfondire il DOM, come posso risolvere nell'immediato il mio problema?

    Ti ringrazio
    P.1974

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    come gia' detto, in qualsiasi condizione avrai un massimo di 2 checkbox che si escludono a vicenda?
    codice:
    <div id="ck_scelta" style="display:none">
    <form>
    <input type="checkbox" name="agg_si" value="si" onClick="setRadio('aggsi')" />
    <input type="checkbox" name="agg_no" value="no" onClick="setRadio('aggno')" />
    </form>
    </div>
    con funzione setRadio inviarata
    l' altra invece diventa
    codice:
    function scegli(num,proc){ 
    var scelta=num; 
    var procedura = proc;
    document.getElementById('ck_scelta').style.display= (scelta == 1)?'block':'none';
    }
    ciao

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.