Foros del Web » Programando para Internet » Javascript »

Problemas con el onChange

Estas en el tema de Problemas con el onChange en el foro de Javascript en Foros del Web. Wenas, tengo un problema con un onChange al que no le encuentro solucion, es el siguiente: Tengo este codigo (una parte) para un formulario: <form ...
  #1 (permalink)  
Antiguo 19/12/2005, 11:44
 
Fecha de Ingreso: julio-2005
Mensajes: 41
Antigüedad: 18 años, 9 meses
Puntos: 0
Problemas con el onChange

Wenas, tengo un problema con un onChange al que no le encuentro solucion, es el siguiente: Tengo este codigo (una parte) para un formulario:

<form name="f1" method="post" action="directorio.phtml<?php echo $datos;?>">
<table width="100%" border="0" cellspacing="3" cellpadding="3">
<tr class="Estilo13">
<td width="12%"><strong>Nombre</strong></td>
<td width="35%"><input name="nombreinmo" type="text" id="nombreinmo" size="25" maxlength="25" style="background-color:#E6E6E6;"></td>
<td width="11%"><strong>Provincia</strong></td>
<td width="42%"><span class="Estilo36">
<?php
echo '<select name="provincias" onChange="enviar();" style="background-color:#E6E6E6;">';

Y tengo una funcion en Javascript que es:

<SCRIPT LANGUAGE='JavaScript'>
function enviar(){
alert ("funciono");
document.f1.submit();
}
</SCRIPT>

cual es el problema para que no funcione? el tema es que si creo un formulario con un select sin nada de php dentro funciona correctamente, pero con el codigo del formulario no hay manera, si alguien me puede ayudar.... Gracias
  #2 (permalink)  
Antiguo 19/12/2005, 11:49
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola Aris21, bienvenido a los foros

Por lo que veo sumas al action el contenido de la variable $datos... dependerá de su contenido, pero si no empieza por "#" + "?" va a cambiar el nombre del fichero destino del action y posiblemente no exista...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 19/12/2005, 12:00
Avatar de lily_cv  
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 18 años, 5 meses
Puntos: 0
directorio.phtml <--- ???
  #4 (permalink)  
Antiguo 19/12/2005, 12:03
 
Fecha de Ingreso: julio-2005
Mensajes: 41
Antigüedad: 18 años, 9 meses
Puntos: 0
Muchas gracias, lo del action funciona perfectamente, el problema, lo explico de otra manera, yo tengo esto:

<form name="f1" method="post" action="directorio.phtml">
<table width="100%" border="0" cellspacing="3" cellpadding="3">
<tr class="Estilo13">
<td width="12%"><strong>Nombre</strong></td>
<td width="35%"><input name="nombreinmo" type="text" id="nombreinmo" size="25" maxlength="25" style="background-color:#E6E6E6;"></td>
<td width="11%"><strong>Provincia</strong></td>
<td width="42%"><span class="Estilo36">
<?php
echo '<select name="provincias" onChange="alert("hola");" style="background-color:#E6E6E6;">';

y no me funciona el onChange, pero en cambio si pongo: onChange="document.f1.submit();", eso si lo hace, pero yo lo que quiero es que cuando haga el onChange llame a una funcion, pero no lo consigo, lo que no entiendo es que con el submit si funcione y el alert (o cualquier otra funcion) no funcione
  #5 (permalink)  
Antiguo 19/12/2005, 12:04
 
Fecha de Ingreso: julio-2005
Mensajes: 41
Antigüedad: 18 años, 9 meses
Puntos: 0
Cita:
Iniciado por lily_cv
directorio.phtml <--- ???
Una extensión diferente ;) funciona como si fuera php
  #6 (permalink)  
Antiguo 19/12/2005, 12:05
Avatar de lily_cv  
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 18 años, 5 meses
Puntos: 0
ah ya jeje gracias por el dato ;)
  #7 (permalink)  
Antiguo 19/12/2005, 12:22
Avatar de lily_cv  
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 18 años, 5 meses
Puntos: 0
<select name="provincias" onChange=alert('hola'); style="background-color:#E6E6E6;">'
  #8 (permalink)  
Antiguo 19/12/2005, 12:36
 
Fecha de Ingreso: julio-2005
Mensajes: 41
Antigüedad: 18 años, 9 meses
Puntos: 0
Cita:
Iniciado por lily_cv
<select name="provincias" onChange=alert("hola"); style="background-color:#E6E6E6;">'
Eso si me funciona, pero si yo tengo:
<script language="JavaScript" type="text/JavaScript">
function enviar(){
alert ("funciono");
document.f1.submit();
}
</script>

y uso:
<select name="provincias" onChange=enviar(); style="background-color:#E6E6E6;">, entonces no funciona, como deberia hacerlo?
  #9 (permalink)  
Antiguo 19/12/2005, 12:59
Avatar de lily_cv  
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 18 años, 5 meses
Puntos: 0
<select name="provincias" onChange=enviar(this.form) style="background-color:#E6E6E6;">,

Última edición por lily_cv; 19/12/2005 a las 13:15
  #10 (permalink)  
