Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/08/2007, 11:39
JinKazama
 
Fecha de Ingreso: agosto-2007
Mensajes: 9
Antigüedad: 16 años, 8 meses
Puntos: 0
PHP y Javascript

Hola a todos.

Tengo un pequeño problema. Tengo un formulario que tiene una serie de checkbox con los cuales tengo una opción de marcar o desmarcar todos.
El problema es que después los proceso en un PHP. Entonces, si a la variable chekbox la llamo "x", no me funciona en php y si la llamo "x[]" no me funciona el javascript. Como podría combinar las dos técnicas???

Os dejo la parte del código relevante:

HTML:

<h4> Aficiones </h4>

<p>
<input type="checkbox" name="marcatodos" onClick="Marcar_Todos(Form_Solicitudes.aficion,For m_Solicitudes.marcatodos,Form_Solicitudes.desmarca todos);"> Marcar todos |
<input type="checkbox" name="desmarcatodos" onClick="Desmarcar_Todos(Form_Solicitudes.aficion, Form_Solicitudes.marcatodos,Form_Solicitudes.desma rcatodos);"> Desmarcar todos
</p>

<p>
<input type="checkbox" name="aficion[1]" value="1"> Videojuegos <br>
<input type="checkbox" name="aficion[2]" value="2"> Cine y TV <br>
<input type="checkbox" name="aficion[3]" value="3"> Lectura <br>
<input type="checkbox" name="aficion[4]" value="4"> Música <br>
<input type="checkbox" name="aficion[5]" value="5"> Deportes <br>
<input type="checkbox" name="aficion[6]" value="6"> Motor <br>
<input type="checkbox" name="aficion[7]" value="7"> Cocina <br>
<input type="checkbox" name="aficion[8]" value="8"> Informática <br>
<input type="checkbox" name="aficion[9]" value="9"> Pintura <br>
<input type="checkbox" name="aficion[10]" value="10"> Arquitectura <br>
</p>


Javascript:

//Para Marcar todas las aficiones
function Marcar_Todos(aficiones,todos,ninguno)
{
if(todos.checked==true)
{
for(i=0;i<aficiones.length;i++)
{
aficiones[i].checked=true;
}
ninguno.checked=false;
}
}



//Para Desmarcar todas las aficiones
function Desmarcar_Todos(aficiones,todos,ninguno)
{
if(ninguno.checked==true)
{
for(i=0;i<aficiones.length;i++)
{
aficiones[i].checked=false;
}
todos.checked=false;
}



PHP:

$j=0;
for($i=0;$i<sizeof($_POST['aficion']);$i++)
{
switch($_POST['aficion'][$i])
{
case 1: $aficiones[$j]='videojuegos';
break;
case 2: $aficiones[$j]='cine y tv';
break;
case 3: $aficiones[$j]='lectura';
break;
case 4: $aficiones[$j]='musica';
break;
case 5: $aficiones[$j]='deportes';
break;
case 6: $aficiones[$j]='motor';
break;
case 7: $aficiones[$j]='cocina';
break;
case 8: $aficiones[$j]='informatica';
break;
case 9: $aficiones[$j]='pintura';
break;
case 10: $aficiones[$j]='arquitectura';
break;
}
$j++;
}

El caso es que por separado funcionan perfectamente, pero conjuntas no quieren estar.

Muchas gracias de antemano.