Foros del Web » Programando para Internet » PHP »

eventos en inputs

Estas en el tema de eventos en inputs en el foro de PHP en Foros del Web. Estes es mi codigo de php al darle click en el submit me envia a otro formulario pero este no me trae la id del ...
  #1 (permalink)  
Antiguo 19/09/2011, 12:44
 
Fecha de Ingreso: junio-2011
Mensajes: 59
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta eventos en inputs

Estes es mi codigo de php al darle click en el submit me envia a otro formulario pero este no me trae la id del auto, necesito capturar la id del auto esto le pongo un alt al submit y si me captura la id pero al darle submit me trae el ultimo id, me dijeron que lo aga con un evento que al momento de darle clic a un auto como ya estoy capturando el alt su id, este se envia al formulario dependiendo del auto que seleccione pero no tengo idea de cual es el evento
onclick='this ();' o onSubmit='this ();' no conosco esos eventos y no se si estan correctos espero que me ayuden se los agradecere

Código PHP:
Ver original
  1. <?php
  2.                             $link = $pag->conecta("nacional");
  3.                             $autos_id[] = "4"; //Pointer
  4.                             $autos_id[] = "3"; //Chevy
  5.                             $autos_id[] = "31"; //Spark
  6.                             foreach($autos_id as $ind){
  7.  
  8.                                 $sql = "
  9.                                SELECT *,
  10.                                vehiculos.id as idAuto,
  11.                                categorias.id as idCate
  12.                                FROM
  13.                                vehiculos
  14.                                INNER JOIN categorias ON vehiculos.categoria = categorias.nombre
  15.                                WHERE vehiculos.id = '$ind'
  16.                            ";
  17.                            
  18.                                 $auto = $pag->_SQL($sql, "array", "nacional");
  19.  
  20.                                 switch($auto['tipo']){
  21.                                     case 'economico': $class = 'auto_muestra2'; break;
  22.                                 }
  23.                                     echo "<li class='bg_gris'><div class='autos'><img src='".$auto['camino']."' /></div>";
  24.                                     echo "<div class='modelo'>".$auto['nombreAuto']."</div><div class='bt_carro'><input type='submit' value='' alt='".$auto['idAuto']."' onSubmit='this();'/></div></li>";
  25.                                     echo "<input type='hidden' value='".$auto['idAuto']."' alt='".$auto['idAuto']."' name='id_auto' id='id_auto' />";
  26.                                     echo "<input type='hidden' value='".$auto['categoria']."' name='categoria' />";
  27.                                     if($auto['idAuto'] ==  $autos_id[] = "4"){
  28.                                      $des = explode("<br />","");
  29.                                     }
  30.                                      if($auto['idAuto'] ==  $autos_id[] = "3"){
  31.                                      $des = explode("<br />","");
  32.                                     }
  33.                                      if($auto['idAuto'] ==  $autos_id[] = "31"){
  34.                                      $des = explode("<br />","");
  35.                                     }  
  36.                                     echo "<ul>";
  37.                                     $cont = 0;
  38.                                     foreach($des as $indDes){
  39.                                         if($cont <= 3 and $indDes != "")
  40.                                             echo "<p class='letraautos'>$indDes</p>";
  41.                                         $cont++;
  42.                                     }echo "</ul>";
  43.                             }
  44.                             mysql_close($link);
  45.                         ?>
  #2 (permalink)  
Antiguo 19/09/2011, 12:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: eventos en inputs

Los eventos del navegador no corresponden a PHP, son todos ellos Javascript, pues PHP se ejecuta en el servidor y no en el navegador.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/09/2011, 16:42
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 12 años, 8 meses
Puntos: 37
Respuesta: eventos en inputs

Si ya capturaste el Id en el alt del submit, por qué no lo usas para crear un campo hidden en el formulario conteniendo ese mismo valos? Así cuando el form haga la llamada http el valor Id pasa como parámetro junto a los demás datos.
  #4 (permalink)  
Antiguo 19/09/2011, 16:56
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 12 años, 8 meses
Puntos: 37
Respuesta: eventos en inputs

Ahora revisé bien y ví que sí incluíste el Id como campo hidden, entonces debería poderse capturar sin problemas al otro lado de la llamada. Parece que no entendí bien tu pregunta, o realmente el problema está en otra parte. Lo que realmente no veo es de qué forma un evento pueda solucionar esto.
  #5 (permalink)  
Antiguo 19/09/2011, 23:52
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: eventos en inputs

Bueno, tienes varios errores javascript y html... hasta el momento coincido con pateketrueke en que tu consulta no tiene nada que ver con PHP.

1- onsubmit (asi, todo en minusculas) es un atributo valido solo para la etiqueta <form ...>, no puedes incluirlo en un <input ... />, aunque sea boton, en este caso, se usaria onclick (solo minusculas).
2- Poner simplemente this(); como codigo javascript es lo mismo que poner true o false, es decir vas a lograr: absolutamente nada, porque no son instrucciones a ejecutar, ni asignaciones.
3- En cada iteracion de tu ciclo foreach($autos_id as $ind) estas creando campos con mismo nombre y misma ID.
3.1- Al tener varios campos con el mismo nombre, siempre se enviara el valor del ultimo declarado
3.2- Al tener varios campos con la misma ID, seguramente el motor de javascript no sabra como manejarlo y vas a obtener: seguramente un error.
3.3- Tampoco entiendo muy bien porque planeas hacerlo como formulario por POST, creo que seria mucho mas facil poner un enlace "pagina.php?auto_id={$auto['idAuto']}&amp;categoria=$auto{['categoria']}"... al menos no veo otros campos que justifiquen el formulario.

Sugerencia, antes de programarlo todo en PHP, trabajalo por separado, solo HTML, CSS y Javascript, una vez que lo hagas funcionar como quieres, entonces lo adaptas en PHP.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: eventos, inputs, mysql, sql
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 12:11.