Foros del Web » Programando para Internet » Javascript »

type="button" que sea enter

Estas en el tema de type="button" que sea enter en el foro de Javascript en Foros del Web. Hola, Estoy haciendo una calculadora en html y necesitaria que el "=" lo pudieras activar con el enter. He estado buscando, y no lo tengo ...
  #1 (permalink)  
Antiguo 02/03/2011, 02:18
 
Fecha de Ingreso: enero-2011
Ubicación: Barcelona
Mensajes: 79
Antigüedad: 13 años, 10 meses
Puntos: 1
type="button" que sea enter

Hola, Estoy haciendo una calculadora en html y necesitaria que el "=" lo pudieras activar con el enter.
He estado buscando, y no lo tengo muy claro si se tendria que hacer en javascript o solo con html ya se podria.

Aqui les dejo la parte de html del boton:
Código HTML:
<a class="igual" name="DoIt" value="  =  " onclick="Calc.Input.value = eval(Calc.Input.value)" type="button" style="position: absolute; top:191.667px; left: 99.666px;"></a> 
Muchas gracias por todo
  #2 (permalink)  
Antiguo 02/03/2011, 08:19
 
Fecha de Ingreso: enero-2011
Ubicación: Barcelona
Mensajes: 79
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: type="button" que sea enter

Hos dejo aqui todo el codigo de la calculadora, haver si hos sirve.

ya funciona en todos los navegadores aunque el :active no me funciona en firefox no se si és normal.

aparte de eso solo falta el "=" en el enter y ya estaria.

Código HTML:
<html><head>
</head>
<style type="text/css">
#box {
  margin: 40px auto;
  width:196;
  height:248;
  color: inherit;
  background: url("images/fondo.png");background-repeat: no-repeat; position:relative;}
img { border:0; }

.in {background:url(images/num.png); background-repeat: no-repeat;width: 127px; height: 40px;}


.zero   {background:url(images/tot.png)0 -720px; top:191.667px; left:56.333px;}
.uno 	{background:url(images/tot.png)0 -675px; top:57.668px; left:13px;}
.dos 	{background:url(images/tot.png)0 -630px; top:57.668px; left:56.333px;}
.tres 	{background:url(images/tot.png)0 -585px; top:57.668px; left:99.666px;}
.cuatro {background:url(images/tot.png)0 -540px; top:102.334px; left: 13px;}
.cinco  {background:url(images/tot.png)0 -495px; top:102.334px; left:56.333px;}
.seis   {background:url(images/tot.png)0 -450px; top:102.334px; left:99.666px;}
.siete  {background:url(images/tot.png)0 -405px; top:147px;     left:13px;}
.ocho   {background:url(images/tot.png)0 -360px; top:147px;     left:56.333px;}
.nueve  {background:url(images/tot.png)0 -315px; top:147px;     left:99.666px;}
.logo   {background:url(images/tot.png)0 0px;    top:13.002px;  left:142.999;}
.por    {background:url(images/tot.png)0 -45px;  top:147px;     left:142.999px;}
.dividir{background:url(images/tot.png)0 -90px;  top:191.667px; left:142.999px;}
.mas    {background:url(images/tot.png)0 -135px; top:57.668px;  left:142.999px;}
.menos  {background:url(images/tot.png)0 -180px; top:102.334px; left:142.999px;}
.c      {background:url(images/tot.png)0 -270px; top:191.667px; left:13px;}
.igual  {background:url(images/tot.png)0 -225px; top:191.667px; left:99.666px;}

