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

    selezione contenuto con checkbox

    Salve a tutti,

    pur avendo un problema semplice non sono riuscito a trovare la soluzione,

    ho una serie di checkbox e quando ne seleziono qualcuna vorrei che mi venisse dato un array con il valori selezionati, array che dovrei passare ad una pagina php, tramite get o se possibile con post. Ho provato con il seguente script, ma non mi funziona..

    codice HTML:
    <script type="text/javascript">
    var http;
    if( window.XMLHttpRequest){
    http = new XMLHttpRequest();
    }
    else if (window.ActiveXObject){
    http = new ActiveWObject("Microsoft.XMLHTTP");
    }
    function updateList(){
    var list = document.form.ln_id[].value;
    http.open('GET','http://.../update.php?id=1&list', true);
    http.send(null);
    }
    </script>
    
    
    ...
    <input type="checkbox" name="check[]" value="a" onchecked="seleziona()"/>
    <input type="checkbox" name="check[]" value="b" onchecked="seleziona()"/>
    <input type="checkbox" name="check[]" value="c" onchecked="seleziona()"/>
    Sapete aiutarmi?? grazie!!

  2. #2
    Nel caso il form avesse name="form1" e i checkbox abbiano il name="chks", con

    codice:
    document.form1.chks
    recuperesti l'array con tutti i valori, anche quelli non checkati però...
    la proprieta' checked (chks.checked) è un boolean che ti dice se il checkbox è checkato o no.
    Filtri l'array in base a quello e crei la stringa GET solo con i checkbox checkati.
    lolide
    Java Programmer

    Informati

  3. #3
    cioè facendo cosi?

    codice HTML:
    <script type="text/javascript">
    function selezione()
    {
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
        }
      }
    
    var list = document.form1.chks;
    var cont=elem.lenght;
    var lista_finale = new Array (0);
    
    i=0;
    while(i<list.length) {
    if (list[i]=="true"){
    lista_finale.push(list[i]);
    }
    i++; 
    } 
    xmlhttp.open("GET","filedaaprire.php?q="+lista_finale,true);
    xmlhttp.send();
    }
    </script>
    <body>
    
    <form name="formcheck">
    <input type="checkbox" name="user_id[]" onChange="selezione()" value="alberto" id="alberto" />alberto</br>
    
    <input type="checkbox" name="user_id[]" onChange="selezione()" value="luca" id="luca" />luca</br>
    
    <input type="checkbox" name="user_id[]" onChange="selezione()" value="giovanni" id="giovanni" />giovanni</br>
    
    </form> 
    
    
    
    </body>
    ora provo e vi dico,

    intanto grazie

  4. #4
    Non
    codice:
    if (list[i]=="true"){
    Ma
    codice:
    if (list[i].checked){
    lolide
    Java Programmer

    Informati

  5. #5
    ho provato con il seguente codice:
    codice HTML:
    function selezione()
    
    {
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint2").innerHTML=xmlhttp.responseText;
    }
    }
    
    var list = document.form1.chks;
    var cont=document.form1.lenght;//ok
    var lista_finale = new Array (0);//ok
    
    var i=0;
    while(i<list.length) {
    if (list[i].checked){
    lista_finale.push(list[i]);
    }
    i++; 
    } 
    xmlhttp.open("GET","ajax_checkbox.php?q="+lista_finale,true);
    xmlhttp.send();
    }
    - - -
    <form name="form1">
    <input type="checkbox" name="user_id[]" onChange="selezione()" value="alberto" id="alberto" />alberto</br>
    
    <input type="checkbox" name="user_id[]" onChange="selezione()" value="luca" id="luca" />luca</br>
    
    <input type="checkbox" name="user_id[]" onChange="selezione()" value="giovanni" id="giovanni" />giovanni</br>
    
    </form> 
    ma nelle istruzioni 'var list = document.form1.chks' e 'var cont=document.form1.lenght' le rispettive variabili list e cont risultano undefined..


  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Cambia questa parte:
    codice:
    var list = document.form1.chks;
    var cont=document.form1.lenght;//ok
    var lista_finale = new Array (0);//ok
    
    var i=0;
    while(i<list.length) {
    if (list[i].checked){
    lista_finale.push(list[i]);
    }
    i++;
    }
    con questa:
    codice:
    var list = document.getElementsByTagName("input");
    var lista_finale = new Array ();
    for(var i=0; i<list.length; i++) {
    if (list[i].type=="checkbox" && list[i].checked){
    lista_finale.push(list[i]);
    }
    }
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    ci siamo quasi... solo che esce '[object HTMLInputElement] ' per ogni checkbox che clicco, e sparisce se la deseleziono.
    Quindi come principio ci siamo, solo che è errato la manipolazione dei dati,
    nel file 'ajax_checkbox.php' ho la seguente istruzione giusto per vedere il contenuto:
    Codice PHP:
    $q$_GET['lista_finale'];
    echo 
    $q
    Sbaglio nell'interpretazione dei dati?

  8. #8


    ..opinioni? dritte??

  9. #9
    facendo il var_dump esce:
    [object HTMLInputElement]string(25) "[object HTMLInputElement]" con 1 checkbox selezionata;
    [object HTMLInputElement],[object HTMLInputElement]string(51) "[object HTMLInputElement],[object HTMLInputElement]" con 2 checkbox selezionate
    e cosi via..

    non è che vi brilla qualche idea? . . .

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.