Antiguo 19/12/2005, 13:11
 
Fecha de Ingreso: julio-2005
Mensajes: 41
Antigüedad: 18 años, 9 meses
Puntos: 0
Cita:
Iniciado por lily_cv
<select name="provincias" onChange=enviar(this.form); style="background-color:#E6E6E6;">,
No hay manera, no hace nada, que debe ser? es que no le encuentro el sentido! Muchas Gracias
  #11 (permalink)  
Antiguo 19/12/2005, 13:14
Avatar de lily_cv  
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 18 años, 5 meses
Puntos: 0
deberia funcionar escribe tu codigo completo
  #12 (permalink)  
Antiguo 19/12/2005, 13:25
 
Fecha de Ingreso: julio-2005
Mensajes: 41
Antigüedad: 18 años, 9 meses
Puntos: 0
<?php
mysql_connect("localhost","******","******");
mysql_select_db("******");
$provincia = $_POST['provincias'];
?>
<html>
<head>
<script language="JavaScript" type="text/JavaScript">
<!--
function enviar(form1){
alert ("funciono");
form1.submit();
}
</script>
</head>
<body>
<form name="f1" method="post" action="directorio.phtml<?php echo $datos;?>">
<table width="100%" border="0" cellspacing="3" cellpadding="3">
<tr class="Estilo13">
<td width="12%"><strong>Nombre</strong></td>
<td width="35%"><input name="nombreinmo" type="text" id="nombreinmo" size="25" maxlength="25" style="background-color:#E6E6E6;" ></td>
<td width="11%"><strong>Provincia</strong></td>
<td width="42%"><span class="Estilo36">
<?php
echo '<select name="provincias" onChange=enviar(this.form); style="background-color:#E6E6E6;">';
echo '<option value="">Seleccione Provincia</option>';
$result = mysql_query("Select * from provincias order by Nombre ASC");
while($row = mysql_fetch_array($result))
{
$nombre = $row["Nombre"];
$registro = $row["Provincia"];
if ($registro==$provincia) $seleccionar="selected";
else $seleccionar="";
echo '<option value="'.$registro.'" '.$seleccionar.'>'.$nombre.'</option>';
}
echo '</select>';
?>
</span></td>
</tr>
<tr class="Estilo13">
<td colspan="4">
<div align="center">
<input type="submit" name="enviar" value="Enviar">
</div></td>
</tr>
</table>
</form>

Aqui esta todo el codigo, la verdad es que no se que es lo que puede pasar, me parece todo correcto. Gracias
  #13 (permalink)  
Antiguo 19/12/2005, 13:31
Avatar de lily_cv  
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 18 años, 5 meses
Puntos: 0
1º function enviar(){
alert ("funciono");
form1.submit();
}

2º action="directorio.phtml<?php echo $datos;?>"> esto no se si ste correcto
alguien podria dar alguna idea?

3º onChange=enviar(this.form) no es necesario el ;

ahora dejame ver bien tu codigo
  #14 (permalink)  
Antiguo 19/12/2005, 13:38
 
Fecha de Ingreso: julio-2005
Mensajes: 41
Antigüedad: 18 años, 9 meses
Puntos: 0
Cita:
Iniciado por lily_cv
1º function enviar(){
alert ("funciono");
form1.submit();
}

2º action="directorio.phtml<?php echo $datos;?>"> esto no se si ste correcto
alguien podria dar alguna idea?

3º onChange=enviar(this.form) no es necesario el ;

ahora dejame ver bien tu codigo
Lo del action funciona perfectamente, eso no es, a ver si encuentras el error pq me estoy volviendo loco, gracias.
  #15 (permalink)  
Antiguo 19/12/2005, 13:45
Avatar de lily_cv  
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 18 años, 5 meses
Puntos: 0
if ($registro==$provincia) $seleccionar="selected";
cambia por
if ($registro==$Provincia) $seleccionar="selected";
  #16 (permalink)  
Antiguo 19/12/2005, 13:46
Avatar de lily_cv  
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 18 años, 5 meses
Puntos: 0
solo tienes una opction en tu select?
  #17 (permalink)  
Antiguo 19/12/2005, 13:50
Avatar de lily_cv  
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 18 años, 5 meses
Puntos: 0
ya entendi el problema es que tienes un formulario con un action y a la vez tienes un select con un onChange, al hacer clik en una de las opciones de tu select no hace nada pork no hay datos
y otra al hacer click con t boton enviar si funciona al enviar a tu otra pagina. al menos conmigo si funciona
  #18 (permalink)  
Antiguo 19/12/2005, 14:02
 
Fecha de Ingreso: julio-2005
Mensajes: 41
Antigüedad: 18 años, 9 meses
Puntos: 0
Lo que yo tengo es un formulario con un select que coge los datos de una base de datos y cuando cambias la seleccion del select se cargaran otros datos en otro select, y cuando haces clic en el boton de enviar se abre otra pagina. Pero para probar he hecho lo de la funcion con el alert, esa funcion hará otras cosas despues, pero el problema es que no me ejecuta la funcion y no se porque.
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 11:00.