no hace validacion..:(

luis
15 de Diciembre del 2009
ola a todos !!!, bueno.. llevo dias peleandome con una calculadora php, a la que he metido un poco de validacion java script y no soy capaz de que aga la validacion al ejecutarla.. la verdad es que empiezo a desesperarme jejej todo lo demas me funciona, pero la validacion no.. ojala podais ayudarme, por que sinceramente no se que mas hacer.. el codigo de la calculadora os lo pongo a continuacion, pero LO QUE ME IMPORTA ES LA PARTE DE VALIDACION DEL PRINCIPIO, ESPERO VUESTRA AYUDA,

Lo que quiero que compruebe la funcion es que ;


--se han introducido datos en los dos operandos, es decir, no están vacíos
--si la operación es una división, comprobar también que el segundo operando no es cero.

lo maximo que he llegado a hacer es esto, y no ejecuta la validacion.. espero vuestra ayuda jejej MUCHAS GRACIAS DE ANTEMANO.. UN SALUDOOO!!


<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="estilocalculadora.css" title="style">
<title> Calculadora luisma</title>
<script language="javascript">

function validar(a,b){
var "a"=document.getElementByName('a').value;
var "b"=document.getElementByName('b').value;
if(a=='.'|| b== '.'){
alert('Es requerido un numero...!!');
return (false);
}
else{
if( (parseDouble(a)/parseDouble(b))=='0' )
{ alert('mensaje...')

return (false);
}
}
return (true);
}
</script>

</head>

<body>


<form action="calculadoraluismaa.php" onsubmit ="return validar(this)" method="get">
<p>Primer numero:</p>
<input type="text" name="a" /><br />
<p>Segundo numero: </p>
<input type="text" name="b" /><br />
<p> Operacion<br /> </p>
<input type="radio" name="calculo" value="mas" checked />
+<br />
<input type="radio" name="calculo" value="menos" />
-<br />
<input type="radio" name="calculo" value="multiplicar" />
x<br />
<input type="radio" name="calculo" value="dividir" />
/<br />
<input type="submit" value="Calcular" /> <input type="reset" value="Borrar" /> <br />


</form>


<?php
$a=$_GET['a'];
$b=$_GET['b'];
$calculo=$_GET['calculo'];

if (strcmp($a, "") && strcmp($b, ""))
{
switch ($_GET['calculo'])
{

case "mas":

$x = ($_GET['a'] + $_GET['b']);
break;

case "menos":

$x= ($_GET['a'] - $_GET['b']);
break;


case "multiplicar":

$x= ($_GET['a'] * $_GET['b']);
break;


case "dividir":

$x= ($_GET['a'] / $_GET['b']);
break;

default:
echo "Operacion incorrecta";

}

echo $x;

}


?>
<p><a href= "calculadoraluismaa.php" > recargar pagina </a></p>

</body>
</html>

carmarri
15 de Diciembre del 2009
Hola, no sé muy bien que pretendes hacer aquí:

function validar(a,b){
var "a"=document.getElementByName('a').value;
var "b"=document.getElementByName('b').value;

pero var sirve para declarar una variable, y "a" es un string, con lo cual estás declarando un string, lo que no tiene sentido.

en el caso de que quieras declarar las variables sería
function validar(a,b){
var a=document.getElementByName('a').value;
var b=document.getElementByName('b').value;

pero seguiría sin tener sentido por que ya están declaradas en la cabecera de la función:
function validar(a,b){

Supongo que buscas algo así:

function validar(){
var a=document.getElementByName('a').value;
var b=document.getElementByName('b').value;
if( (a.length==0)||(b.length==0) ) {
alert('Es requerido un numero...!!');
return (false);
}
....

<form action="calculadoraluismaa.php" onsubmit ="return validar()" method="get">

Un saludo
-------------------------------------
http://www.xatcom.net xatcom.net, diseño web