[risolto] Checkbox e javascript

gbtchiaravalle

Nuovo Utente
29 Gen 2014
6
0
0
Spero sia la sezione giusta!

Salve a tutti :) premetto che non ho mai usato ajax e sto cercando di usarlo ultimamente quindi rispondete con garbo 0:) ...io ho un problema con questo script:

parte ajax
Codice:
       <script type="text/javascript">
                function doit() {
                        var p=[];
                        $('input[id="testo_esterno"]').each( function() {
                                if($(this).attr('checked')) {
                                        p.push($(this).attr('val'));
                                }
                        } );
                        $.ajax( {
                                url:'gbtchiaravalle_0004.php',
                                type:'POST',
                                data: {list:p},
                                success: function(res) {
                                        alert(res);
                                }
                        });
                }
        </script>


parte php/html
questa pagina viene generata prendendo valori dal db

PHP:
<?
//parte mancante

echo "<form>";
echo "<table border='1' width='700'>";
while($campi_res = mysql_fetch_array($res))
{

$id_grado = $campi_res['id'];
$testo_esterno = $campi_res['testo_esterno'];
?>
<tr></td><input type='checkbox' name='testo_esterno[<? echo $id_grado; ?>]' id='testo_esterno' res ='1' <? echo ($testo_esterno == 1 ? 'checked' : '');?> /></td></tr>
<?
}
echo "<input type='button' onclick='doit()' value='Invia'/>";
echo "<table>"
echo "</form>";

//parte mancante
?>

gbtchiaravalle_0004.php
PHP:
<?
print_r($_POST['list']);
?>

il problema è che non fa niente :confused:
Idee?

P.S: non ho postato tutto il codice php(dove ci sono le checkbox) se serve lo faccio...
 
Penso che hai sbagliato nel php! ecco:

PHP:
<? 
//parte mancante 

echo "<form>"; 
echo "<table border='1' width='700'>"; 
while($campi_res = mysql_fetch_array($res)) 
{ 

$id_grado = $campi_res['id']; 
$testo_esterno = $campi_res['testo_esterno']; 
?>
<!-- Hai messo res= '1' (con uno spazio anche bianco xD). comunque ci va value='1' senno è come se non hai messo il valore che deve avere la checkbox!
Cosi quando vai a fare in javascript $(this).attr('val') ti cattura il valore! prima non ti prendeva niente perché non trovava l'attributo value -->
<tr></td><input type='checkbox' name='testo_esterno[<? echo $id_grado; ?>]' id='testo_esterno' value='1' <? echo ($testo_esterno == 1 ? 'checked' : '');?> /></td></tr>  
<? 
} 
echo "<input type='button' onclick='doit()' value='Invia'/>"; 
echo "<table>" 
echo "</form>"; 

//parte mancante 
?>

Dimmi se funziona :)
 
Ti ringrazio per la risposta!
C'era anche l'errore che hai detto tu ma non era quello il problema principale, ho dovuto cambiare

questa riga:
Codice:
if($(this).attr('checked')) {

con questa riga:
Codice:
if($(this).is(':checked') ? 1 : 0) {

:byebye:
 

Discussioni simili