Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439

    [Js] campo form che ne compila altri

    Salve, ho un altro quesito...
    Ho un form con alcune formule, diciamo fatto così:
    formula_1 (input type="radio" name="predefinita" value="g")
    formula_2 (input type="radio" name="predefinita" value="a")
    formula_3 (input type="radio" name="predefinita" value="p")
    [...]
    Cliccando su uno ovviamente esclude l'altro.
    Sotto, ho altri campi: alcuni di tipo text, altri di tipo checkbox, e altri ancora radio.

    Vorrei fare in modo che cliccando su uno dei radio "predefinita", gli altri campi sotto vengano chekkati e settati con i valori predefiniti dalla formula.
    Ovviamente cambiando ancora uno di questi parametri la formula predefinita dovrà deselezionarsi...

    E' una cosa troppo difficile da farsi per un niubbo di javascript come me, o è fattibile?
    わさび

  2. #2
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    uppete
    わさび

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La domanda non e` chiara (o forse non completa). Comunque ti metto sulla strada (che magari ti basta):

    formula_1 <input type="radio" name="predefinita" value="g" onclick="calcola(this);">

    dove la funzione calcola(cc) cui ho passato l'oggetto dove e` stata chiamata fa tutto quello che c'e` da fare.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da Mich_
    La domanda non e` chiara (o forse non completa). Comunque ti metto sulla strada (che magari ti basta):

    formula_1 <input type="radio" name="predefinita" value="g" onclick="calcola(this);">

    dove la funzione calcola(cc) cui ho passato l'oggetto dove e` stata chiamata fa tutto quello che c'e` da fare.
    Scusami Mich_ ma io programmo un po' in php / asp / mysql e flash As (che in effetti è simile al Js ), però in Js non ho mai realizzato niente =_='

    Quello che vorrei fare io è definire una funzione che al premere di un radiobutton mi compilano altri campi (diciamo x y z) dello stesso form. Al modificare delle informazioni di questi campi x y z il radiobutton dovrebbe uncheckarsi...

    non so se sono riuscito a spiegarmi bene :master:
    わさび

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Un'idea un po' piu` concreta adesso c'e`, ma su alcuni punti sei ancora vago.

    In particolare, se qualcuno deve aiutarti a fare la funzione, deve avere qualche info di piu`.

    Comunque andiamo per piccoli passi. Ecco una bozza della funzione:
    codice:
    fuction calcola(cc) {
    var valore = cc.value;
      switch valore {
        case 'g':
          cc.form.NOMECAMPOTXT.value = 'qualcosa';
          cc.form.NOMECAMPO2TXT.value = 'qualcosaltro';
          ....
          break;
        case 'a':
          ....
          break;
        case 'p':
          ....
          break;
        default:
          alert('errore');
      }
      // qualcosa eventuale;
      return;
    }
    Devi anche chiarire cosa intendi per uncheccare un radio. l'unico modo e` cliccare un altro bottone. Eventualmetne potresti mettere un quarto bottone con l'etichetta "personalizzata", e far selezionare quello.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da Mich_
    Un'idea un po' piu` concreta adesso c'e`, ma su alcuni punti sei ancora vago.

    In particolare, se qualcuno deve aiutarti a fare la funzione, deve avere qualche info di piu`.
    Scusami Mich_, non pensavo che ti riferissi a questo...

    Comunque ora ti descrivo tutto quello che ho fatto (e che non funziona =_=')

    Dunque nella pagina ho:
    Codice PHP:
    <?php
        
    # includo il js solo in un caso specifico... e qui ok
        
    if ($insert) print "<script language=\"javascript1.2\" src=\"js/autofill.js\"></script>";
    ?>
    In autofill.js ho scritto questo codice:
    Codice PHP:
    <!--
    function 
    autofill(cc) {

        var 
    valore cc.value;
        switch 
    valore {
            case 
    'g':
            
    cc.insertuser.f.value "g";            // type=radio
            
    cc.insertuser.carta.value 1;    // type=checkbox
            
    cc.insertuser.online.value 1;    // type=checkbox
            
    cc.insertuser.foto.value 0;    // type=checkbox
            
    cc.insertuser.com.value "3";    // type=text
            
    cc.insertuser.ric.value "50";        // type=text
            
    cc.insertuser.comm.value 0;        // type=checkbox
            
    cc.insertuser.pagina.value 0;    // type=checkbox
            
    break;
        case 
    'v':

            break;
        case 
    'c':

            break;
        case 
    'p':

            break;
        default:
            
    alert('errore');
        }
        
    // qualcosa eventuale;
        
    return;

    }
    //--> 
    Nel radiobutton del form che dovrebbe azionare l'autofill ho scritto così:
    codice:
    <input type="radio" name="predefinita" value="g" onChange="autofill(this.value)">
    e ovviamente il mio form si chiama:
    <form name="insertuser"

    Per uncheccare un radio intendevo fare una cosa del genere:
    io ho 4 radio nominati "predefinita"; al modificarsi delle informazioni sotto (f, carta, online, foto, etc.) dovrebbe uncheccarsi... ma se non è possibile, come dici tu, dovrei aggiungerne un altro chiamato "personalizzata"... e fin qui ok.

    ...ma quello che ho scritto non funzia
    わさび

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    chiaro che non funziona.

    Non e` definito l'oggetto insertuser all';interno del tuo campo, mentre e` definito l'oggetto form (da lasciare esattamente cosi`, come l'ho scritto io).

    Nel mio script devi cambiare solo le parti scritte TUTTE MAIUSCOLE.
    Inoltre:
    codice:
    cc.form.f.click();             // type=radio
    cc.form.carta.checked=true;    // type=checkbox
    cc.form.com.value = "3";       // type=text
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da Mich_
    chiaro che non funziona.

    Non e` definito l'oggetto insertuser all';interno del tuo campo, mentre e` definito l'oggetto form (da lasciare esattamente cosi`, come l'ho scritto io).
    [...]
    Ho fatto così:
    Codice PHP:
    <!--
    function 
    autofill(cc) {

        var 
    valore cc.value;
        switch 
    valore {
            case 
    'g':
            
    cc.form.f.g.click();                                // type=radio
            
    cc.form.carta.checked true;                // type=checkbox
            
    cc.form.online.checked true;                // type=checkbox
            
    cc.form.foto.checked true;                    // type=checkbox
            
    cc.form.com.value "3";                        // type=text
            
    cc.form.ric.value "50"                        // type=text
            
    cc.form.comm.checked true;                    // type=checkbox
            
    cc.form.pagina.checked false;    // type=checkbox
    [...] 
    ...ma non succede nulla =_='
    p.s. il primo radio da clickare ha 4 opzioni così:
    codice:
    <input type="radio" name="f" value="g">g
    <input type="radio" name="f" value="v">v
    <input type="radio" name="f" value="c">c 
    <input type="radio" name="f" value="p">p
    per cui clicko così? cc.form.f.g.click();
    わさび

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    cc.form.f[0].click(); // per la prima opzione
    cc.form.f[1].click(); // per la seconda opzione
    ...
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da Mich_
    cc.form.f[0].click(); // per la prima opzione
    cc.form.f[1].click(); // per la seconda opzione
    ...
    gracias ^^
    però non mi funzia nulla... (in explorer e mozilla)
    nell'html il comando lo do così?
    <input type="radio" name="predefinita" value="g" onChange="autofill(this.value)">
    わさび

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.