Foros del Web » Programando para Internet » Javascript »

Como se hace esto? Llamar una funcion desde otra

Estas en el tema de Como se hace esto? Llamar una funcion desde otra en el foro de Javascript en Foros del Web. <html> <head> <title>Formulario de entrada</title> </head> <body topmargin="0" leftmargin="0" background="image/step.jpg"> <script language="JavaScript"> <!-- function informacion ( form ) { if (form.titular.value == ""){ alert( "Por ...
  #1 (permalink)  
Antiguo 09/07/2002, 17:42
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 22 años, 9 meses
Puntos: 0
Como se hace esto? Llamar una funcion desde otra

<html>

<head>
<title>Formulario de entrada</title>
</head>

<body topmargin="0" leftmargin="0" background="image/step.jpg">
<script language="JavaScript">
<!--
function informacion ( form )
{
if (form.titular.value == ""){
alert( "Por favor, rellena el campo Titular de la cuenta bancaria." );
form.titular.focus();
return false ;
}else if (form.entidad.value == ""){
alert( "Por favor, rellena el campo Entidad bancaria." );
form.entidad.focus();
return false ;
}else if (form.oficina.value == ""){
alert( "Por favor, rellena el campo Oficina bancaria." );
form.oficina.focus();
return false ;
}else if (form.dc.value == ""){
alert( "Por favor, rellena el campo D.C." );
form.dc.focus();
return false ;
}else if (form.cta.value == ""){
alert( "Por favor, rellena el campo Nº de Cuenta." );
form.cta.focus();
return false ;
}
return true;
}
//-->
</script>
<script>
function calculaDC () {
var pesos = [6,3,7,9,10,5,8,4,2,1];
var banco = form.entidad.value + form.oficina.value;
var dig = form.dc.value;
var cue = form.cuenta.value;
iTemp=0;
for (j=0;j<8;j++)
iTemp = iTemp + parseInt(banco.substr(7-j,1)) * pesos[j];
result = 11 - iTemp % 11;
if (result > 9) result = 1 - Result % 10;
iTemp=0;
for (j=0;j<10;j++)
iTemp = iTemp + parseInt(cue.substr(9-j,1)) * pesos[j];
iTemp = 11 - iTemp % 11;
if (iTemp > 9) iTemp = 1 - iTemp % 10;
result = result * 10 + iTemp;
if (result != dig) {
alert('Los datos introducidos no son correctos');
return false;
}
return true;
}
</script>

La primera funcion la llamo desde un formulario donde me comprueba si los campos tienen valor y quiero que despues de esa comprobacion, es decir cuando todos los campos tengan valor evalue la segunga funcion q controla q el numero de cuenta bancaria sea correcto. Abajo pongo el codigo del del formulario.

  #2 (permalink)  
Antiguo 09/07/2002, 17:45
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Como se hace esto? Llamar una funcion desde otra

<form action="altas.asp" METHOD="post" onsubmit="return informacion(this);">
<div><table>
<tr>
<td width="100%" height="109"><font face="Verdana" size="1">Titular: <input type="text"
name="titular" size="31" tabindex="30"></font><p><font face="Verdana" size="1">Entidad:<input
type="text" name="entidad" size="5" maxlength="4">  Oficina:<input type="text"
name="oficina" size="5" maxlength="4">  D.C.:<input type="text" name="dc" size="3"
maxlength="2">  Nº de Cuenta: <input type="text" name="cta" size="22" maxlength="10"></font></td>
</tr>
</table>
</div><div align="center"><center><tabl e border="0" cellpadding="0" width="750">
</table>
</center></div><div align="center"><center><p&gt ; </p>
</center></div><blockquote>
<div align="center"><center><p&gt ;<input type="submit" value="enviar"> <input type="reset"
value="borrar" size="20" width="98" height="17"></p>
</center></div>
</blockquote>
</form>
</body>
</html>

Yo he intentado unir las funciones y no va no se a q se debe si podeis echarme una mano. Os lo agradecere
  #3 (permalink)  
Antiguo 09/07/2002, 17:50
Avatar de .
.
 
Fecha de Ingreso: mayo-2002
Ubicación: Tampico
Mensajes: 906
Antigüedad: 22 años, 8 meses
Puntos: 1
Re: Como se hace esto? Llamar una funcion desde otra

ya lo intentaste así

<form action="altas.asp" METHOD="post" onsubmit="return informacion(this);calculaDC ()">
  #4 (permalink)  
Antiguo 09/07/2002, 17:55
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Como se hace esto? Llamar una funcion desde otra

Nada No va
  #5 (permalink)  
Antiguo 10/07/2002, 05:09
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 7 meses
Puntos: 16
Re: Como se hace esto? Llamar una funcion desde otra

Prueba con esto:

Código:
<form action="altas.asp" METHOD="post" onsubmit="return informacion(this) && calculaDC(this);">
y modifica
Código:
function calculaDC (form) {
Espero que funcione, lo he hecho de memoria.


Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 10/07/2002, 14:17
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Como se hace esto? Llamar una funcion desde otra

nada al poner && no habra que indicar q escript?? :(
  #7 (permalink)  
Antiguo 10/07/2002, 15:19
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 7 meses
Puntos: 16
Re: Como se hace esto? Llamar una funcion desde otra

Hola,

Al poner lo que te dije, ¿que mensaje de error te da? ¿podrias ponerlo? Porque cuando pones que no te va te refieres a que te da errores o es que no funciona la logica de las funciones. Esto ultimo no lo he mirado, porque pensaba que tu duda era sobre como llamar a dos funciones desde el onsubmit de un formulario. Es aconsejable que cuando envies alguna duda a los foros seas lo mas especifico posible, es decir, si te sale algun mensaje de error nos lo dices.

Para comprobar la solucion que te di he hecho esta pagina:
Código:
<html>
<head>

<script type="text/javascript">
function f1(form)
{
return true;
}
</script>
<script type="text/javascript">
function f2(form)
{
return true;
}
</script>

</head>
<body>

<form action="cualquierpagina.html" onsubmit="return f1(this) && f2(this);">
<input type=submit value=submit name=enviar>
</form>
</body>
</html>
he probado cambiando el valor que devuelve cada una de las funciones y solo abre la pagina destino cuando ambas devuelven true.



Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 10/07/2002, 15:32
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Como se hace esto? Llamar una funcion desde otra

no me da error pero pasa a la pagina q indico en el action sin comprobar la segunda funcion y sin embargo cada función en una pagina si funciona, es decir por separado no se a q se puede deber. Si esque los lenguajes no son compatibles o eso no tiene na q ver?
  #9 (permalink)  
Antiguo 10/07/2002, 15:53
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Como se hace esto? Llamar una funcion desde otra

He colocado la pagina en
http://www.terra.es/personal4/jp.albox/altas.htm
si quieres echarle un vistazo ;)
  #10 (permalink)  
Antiguo 10/07/2002, 16:11
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 7 meses
Puntos: 16
Re: Como se hace esto? Llamar una funcion desde otra

He vistado la pagina, he mirado el codigo fuente y he visto que en el onsubmit esta && en vez de && . El problema de esto esta o bien en el programa que usas para editar tus paginas o en que al hacer el copipasteo ha copiado el codigo HTML del foro. Solucion: sustituye el && por && . El && es el AND de JavaScript.

Espero que te funcione

Josemi

Aprendiz de mucho, maestro de poco.
  #11 (permalink)  
Antiguo 10/07/2002, 16:23
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Como se hace esto? Llamar una funcion desde otra

Mira lo he corregido y sigue igual de lo q me he dao cuenta es que siempre me da el error de pagina no encontrada altas1.htm.
Esto es muy raro
  #12 (permalink)  
Antiguo 10/07/2002, 16:36
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Como se hace esto? Llamar una funcion desde otra

Ya funciona, muchisimas gracias colega. ;)
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 01:11.