Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: basickdagger en 15 Mayo 2013, 17:02 pm



Título: funcion onchange no sirve(resuelto)
Publicado por: basickdagger en 15 Mayo 2013, 17:02 pm
bueno no entiendo q pueda suceder pero tengo esto y no funciona

Código:
<?php
echo '<select id="tipos" name="tipo" onChange="caja(this.value)">';

while($row = mysql_fetch_array($select))
  {
  echo '
<option>'.$row['tipo'].'</option>';
}

echo '</select>';
?>


<script>
function caja(x){
alert(x);

}
</script>


<?php



pero si pongo el alert directamente en onchange si funciona...

Código:
<?php
echo '<select id="tipos" name="tipo" onChange="alert(this.value)">';

while($row = mysql_fetch_array($select))
  {
  echo '
<option>'.$row['tipo'].'</option>';
}

echo '</select>';
?>







intente solamente hacer un alert normal solo para ver si entra a la funcion y parece q tampoco
Código:
<?php
echo '<select id="tipos" name="tipo" onChange="caja()">';

while($row = mysql_fetch_array($select))
  {
  echo '
<option>'.$row['tipo'].'</option>';
}

echo '</select>';
?>


<script>
function caja(){
alert("entra");

}
</script>


<?php


no funciona, pruebo mi codigo en local y hace todo... no entiendoooo haha xD


Título: Re: funcion onchange no sirve
Publicado por: [u]nsigned en 15 Mayo 2013, 22:10 pm
No parecen haber errores, podria postear el codigo HTML que genera el php? posiblemente tengas algun tag sin cerrar o algo asi...


Título: Re: funcion onchange no sirve
Publicado por: basickdagger en 16 Mayo 2013, 19:38 pm
No parecen haber errores, podria postear el codigo HTML que genera el php? posiblemente tengas algun tag sin cerrar o algo asi...


mira probé de nuevo ahora utilice este codigo, pero sigue sin funcionar...
Código:
<?php
echo '<tr><td>Categoria</td>  <td><select id="categoria" name="categoria" onChange="prueba();">';
while($row = mysql_fetch_array($select))
  {
  echo '
<option>'.$row['categoria'].'</option>';
}
echo '</select></td></tr>';
?>
<script>
function prueba(){
alert("cambió");

}
</script>



revise el código q me genera el php en html pero no veo problema... bueno dando como aclaración ese componente select es cargado junto con mas información a través de ajax...sera q ajax me bloquea la función???...


 


Título: Re: funcion onchange no sirve
Publicado por: #!drvy en 16 Mayo 2013, 20:25 pm
Si usas Chrome/IE pulsa F12.. si usas fFrefox pulsa Ctrl + Shift + K, asegúrate de que el script este cargado y realiza la acción. Si te da algún error ya sabrás de lo que es.. si no, como te ha mencionado @El As... , postea el resto del code.

Saludos


Título: Re: funcion onchange no sirve
Publicado por: basickdagger en 16 Mayo 2013, 23:56 pm
Si usas Chrome/IE pulsa F12.. si usas fFrefox pulsa Ctrl + Shift + K, asegúrate de que el script este cargado y realiza la acción. Si te da algún error ya sabrás de lo que es.. si no, como te ha mencionado @El As... , postea el resto del code.

Saludos

gracias por sus respuestas pude solucionarlo colocando el script antes de la peticion a ajax....

pero me surgió otra duda...

tengo entendido q
Código:
document.getElementById('miSelect').innerHTML='<option>valorA</option><option>valorB</option>';
con esto puedo modificar un select con el evento onchange.... pero si los option quieor traermelos de una BD, es posible hacer un while colocando cada option en el innerhtml? o s enecesita hacer de otra manera... ya probe, pero aún no me sale...


Título: Re: funcion onchange no sirve
Publicado por: basickdagger en 17 Mayo 2013, 19:05 pm
bueno ya solucione mi problema utilizando ajax para hacer las cargas de un select a otro..., el problema era q había un conflicto con un javascript, entonces ya quedo... muchas gracias