Foros del Web » Programando para Internet » Javascript »

Campo select no se envia cuando es cargado por AJAX (IE)

Estas en el tema de Campo select no se envia cuando es cargado por AJAX (IE) en el foro de Javascript en Foros del Web. Hola, fíjense que tengo un sitio en el que necesito que los clientes registren datos, pero deben seleccionar una categoría para cargar una subcategoría. En ...
  #1 (permalink)  
Antiguo 12/04/2013, 22:12
Avatar de charolastrazoe  
Fecha de Ingreso: febrero-2008
Ubicación: En el @itscomalcalco
Mensajes: 72
Antigüedad: 11 años, 8 meses
Puntos: 5
Pregunta Campo select no se envia cuando es cargado por AJAX (IE)

Hola, fíjense que tengo un sitio en el que necesito que los clientes registren datos, pero deben seleccionar una categoría para cargar una subcategoría.

En Chrome, Firefox si funciona, pero en IExplore (tengo la versión IE9), la subcategoría visualmente carga normalmente, pero al enviar el formulario, ese campo que fue cargado por AJAX no lo estoy recibiendo.

Este es mi código AJAX:

Código Javascript:
Ver original
  1. ajax.open("GET","procedimientos/carga_subcategorias_list.php?id_categoria="+valor+"&nocache="+aleatorio,true);
  2.     ajax.onreadystatechange=function()
  3.       {
  4.            if (ajax.readyState==4)
  5.            {
  6.               document.getElementById(div).innerHTML = ajax.responseText ;
  7.            }
  8.       }
  9.       ajax.send(null);

Pueden revisar el formulario en www.directoriocomalcalco.com/contacto y probar lo que les comento, ojalá pudieran apoyarme.

Por ahorita al enviar sólo se imprime el valor del array y no guarda alguna info, por si se lo preguntan jeje

Saludos y desde ya muchas gracias!

P.D. I hate you IE
  #2 (permalink)  
Antiguo 13/04/2013, 12:06
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 11 años, 7 meses
Puntos: 47
Respuesta: Campo select no se envia cuando es cargado por AJAX (IE)

Muestra el codigo con el que accedes al select
  #3 (permalink)  
Antiguo 13/04/2013, 12:36
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 12 años, 4 meses
Puntos: 1567
Respuesta: Campo select no se envia cuando es cargado por AJAX (IE)

hasta donde se vé el action del form (/enviar-solicitud) no está procesando el php,
te imprime esto
Código:
array(10) {
  ["nombre"]=>
  string(1) "w"
  ["descripcion"]=>
  string(1) "w"
  ["categoria"]=>
  string(1) "3"
  ["direccion"]=>
  string(1) "w"
  ["telefono"]=>
  string(1) "w"
  ["web"]=>
  string(1) "w"
  ["contratante"]=>
  string(1) "w"
  ["email"]=>
  string(7) "[email protected]"
  ["captcha"]=>
  string(0) ""
  ["enviar"]=>
  string(0) ""
}
el php en si, parece que funciona en tu sitio, ya que el captcha lo genera correctamente (aunque la validación del form no lo toma como requerido
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 14/04/2013, 14:25
Avatar de charolastrazoe  
Fecha de Ingreso: febrero-2008
Ubicación: En el @itscomalcalco
Mensajes: 72
Antigüedad: 11 años, 8 meses
Puntos: 5
Respuesta: Campo select no se envia cuando es cargado por AJAX (IE)

Cita:
Iniciado por alex1084 Ver Mensaje
Muestra el codigo con el que accedes al select
Alex, este es el código de la carga del select de subcategorías:

Código PHP:
<?php
header
("Cache-Control: no-store, no-cache, must-revalidate");
error_reporting("E_ALL & ~E_NOTICE & ~E_WARNING");

include(
"../conexion.php");

$id_categoria $_POST['id_categoria'];

if(
$id_categoria == ""){//Si no ha seleccionado una categoria
    
?>
    <select name="subcategoria" id="subcategoria">
        <option value="">-Seleccione subcategoria-</option>
    </select>
    <?php
}
else
{
    
$sql "SELECT id_subcategoria, subcategoria FROM subcategorias WHERE id_categoria = $id_categoria AND estado = 'A' ORDER BY subcategoria;";
    
$res mysql_query($sql) or die("Error: $sql".mysql_error($servidor));
    
    while(
$datos mysql_fetch_assoc($res)){
        
$listado .= "<option value = '$datos[id_subcategoria]'>".htmlentities($datos['subcategoria'])."</option>";
    }
    
    
?>
    <select name="subcategoria" id="subcategoria">
        <option value="">-Seleccione subcategoria-</option>
        <?php
            
echo $listado;
        
?>
    </select>
    <?php
}//fin else
?>
Y el AJAX con el que cargo este archivo es el que está alla en el inicio del tema.
  #5 (permalink)  
Antiguo 14/04/2013, 14:45
Avatar de charolastrazoe  
Fecha de Ingreso: febrero-2008
Ubicación: En el @itscomalcalco
Mensajes: 72
Antigüedad: 11 años, 8 meses
Puntos: 5
Respuesta: Campo select no se envia cuando es cargado por AJAX (IE)

@emprear

Sí, el formulario se envía, excepto el campo subcategoría que se carga por AJAX, y sí está validado en javascript, sino seleccionas la subcategoría te manda un alert.

Te dejo una captura de lo que pasa al enviar:
  #6 (permalink)  
Antiguo 16/04/2013, 17:56
 
Fecha de Ingreso: diciembre-2008
Mensajes: 8
Antigüedad: 10 años, 11 meses
Puntos: 1
Respuesta: Campo select no se envia cuando es cargado por AJAX (IE)

IE tiene problems añadiendo elementos al DOM cuando éste ya está cargado en el navegador, aunque lo que tengo entendido sólo aplica a tags de HTML5 o que IE no reconozca, en todo caso checa si usando htmlshiv te funciona, ésta libreria se encarga de eso.

ahora por otra parte, creo que tiene algo más que ver con la forma en que inyectas el html traido del ajax, de forma que ie no reconoce el cambio.

Pregunta, porque no usas jquery, alli lo tienes cargado ya. si no te funca mandando el form, siempre lo puedes enviar con jquery y ajax, de esa forma estarías trabajando sobre el DOM.


Saludos!

Etiquetas: ajax, explorer, ie9, internet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:01.