JavaScript - 2 funciones en Onclick

   
Vista:

2 funciones en Onclick

Publicado por Cristian (5 intervenciones) el 17/02/2011 23:53:30
Hola ... tengo el siguiente problema:

<input type="submit" value="Ingresar" onclick="return revisar();return comprueba_extension(this.form, this.form.uploadfoto.value);">

o sea no me andan las dos funciones, si cuando pongo una sola pero necesito usar las dos, una para comprobar los datos ingresados y la otra comprueba la extension de los archivos seleccionados (upload)

Espero haber sido claro.
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:2 funciones en Onclick

Publicado por nkox (13 intervenciones) el 18/02/2011 03:50:22
Hola

Lo que estás haciendo es similar a:
function onload(){
return revisar();
return comprueba_extension(this.form, this.form.uploadfoto.value);
}

Obviamente la segunda instrucción nunca se va a ejecutar dado que en la primera ya has devuelto un valor.

Como solución, puedes crear una nueva función que retorne true o false pero invocando ambas funciones.

<script type="text/javascript">
function revisar(){
return valor; //asumiendo que valor es del tipo boolean.
}

function comprueba_extension(oForm){ //no es necesario el segundo parámetro ya que lo puedes tomar del primero.
var uploadfoto = oForm['uploadfoto'].value;
...
return valor; //asumiendo que valor es del tipo boolean.
}

funcion checkForm(roForm){
return revisar() && comprueba_extension(oForm);
}
</script>

El evento onclick quedaría:
<input type="submit" value="Ingresar" onclick="return checkForm(this.form);">

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:2 funciones en Onclick

Publicado por EMY (2 intervenciones) el 13/09/2011 20:31:57
tengo una duda muy grande es que no se como lograr que un grupo de radios
radiogroup me haga las sigueintes funciones:

tengo ahorita un script que logra que tres checkbox sumen y resten sus values en onchange:
este es el codigo:
function suma(obj){
total=parseInt(document.getElementById("evaluacion").value.replace(",",""));
if(obj.checked){
total+=parseInt(obj.value);

}else
{

total-=parseInt(obj.value);

}
txttotal=total+"";
if (txttotal=="0") txttotal="0";
document.getElementById("evaluacion").value=txttotal.substring(0,txttotal.length-2)+","+txttotal.substring(txttotal.length-2);
}

luego en la parte del body creo los chexks
<input type="checkbox" name="valor" id="si" value="1" onClick="suma(this)">
y luego muestro el resultado en un text
<input name="evaluacion" type="text" id="evaluacion" value="0" size="10px" />S&Iacute;</td>



para cada check se hace una funcion con diferente nombre y se guardan los resulatdos en diferentes texts.
el problema es que solo funciona dando click para sumar y dando click para restar.
como lo que necesito son radios y son excluyentes necesito lograr que cuando selecciono uno de ellos, no solo me sume el valor "1" , sino que me reste un "1" al que estaba seleccionado anteriormente.
agradezco toda la ayuda que me puedan brindar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:2 funciones en Onclick

Publicado por EMY (2 intervenciones) el 13/09/2011 20:35:36
este es el codigo de donde tome el ejemplo de los checks. se puede copiar y pegar en nuevo documento para ver la funcionalidad... gracias
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">

function suma(obj){
total=parseInt(document.getElementById("precio").value.replace(",",""));
if(obj.checked){
total+=parseInt(obj.value);
}else{
total-=parseInt(obj.value);
}
txttotal=total+"";
if (txttotal=="0") txttotal="000";
document.getElementById("precio").value=txttotal.substring(0,txttotal.length-2)+","+txttotal.substring(txttotal.length-2);
}
</script>
</head>
<body>
<table width="50%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>Cabalgata&nbsp;</td>
<td>&nbsp;10,50€&nbsp;</td>
<td><input type="checkbox" name="exc1" id="exc1" value="1050" onKeyDown="suma(this)"/></td>
</tr>
<tr>
<td>Paseo en bote&nbsp;</td>
<td>&nbsp;20,00€&nbsp;</td>
<td><input type="checkbox" name="exc2" id="exc2" value="2000" onChange="suma(this)"/></td>
</tr>
<tr>
<td>Ski&nbsp;</td>
<td>&nbsp;30,30€&nbsp;</td>
<td><input type="checkbox" name="exc3" id="exc3" value="3030" onChange="suma(this)"/></td>
</tr>
<tr>
<td>TOTAL:&nbsp;</td>
<td>&nbsp;&nbsp;</td>
<td><input type="text" name="precio" id="precio" value="0,00" /></td>
</tr>
</table>
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar