Foros del Web » Programando para Internet » Javascript » Frameworks JS »

recuperar id de combo

Estas en el tema de recuperar id de combo en el foro de Frameworks JS en Foros del Web. Hola , tengo un problema, cuando grabo un formulario que tiene combos y uso el metodo de ajax los valores que me muestran en mi ...
  #1 (permalink)  
Antiguo 09/12/2008, 10:08
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
recuperar id de combo

Hola , tengo un problema, cuando grabo un formulario que tiene combos y uso el metodo de ajax los valores que me muestran en mi BD siempre es 0, pero cuando uso el simple metodo post y el action a otra pagina me graba normalmente los id del combox:

este el formulario en el que tiene el combo:

Código PHP:
<form name="frmanuncio" id="frmanuncio" onSubmit="enviaEmpresa(); return false">

$datos=mysql_query("select * from categoria");
echo 
"<select name='lcategoria' id='lcategoria' onChange='cargaContenido(this.id)'>";
echo 
"<option value='0'>Selecciona Categoria...</option>";
while(
$fila=mysql_fetch_row($datos)){
    echo 
"<option value='".$fila[0]."'>".$fila[1]."</option>";
}
</
form></div
ahora esta es la funcion ajax que uso para validar que el combo se seleccione(supongo que ahi es el problema donde el id se vuelve 0)

Código:
var c = document.getElementById('empresa_registro');
var categoria = document.frmanuncio.lcategoria.value;

if(categoria == 0){
alert('Seleccione la categoria de su empresa.');
  document.frmanuncio.lcategoria.focus();
  return false;
}

ajax=nuevoAjax();
c.innerHTML = '<p style="text-align:center;color:#454545; font-size:10px">Registrando...<br><img src="images/sending.gif" width="16" height="16" align="absmiddle"></p>';
ajax.open("POST", "ajax_anuncio_new.php",true);
ajax.onreadystatechange=function(){
  if (ajax.readyState==4) {
	c.innerHTML = ajax.responseText
  }
}
ajax.send("categoria="+categoria+"&control=enviado");
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
}
y Aqui es donde grabo mi formulario con eld ato que envio

Código PHP:
if(isset($_POST['control'])){
    
$categoria $_POST['lcategoria'];
            
//Registrando mensaje en la base de datos
$sql="call registra_empresa('$nombre','$direccion','$telefono','$telefono2','$email','$website','$descripcion','0','$fecha_enviobd','0000-00-00','img','$categoria','$subcategoria','$codcliente')";
$clase->ejecutarProc($sql);
        
$return_msg "Su informaci&oacute;n ha sido grabada exitosamente.";
die(
"<p><table width=\"200\" border=\"0\" cellpadding=\"6\" cellspacing=\"1\"><tr><td height=\"44\"><div align=\"center\" style=\"text-align:center;color:#454545; font-size:10px\">".$return_msg."</div></td></tr></table></p>");    

Donde pierdo el valor de id del combobox? bueno no lo pierdo, sino que se me cambia a 0 cada vez que grabo.
  #2 (permalink)  
Antiguo 09/12/2008, 10:19
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: recuperar id de combo

amigo...... esta algo facil no???

tu en el ajax estas enviando esto mira:
ajax.send("categoria="+categoria+"&control=enviado ");
es decir, estas enviando el parametro categoria.....

y en el archivo recoges:
$categoria = $_POST['lcategoria'];
lo cual esta mal ya que deberia ser lo que envias con el ajax, asi:
$categoria = $_POST['categoria'];

P.D. ten en cuenta que aquello que envias en el "send" va a la pagina que envia como a la que recibe.... es decir, seria mejor que envies un parametro con el mismo nombre del select, asi cuando recargas la pagina con el ajax.... el select se quede con el valor elegido y a la vez tambien envies su valor a la otra pagina para que lo insertes.

a menos que en el ajax tambien envies lcategoria........

bueno espero haberte ayudado....... suerte.

Dios te Bendiga.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #3 (permalink)  
Antiguo 09/12/2008, 11:13
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: recuperar id de combo

mmm gracias, crei que lo que se mandaba al php era los nombres de los elementos del formularios, esto se aplica para todo los elementos incluido los file?
  #4 (permalink)  
Antiguo 09/12/2008, 12:57
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: recuperar id de combo

si para todos...... pero como mencione... en el ajax estas enviando un nombre distinto al nombre del select......... y ps logicamente deben ser iguales.

Bye.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 20:48.