.zero:active    {background:url(images/tot.png)-60px -720px; top:191.667px; left:56.333px;}
.uno:active     {background:url(images/tot.png)-60px -675px; top:57.668px; left:13px;}
.dos:active     {background:url(images/tot.png)-60px -630px; top:57.668px; left:56.333px;}
.tres:active    {background:url(images/tot.png)-60px -585px; top:57.668px; left:99.666px;}
.cuatro:active  {background:url(images/tot.png)-60px -540px; top:102.334px; left: 13px;}
.cinco:active   {background:url(images/tot.png)-60px -495px; top:102.334px; left:56.333px;}
.seis:active    {background:url(images/tot.png)-60px -450px; top:102.334px; left:99.666px;}
.siete:active   {background:url(images/tot.png)-60px -405px; top:147px;     left:13px;}
.ocho:active    {background:url(images/tot.png)-60px -360px; top:147px;     left:56.333px;}
.nueve:active   {background:url(images/tot.png)-60px -315px; top:147px;     left:99.666px;}
.logo:active    {background:url(images/tot.png)-60px 0px;    top:13.002px;  left:142.999;}
.por:active     {background:url(images/tot.png)-60px -45px;  top:147px;     left:142.999px;}
.dividir:active {background:url(images/tot.png)-60px -90px;  top:191.667px; left:142.999px;}
.mas:active     {background:url(images/tot.png)-60px -135px; top:57.668px;  left:142.999px;}
.menos:active   {background:url(images/tot.png)-60px -180px; top:102.334px; left:142.999px;}
.c:active       {background:url(images/tot.png)-60px -270px; top:191.667px; left:13px;}
.igual:active   {background:url(images/tot.png)-60px -225px; top:191.667px; left:99.666px;}

.zero,
.uno,
.dos,
.tres,
.cuatro,
.cinco,
.seis,
.siete,
.ocho,
.nueve,
.logo,
.por,
.dividir,
.mas,
.menos,
.c,
.igual {background-repeat: no-repeat;	width: 40px; height: 40px;position: absolute;}

</style>

<body>

<div id="box">

<form name="Calc">
<input class="in" name="Input" type="text" style="font-family: arial; font-size: 15pt; text-align: left; position: absolute; top: 13.002px; left: 13px;">

<a class="logo"  href="http://www.vicensvivesdigital.com" style="position: absolute; top: 13.002px; left: 142.999;"></a>
   
<a class="uno" name="one" value="  1  " onclick="Calc.Input.value += '1'" type="button"></a>
<a class="dos" name="two" value="  2  " onclick="Calc.Input.value += '2'" type="button"></a>
<a class="tres" name="three" value="  3  " onclick="Calc.Input.value += '3'" type="button"></a>
<a class="mas" name="plus" value="  +  " onclick="Calc.Input.value += '+'" type="button"></a>

<a class="cuatro" name="four" value="  4  " onclick="Calc.Input.value += '4'" type="button"></a>
<a class="cinco" name="five" value="  5  " onclick="Calc.Input.value += '5'" type="button"></a>
<a class="seis" name="six" value="  6  " onclick="Calc.Input.value += '6'" type="button"></a>
<a class="menos" name="minus" value="  -  " onclick="Calc.Input.value += '-'" type="button"></a>
 
<a class="siete" name="seven" value="  7  " onclick="Calc.Input.value += '7'" type="button"></a>
<a class="ocho" name="eight" value="  8  " onclick="Calc.Input.value += '8'" type="button"></a>
<a class="nueve" name="nine" value="  9  " onclick="Calc.Input.value += '9'" type="button"></a>
<a class="por" name="times" value="  x  " onclick="Calc.Input.value += '*'" type="button"></a>
 
<a class="c" name="clear" value="  c  " onclick="Calc.Input.value = ''" type="button"></a>
<a class="zero" name="zero" value="  0  " onclick="Calc.Input.value += '0'" type="button"></a>
<a class="igual" name="DoIt" value="  =  " onclick="Calc.Input.value = eval(Calc.Input.value)"></a>
<a class="dividir" name="div" value="  /  " onclick="Calc.Input.value += ' / '" type="button"></a>

</form>

</div>


</body></html> 
  #3 (permalink)  
Antiguo 03/03/2011, 01:53
 
Fecha de Ingreso: enero-2011
Ubicación: Barcelona
Mensajes: 79
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: type="button" que sea enter

