Hola, estoy analizando jquery, he leido bastante sobre el tema, pero hay algo que la verdad no me ha gustado, y es cuando intentamos enviar datos pos desde el formulario a un archivo php, que generalmente lo que hara es guardar los datos.
asi son los campos de mi formulario
Código PHP:
<input name="my_name" type="text" id="pais" value="colombia">
<input name="ciudad" type="text" id="ciudad" value="bogota">
<label> <input name="cat" type="checkbox" id="50" value="50" /> </label>
<label> <input name="cat" type="checkbox" id="20" value="20" /> </label>
<label> <input name="cat" type="checkbox" id="3" value="3" /> </label>
ok, asi es mi java script...
Código PHP:
my_array=document.getElementsByName('my_name');//obtiene un array de objects
my_new_array=new Array();//obtiene un array con valores de las cajas de texto
//este for se encarga de llenar el array que se va enviar con valores de las cajas de texto
for (i=0;i<my_array.length;i++) {
my_new_array[i]=my_array[i].value;
// alert('name: '+my_new_array[i]);
}
categori=document.getElementsByName('cat');//obtiene un array de objects
totalCategori=new Array();//obtiene un array con valores de las cajas de texto
//este for se encarga de llenar el array que se va enviar con valores de las cajas de texto
for (i=0;i<categori.length;i++) {
if( categori[i].checked ){
totalCategori[i]=categori[i].value;
// alert('name: '+totalCategori[i]);
}
}
pero esta es la parte que me ha parecido mas critica.....
y de verdad algo des alentadora
Código PHP:
$.ajax({
contentType: "application/x-www-form-urlencoded",
beforeSend: function(objeto) {
$("#Id_Div_Status").innerHTML='Cargando...'; },
type: "POST",
url: "comprov.php",
data: 'my_data='+escape(my_new_array)+'&cats='+escape(totalCategori)+'&tags='+escape(totalTags),
success: function(datos){
$("#aviso").html(datos);
},
});
alo que voy es que esta linea :
data: 'my_data='+escape(my_new_array)+'&cats='+escape(to talCategori)+'&tags='+escape(totalTags),
me envia los datos ami comprov.php, pero me lso envia separados por comas, en el caso de mi script podria ser muy obsoleto ya que si el usuario deposita una coma ( , ) el codigo PHP se dañara.
ha!, asi recivo en mi archivo PHP :
Código PHP:
$datos_formulario = explode(",",$_POST['my_data']);
$categorias = explode(",",$_POST['cats']);
$tags = explode(",",$_POST['tags']);
Señores POR FAVORRRR, que otras formas podrian haver para enviar mis datos, que no ayan que separarlos por comas....
gracias....