Foros del Web » Programando para Internet » Javascript »

Problema con funciones

Estas en el tema de Problema con funciones en el foro de Javascript en Foros del Web. Buenas este es mi primer post por aqui, espero que me ayudeis. Os cuento, estoy haciendo una ejercicio que se compone de 4 cajas de ...
  #1 (permalink)  
Antiguo 16/06/2007, 15:25
 
Fecha de Ingreso: junio-2007
Mensajes: 7
Antigüedad: 17 años, 7 meses
Puntos: 0
Problema con funciones

Buenas este es mi primer post por aqui, espero que me ayudeis. Os cuento, estoy haciendo una ejercicio que se compone de 4 cajas de texto en las cuales estan situadas arriba abajo derecha e izquierda. atraves de unos botones el texto que ponga en una caja devera desplazarse hacia el lugar que ponga el boton, pero no se que pasa pero no lo consigo os pongo el codigo.
Cita:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<script language="javascript1.1">
function izq(){
document.all.form.cmb.value="Izquierda";
document.all.form.izquierda.value=document.all.for m.arriba.value;
document.all.form.izquierda.value=document.all.for m.abajo.value;
document.all.form.izquierda.value=document.all.for m.derecha.value;
}

function arb(){
document.all.form.cmb.value="Arriba";
document.all.form.arriba.value=document.all.form.i zquierda.value;
document.all.form.arriba.value=document.all.form.a bajo.value;
document.all.form.arriba.value=document.all.form.d erecha.value;
}

function abj(){
document.all.form.cmb.value="Abajo";
document.all.form.abajo.value=document.all.form.ar riba.value;
document.all.form.abajo.value=document.all.form.iz quierda.value;
document.all.form.abajo.value=document.all.form.de recha.value;
}

function drch(){
document.all.form.cmb.value="Derecha";
document.all.form.derecha.value=document.all.form. arriba.value;
document.all.form.derecha.value=document.all.form. abajo.value;
document.all.form.derecha.value=document.all.form. izquierda.value;
}

</script>
</head>

<body>


<center>
<form name="form">
<input type="text" name="arriba" ><br>
<input type="text" name="izquierda" >
<input type="button" name="cmb" value="<-->">
<input type="text" name="abajo" ><br>
<input type="text" name="derecha" >
<br><br>
<input type="button" name="izq" onClick="izq()" value="Izquierda">
<input type="button" name="arb" onClick="arb()" value="Arriba">
<input type="button" name="abj" onClick="abj()" value="Abajo">
<input type="button" name="drch" onClick="drch()" value="Derecha">
</form>
</center>

</body>
</html>
Haber si encontrais el fallo.


Saludos ;)
  #2 (permalink)  
Antiguo 16/06/2007, 16:39
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 19 años, 4 meses
Puntos: 3
Re: Problema con funciones

mm no se si sea el problema, o tal vez io nunca lo e usado o visto y poir eso se me hace extraño...

Para mi el problema esta en que haces:

document.all.form.derecha.value=document.all.form. arriba.value;

usas el .all y el .form , tal vez solo deberias hacerlo asi:

document.all.derecha.value=document.all.arriba.val ue;

es solo una idea :) suerte!
__________________
Wow! No se que decir...
  #3 (permalink)  
Antiguo 16/06/2007, 17:00
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 19 años, 4 meses
Puntos: 3
Re: Problema con funciones

Sabes, ya lo probe, me funciono cambiando tambien únicamente el nombre de las funciones... Suerte!
__________________
Wow! No se que decir...
  #4 (permalink)  
Antiguo 17/06/2007, 02:07
 
Fecha de Ingreso: junio-2007
Mensajes: 7
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Problema con funciones

Pues a mi sigue sin irme ahora lo tengo puesto como tu dices document.all.derecha.value y me sigue fallando me dice ke falla donde esta el onclick. Me puedes colgar la pagina comprimida para mirar haber ke falta ?


Gracias



Salu2
  #5 (permalink)  
Antiguo 17/06/2007, 02:40
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 23 años
Puntos: 772
Re: Problema con funciones

