Foros del Web » Programando para Internet » Javascript »

llamadas a funciones

Estas en el tema de llamadas a funciones en el foro de Javascript en Foros del Web. hola!!! ESto me pasa a veces, porque otras se arregla cargando el servidor otra vez. Pero como no quiero que el problema se repita se ...
  #1 (permalink)  
Antiguo 22/07/2007, 04:52
Avatar de cris_maco  
Fecha de Ingreso: abril-2007
Ubicación: Salamanca
Mensajes: 254
Antigüedad: 17 años, 7 meses
Puntos: 0
llamadas a funciones

hola!!!

ESto me pasa a veces, porque otras se arregla cargando el servidor otra vez. Pero como no quiero que el problema se repita se lo comento a ver que les parece. Resulta que a veces las llamadas a funciones no funcionan, no llaman se quedan en la misma pagina.
yo trabajo con paginas jsp y uso javascript solo en algunas. les pongo el codigo para que me entiendan:

<a href="javascript:actuacion(1);" class="Estilo1">A&ntilde;adir Actuacion</a>

<script type="text/javascript">
function actuacion(tipo)
{
var campos = document.getElementsByName("numAct");
var num = document.frm.numExp.value;
var encontrado=0;
var act;

for(i=0; i<campos.length; i++)
{
if(campos[i].checked)
{
act=campos[i].value;
encontrado=encontrado+1;
break;
}
}

if(encontrado==1)
{
if(tipo==1)
alert("Ha seleccionado una actuacion");
if(tipo==2)
location=("http://localhost:8080/proyecto/form/actuacionesAction.do?do=bajaActuacion&numAct="+act );
if(tipo==3)
location=("http://localhost:8080/proyecto/form/");

}
if(encontrado == 0)
{
if(tipo==1)
location=("http://localhost:8080/proyecto/form/altaActuacion.jsp?numExp="+num);
else
alert("Ha de seleccionar una actuacion");
}
if(encontrado > 1)
{
alert("Ha seleccionado mas de una actuacion");
}
}
</script>

se que javascript a veces funciona mejor con un navegador que con otro, pero lo he probado con mozilla y el explorer y pasa lo mismo. hago la llamada con añadir actuacion y no me va, no la ejecuta. me pregunto si hay alguna sentencia con la que obligue siempre a ejecutar la funcion ya que asi a veces lo hace y otras no.

gracias
  #2 (permalink)  
Antiguo 22/07/2007, 15:40
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 1 mes
Puntos: 45
Re: llamadas a funciones

En principio no veo cosas incorrectas.

En los vínculos la manera de poner los enlaces si son únicamente de javascript es: <a href="#" onclick="funcion()">hola</a>
El "protocolo" javascript: no se utiliza.

Por otra parte, es útil jugar con los alert() para ver dónde llega y dónde no la ejecución, te ayudará a saber el hilo que sigue el script.

Y si tienes campos con id's y name's iguales en IE puede que se confunda un poco en IE6, hay problemas con los name's en ese navegador.



Bueno, un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #3 (permalink)  
Antiguo 24/07/2007, 04:19
Avatar de cris_maco  
Fecha de Ingreso: abril-2007
Ubicación: Salamanca
Mensajes: 254
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: llamadas a funciones

he probado lo que me digiste y no funciona, lo toma como un enlace y me dirige a la misma pagian y con un # al final y no entra en la funcion de javascript
  #4 (permalink)  
Antiguo 24/07/2007, 06:29
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 1 mes
Puntos: 45
Re: llamadas a funciones

¿Quieres decir que ésto no te funciona?
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<
html>
<
head>
<
titleP&#225;gina nueva </title>
<meta name="Author" content="derkeNuke">
<
style type="text/css">
</
style>
</
head>

<
body>

<
a href="#" onclick="e('hola, qué tal.'); return false">Escribe el saludo</a><br/>

<
script type="text/javascript">
function 
e(q,br) {
document.body.appendChilddocument.createTextNode(q) );
if(!
brdocument.body.appendChilddocument.createElement("BR") );
}
</script>
</body>
</html> 
Prueba con los alert para ver si te entra o no en las funciones, utiliza la consola de error de FF para localizar errores... esas cosas.


Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 18:24.