formularios y javascript
Hola a todos, tengo este c贸digo:
<html>
<title>Title here!</title>
<script language="javascript">
function pasar(form){ document.dos.texto.value=form.opciones[form.opciones.selectedIndex].text;
}
</script>
<head>
<form name="uno">
<select name="opciones">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<input type="button" onClick="pasar(this.form)" value="pasar">
</form>
<form name="dos">
<input type="text" name="texto">
</form>
</head>
</body>
</html>
Y lo que tengo es que cada vez que pulso el bot贸n pasar me escribe el contenido del combo "opciones", en el cuadro de texto. Pero mi problema est谩 en que en el cuadro de texto tengo que poner una expresi贸n matem谩tica por ejemplo de la siguiente manera:
1+(2*3)
Y lo que ahora me pasa es que si pongo 1 e intento a帽adir 2 se cambia el cuadro a 2 y desparece todo lo que ten铆a escrito, ¿c贸mo puedo hacerlo?
Seguro que es una tonter铆a pero no tengo ni idea de javascript.
Muchas gracias
Maria
<html>
<title>Title here!</title>
<script language="javascript">
function pasar(form){ document.dos.texto.value=form.opciones[form.opciones.selectedIndex].text;
}
</script>
<head>
<form name="uno">
<select name="opciones">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<input type="button" onClick="pasar(this.form)" value="pasar">
</form>
<form name="dos">
<input type="text" name="texto">
</form>
</head>
</body>
</html>
Y lo que tengo es que cada vez que pulso el bot贸n pasar me escribe el contenido del combo "opciones", en el cuadro de texto. Pero mi problema est谩 en que en el cuadro de texto tengo que poner una expresi贸n matem谩tica por ejemplo de la siguiente manera:
1+(2*3)
Y lo que ahora me pasa es que si pongo 1 e intento a帽adir 2 se cambia el cuadro a 2 y desparece todo lo que ten铆a escrito, ¿c贸mo puedo hacerlo?
Seguro que es una tonter铆a pero no tengo ni idea de javascript.
Muchas gracias
Maria
hola, lei tu pregunta, y tu quieres hacer algo asi como una calculadora, que puedas entrar valores de mas de un digito, pero cuando introduces el segundo, se borra el primero?
entendi bien??
solo en tu funcion pasar() haces esto:
function pasar(form){ document.dos.texto.value=(document.dos.texto.value)+(form.opciones[form.opciones.selectedIndex].text);
}
espero que salga. jeje es lo que se me ocurre ahorita
entendi bien??
solo en tu funcion pasar() haces esto:
function pasar(form){ document.dos.texto.value=(document.dos.texto.value)+(form.opciones[form.opciones.selectedIndex].text);
}
espero que salga. jeje es lo que se me ocurre ahorita
Puedes poner la expresi贸n tal cual, con la 煤nica precauci贸n de saber que javascript va a considerar los datos obtenidos de un formulario como texto, y por tanto 1 + 2 no ser铆a 3, sino "12" ( "1" + "2" ). Para evitar este inconveniente bastar谩 con que hagas p.e. una multiplicaci贸n por 1 del dato obtenido, con lo cual lo tomar谩 como num茅rico y al multiplicarlo lo dejar谩 igual, a continuaci贸n puedes operarlo como un valor num茅rico normal. Como ejemplo prueba a sustituir tu funci贸n por esta otra:
function pasar(form){ document.dos.texto.value=( ( form.opciones[form.opciones.selectedIndex].text * 1 ) + 2 ) * 3;
}
Bueno, espero que te sea de ayuda. Saludos:
Joaquin
function pasar(form){ document.dos.texto.value=( ( form.opciones[form.opciones.selectedIndex].text * 1 ) + 2 ) * 3;
}
Bueno, espero que te sea de ayuda. Saludos:
Joaquin