Hola DjDuDu

El problema está aquí:

Código:
<input type="button" name="izq" onclick="izq()" value="Izquierda">
Has puesto el mismo nombre al botón y a la función.

De paso, cambia: document.all.form.abajo.value=document.all.form.ar riba.value;

por: document.form.abajo.value=document.form.arriba.val ue;

para que funcione en navegadores que no sean IE.

Saludos,
  #6 (permalink)  
Antiguo 17/06/2007, 04:31
 
Fecha de Ingreso: junio-2007
Mensajes: 7
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Problema con funciones

Bueno familia no he podido hacerlo funcionar y ahora lo tengo rectificado con vuestras indicaciones, seguro que es una chorrada exajerada pero yo no la veo. os dejo el codigo de como esta ahora.
Cita:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//
<html>
<head>
<script language="JavaScript">
function izqui(){
document.form.cmb.value="Izquierda";
document.form.izquierda.value=document.form.arriba .value;
document.form.izquierda.value=document.form.abajo. value;
document.form.izquierda.value=document.form.derech a.value;
document.form.arriba.value="";
document.form.abajo.value="";
document.form.derecha.value="";
}

function arri(){
document.all.cmb.value="arriba";
document.all.arriba.value=document.izquierda.value ;
document.all.arriba.value=document.abajo.value;
document.all.arriba.value=document.derecha.value;´
document.all.izquierda.value="";
document.all.abajo.value="";
document.all.derecha.value="";
}

function aba(){
document.form.cmb.value="abajo";
document.form.abajo.value=document.all.form.arriba .value;
document.form.abajo.value=document.all.form.izquie rda.value;
document.form.abajo.value=document.all.form.derech a.value;
document.form.izquierda.value="";
document.form.arriba.value="";
document.form.derecha.value="";
}

function dere(){
document.form.cmb.value="Derecha";
document.form.derecha.value=document.form.arriba.v alue;
document.form.derecha.value=document.form.abajo.va lue;
document.form.derecha.value=document.form.izquierd a.value;
document.form.izquierda.value="";
document.form.arriba.value="";
document.form.abajo.value="";
}

</script>
</head>

<body>


<center>
<form name="form" action="">
<input type="text" name="arriba" ><br>
<input type="text" name="izquierda" >
<input type="reset" name="cmb" value="<-->">
<input type="text" name="abajo" ><br>
<input type="text" name="derecha" >
<br><br>
<input type="button" name="izq" onClick="izqui()" value="Izquierda">
<input type="button" name="arb" onClick="arri()" value="Arriba">
<input type="button" name="abj" onClick="aba()" value="Abajo">
<input type="button" name="drch" onClick="dere()" value="Derecha">
</form>
</center>

</body>
</html>


Es que no me hace nada, no me cambia ni el value del boton del centro, ahora le he echo que sea un reset por comodida de borrar el texto de las cajas.

Gracias



Salu2
  #7 (permalink)  
Antiguo 17/06/2007, 05:24
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 20 años
Puntos: 9
Re: Problema con funciones

Hola.

la verdad es que no esta muy claro que es lo que quieres conseguir, por un lado pasas al campo elejido el contenido de todos los demas uno detras de otro ,por lo que siempre quedara el valor de la ultima instruccion aunque este vacio. Si lo que quieres es recoger todos los valores, deberias cambiar el signo de la asignacion por ·+=·

supongamos:

a="uno"
b="dos"
c=""

c+=a
c+=b

RESULTADO c es igual a "unodos".

Puedes añadir un espacio para separar los valores.

Por otra parte termina de sustituir los ·document.all· por ·document.form·

saludos
  #8 (permalink)  
Antiguo 17/06/2007, 05:59
 
Fecha de Ingreso: junio-2007
Mensajes: 7
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Problema con funciones

Edito: Ya he solucionado el problema despeus de poner los if para comprobar que campo hay con texto.

Saludos y muchas gracias a todos ;)

Última edición por DjDuDu; 17/06/2007 a las 06:12
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 22:39.