Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    inserire(append) valore checkbox(s) in campo input/text

    Ciao a tutti.
    Innanzitutto vado un secondo OT ma penso che sarò perdonato dato che lo faccio per fare a tutti gli utenti ma soprattutto allo staff gli auguri di buone feste.

    E ora veniamo al problema.
    Sto sbattendo la testa da giorni per trovare una soluzione al mio problema. Lo so sono un ciuccio esagerato con javascript ma è più forte di me, non ce la fa proprio ad entrarmi in testa. Il mio problema è il seguente:

    Ho una casella di input dove inserire una o più parole chiavi e successivamente selezionare i checkbox per le varie opzioni. Al click del bottone "cerca", vorrei che il contenuto dei valori delle checkbox venga aggiunto alle parole chiavi immesse all'interno del campo di input cosi da formare un unica parola.

    Ad esempio: se digito all'interno del campo input la parola musica e seleziono i checkbox rock classica pop, al click vorrei che dentro il campo input appaia tutto di fila e cioé musica rock classica pop.

    Ho trovato in giro uno script che potrebbe(?) fare al caso mio e funziona bene fino ad un certo punto ma non riesco a fare entrare il contenuto dei chekbox nel campo input.

    Chi mi da una mano?

    lo script è il seguente e lo posto pari, pari come l'ho trovato senza il campo di input (che avevo aggiunto io), per non complicarvi la vita:
    Codice PHP:
    <SCRIPT LANGUAGE="JAVASCRIPT">
    <!--

    function 
    get_check_value()
    {
    var 
    c_value "";
    for (var 
    i=0document.orderform.music.lengthi++)
       {
       if (
    document.orderform.music[i].checked)
          {
          
    c_value c_value document.orderform.music[i].value "\n";
          }
       }
    c_value "You selected the following:\n" c_value;
    alert(c_value);
    return 
    false;
    }

    //-->
    </SCRIPT>
    <FORM NAME="orderform" action="">
    What kind/s of music do you listen to?

    <INPUT TYPE="CHECKBOX" NAME="music" VALUE="Rock">
    Rock

    <INPUT TYPE="CHECKBOX" NAME="music" VALUE="Reggae">
    Reggae

    <INPUT TYPE="CHECKBOX" NAME="music" VALUE="Pop">
    Pop

    <INPUT TYPE="CHECKBOX" NAME="music" VALUE="Rap">
    Rap

    <INPUT TYPE="CHECKBOX" NAME="music" VALUE="Metal">
    Metal

    <INPUT TYPE="SUBMIT" onclick="get_check_value()">
    </FORM> 
    Ciao e grazie in anticipo a chi mi darà una mano a risolvere il problema.

  2. #2
    intendi cosi'?

    codice:
    <SCRIPT LANGUAGE="JAVASCRIPT">
    <!--
    
    function get_check_value()
    {
    var c_value = document.getElementById("campo_ricerca").value;
    for (var i=0; i < document.orderform.music.length; i++)
       {
       if (document.orderform.music[i].checked)
          {
          c_value = c_value + " " + document.orderform.music[i].value;
          }
       }
    alert(c_value);
    return false;
    }
    
    //-->
    </SCRIPT>
    
      </head>
      <body>
    <FORM NAME="orderform" action="">
    What kind/s of music do you listen to?
    
    <INPUT TYPE="CHECKBOX" NAME="music" VALUE="Rock">
    Rock
    
    <INPUT TYPE="CHECKBOX" NAME="music" VALUE="Reggae">
    Reggae
    
    <INPUT TYPE="CHECKBOX" NAME="music" VALUE="Pop">
    Pop
    
    <INPUT TYPE="CHECKBOX" NAME="music" VALUE="Rap">
    Rap
    
    <INPUT TYPE="CHECKBOX" NAME="music" VALUE="Metal">
    Metal
    
    <input type="text" id="campo_ricerca" name="ricerca" />
    <INPUT TYPE="SUBMIT" onclick="get_check_value()">
    </FORM>

  3. #3
    Ciao e grazie per aver risposto.

    Cosi come proposto da te è una delle soluzione che avevo trovato nelle mie migliaia di prove ma il risultato che vorrei ottenere è che al click, invece di avere l'output nell'alert, tutto il contenuto (quello che ti appare nell'alert per intenderci), venga incollato nel campo di testo.

    Grazie ancora

  4. #4
    scusa, non avevo capito che fosse questa la parte difficile!

    comunque sappi che l'attributo value e' valido sia in lettura che in scrittura.

    Cioe' puoi leggere cosa c'e' nell'input e con lo stesso metodo scriverci dentro

    cosi':

    codice:
    document.getElementById("campo_ricerca").value = c_value;
    al posto dell'alert

    ciao

  5. #5
    Grande, cosi funziona ma devo fare un paio di prove per vedere se alla fine fila tutto liscio.
    Un enorme grazie per il momento.

  6. #6
    Guarda è semplicemente perfetto, sei un grande. In pochi minuti mi hai fatto sbollire rabbia e rancore per non essere riuscito in tutto questo tempo.

    Come potrei fare invece, a mantenere in una variabile solo e soltanto la parola digitata da me ("musica" per continuare il filo del discorso precedente), onde poterla utilizzare nel form della pagina che riceve i dati?

    ed eventualmente mi faresti un esempio di come recuperarla (sempre nella pagina che riceve), questa variabile?

    Vorrei insomma che nella pagina che riceve i dati appaia sempre un campo input ma con pre-memorizzata soltanto la parola digitata in precedenza per poter avere modo cosi di riselezionare i checkbox.

    Grazie ancora davvero di cuore

  7. #7
    guarda, mi pare un po' contorto cio' che vuoi fare.

    Non capisco perche' vuoi prima unire un campo e poi separarli di nuovo.

    Lo script che ti ho fatto e' in realta' inutile se lavori bene lato server.

    Con PHP per esempio puoi ricavare il valore del campo di testo, dei check box e poi fare l'append dopo aver ricevuto i dati.

    Risparmiano javascript.

    Se proprio non puoi usare linguaggi lato server ti faccio il post di cio' che vuoi, non e' difficile (si tratta di creare un campo nascosto nel quale salvare i dati, ci vogliono due minuti. Ma pensa se ne vale la pena.

    Fammi sapere, sono al PC ancora mezzoretta.

  8. #8
    Si, si grazie. Se hai voglia vorrei l'esempio.
    Lo so, e lo sapevo in principio che la mia richiesta poteva apparire un po' contorta ma credimi, mi serve proprio cosi.

    Grazie ancora

  9. #9
    cosi' hai un campo nascosto che tiene il valore del campo prima dell'append

    codice:
      <SCRIPT LANGUAGE="JAVASCRIPT">
    <!--
    
    function get_check_value()
    {
    var c_value = document.getElementById("campo_ricerca").value;
    document.getElementById("campo_ricerca_nascosto").value = c_value;
    for (var i=0; i < document.orderform.music.length; i++)
       {
       if (document.orderform.music[i].checked)
          {
          c_value = c_value + " " + document.orderform.music[i].value;
          }
       }
    document.getElementById("campo_ricerca").value = c_value;
    return false;
    }
    
    //-->
    </SCRIPT>
    
      </head>
      <body>
    <FORM NAME="orderform" action="">
    What kind/s of music do you listen to?
    
    <INPUT TYPE="CHECKBOX" NAME="music" VALUE="Rock">
    Rock
    
    <INPUT TYPE="CHECKBOX" NAME="music" VALUE="Reggae">
    Reggae
    
    <INPUT TYPE="CHECKBOX" NAME="music" VALUE="Pop">
    Pop
    
    <INPUT TYPE="CHECKBOX" NAME="music" VALUE="Rap">
    Rap
    
    <INPUT TYPE="CHECKBOX" NAME="music" VALUE="Metal">
    Metal
    
    <input type="text" id="campo_ricerca" name="ricerca" />
    <input type="hidden" id="campo_ricerca_nascosto" name="ricerca_nascosto" />
    <INPUT TYPE="SUBMIT" onclick="get_check_value()">
    </FORM>

  10. #10
    Argh!! Non funziona su Firefox!
    C'è soluzione?

    Lo so che come minimo ti sto stressando

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