Si alguien fuera tan amable de decirme si es posible o por donde mirar, me lo intentaria buscar yo solo, pero es que no se como buscarlo y llevo 2 dias dando palos de ciego.

gracias
  #4 (permalink)  
Antiguo 03/03/2011, 05:33
 
Fecha de Ingreso: enero-2011
Ubicación: Barcelona
Mensajes: 79
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: type="button" que sea enter

He encontrado algo, pero no me funciona no se como hacerlo funcionar.

Opcion 1

Código HTML:
 
<script language="JavaScript" type="text/JavaScript">
    function keyBoard(presskey)
    {
        if (presskey == 13) Calc.Input.value = eval(Calc.Input.value); 
    }
    
 </script>
 
<a class="igual" name="DoIt" onclick="Calc.Input.value = eval(Calc.Input.value)"></a> 

Opcion 2

Código HTML:
 
<script language="JavaScript" type="text/JavaScript">
    function SearchIntro(oEvent){
        if ((oEvent.keyCode && oEvent.keyCode==13)
        || (oEvent.which && oEvent.which==13)) {
        Calc.Input.value = eval(Calc.Input.value);
    }
    
 </script>
 
<a class="igual" name="DoIt" onclick="Calc.Input.value = eval(Calc.Input.value)" onKeyPress="searchIntro(event)"></a> 
haver si me pueden ayudar.
  #5 (permalink)  
Antiguo 03/03/2011, 16:21
 
Fecha de Ingreso: mayo-2008
Mensajes: 82
Antigüedad: 16 años, 6 meses
Puntos: 3
Respuesta: type="button" que sea enter

Me tome la molestia de armarte el codigo:

Código Javascript:
Ver original
  1. <head>
  2. <script language="JavaScript" type="text/JavaScript">
  3.     function KeyBoard(e){
  4.     var n = document.getElementById('Nums').value;
  5.     var x = eval(n);
  6.     tecla = (document.all) ? e.keyCode : e.which;
  7.     if (tecla==13) document.getElementById('Nums').value = x; }
  8. </script>
  9. </head>
  10. <body onkeypress="KeyBoard(event);">
  11. <input type="text" id="Nums" name="Calc">
  12. </body>


Espero que te sea de ayuda!, saludos.

Última edición por Grox; 03/03/2011 a las 16:42 Razón: Le encontre algunos errores que no me di cuenta, jeje
  #6 (permalink)  
Antiguo 04/03/2011, 02:25
 
Fecha de Ingreso: enero-2011
Ubicación: Barcelona
Mensajes: 79
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: type="button" que sea enter

Ufff!!


Muchisimas gracias eres un crack y me ha ayudado muchissimo, ahora si me hace el calculo!!!

Ahora solo falta que no se me borre el resultado tal i como lo da,
ahora cuando doy enter me sale el resultad un milisegundo, y despés se me va a la tabla de dirección del navegador.

ejemplo:

25-4

file:///Users/Desktop/calculator/calculator.html?Calc=21

si me dijeras como evitar este problema con el enter yo ya....

igualmente muchisimas gracias ya que me has solucionado un gran problema.
  #7 (permalink)  
Antiguo 05/03/2011, 20:46
 
Fecha de Ingreso: mayo-2008
Mensajes: 82
Antigüedad: 16 años, 6 meses
Puntos: 3
Respuesta: type="button" que sea enter

Es porque lo metiste entre <form> sacalo, y que quede solo el input...

Saludos!
  #8 (permalink)  
Antiguo 08/03/2011, 02:17
 
Fecha de Ingreso: enero-2011
Ubicación: Barcelona
Mensajes: 79
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: type="button" que sea enter

Grox no me funciona, si lo saco del <form> me lo sigue pasando arriba, y aparte no me deja calcularlo con los botones.

Gracias y perdona mi ineptitud.

Etiquetas: enter
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 20:20.