Foros del Web » Programando para Internet » Javascript »

Pasar valores de formulario a funcion javascript

Estas en el tema de Pasar valores de formulario a funcion javascript en el foro de Javascript en Foros del Web. Hola a todos . ¿Hay alguna forma de pasar los valores de un formulario a una funcion javascript? por ejemplo: <form name=formulario method=get action="javascript :funcion(valores ...
  #1 (permalink)  
Antiguo 13/03/2005, 14:39
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
Pasar valores de formulario a funcion javascript

Hola a todos .

¿Hay alguna forma de pasar los valores de un formulario a una funcion javascript? por ejemplo:

<form name=formulario method=get action="javascript:funcion(valores del formulario)">

y la funcion:

function funcion(valor1,valor2........)

¿es posible?

Saludos.
  #2 (permalink)  
Antiguo 13/03/2005, 15:04
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola programeitor:

En ocasiones he puesto en los actions de formularios funciones javascript como tu ejemplo, pero para pasar parámetros, creo que podría funcionar pasar como parámetro this, y siendo una etiqueta form tendría que equivaler a document.forms.formulario, entonces podrías leer los datos como un array asociativo...

function funcion(datos) {
if (!datos["elemento1"]["disabled"])
// obtener valor de elemento1
elemento1 = datos["elemento1"].value;
}

Supongo que no tendrás problemas con este tipo de arrays... incluso puedes obtenerlos con un bucle for:
for (elemento in datos)...

Espero que te sirva.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 13/03/2005, 15:48
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
.

Si ,gracias Caricatos ., la cuestion es que la funcion recoge 23 valores ,y quiero poder pasarselos de forma directa o mediante el formulario, pero creo que no va a poder ser . no?

Estaba pasando el form a una funcion que lo convierte en un array, y este, lo intento meter en la funcion principal, pero no hay manera .

Tu propuesta me parece una buena solucion ,asi que voy a intentarlo . Aunque eso si, para pasar los valores directamente, desde un boton por ejemplo ,tendre que crear un array ,no? o hay otras posibles soluciones?

Muchas gracias.

.
  #4 (permalink)  
Antiguo 13/03/2005, 16:16
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

Recuerdo que en otra ocasión intenté hacer lo que estás intentando y lo dejé por imposible...

Lo de usar un array puede ser una buena idea, pero a la hola de recoger los valores no vale el uso de "arguments" al menos a mi no me ha funcionado.

Espero que tengas suerte y nos informes de tus progresos.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 13/03/2005, 16:24
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Vámonos a Javascript!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #6 (permalink)  
Antiguo 13/03/2005, 17:03
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
Hola de nuevo, estaba retocando, son 23

Funciona a las mil maravillas, lo he hecho tal como dijiste y va bien.
le paso en el form:

<form name=form action=javascipt:funcion(document.form)>

y en la funcion le paso los valores:

function funcion(datos){
dato1=datos.elements[0].value
dato2=Math.floor(datos.elements[1].value)
.....

y va ,ya lo creo que va.

Te estoy muy agradecido ,espero poder ayudarte en otra ocasion. Saludos.

Pd: Como soy muy cabezon, seguire intentado colarle un array o el mismo form a la funcion, si lo consigo lo posteare en este foro .

  #7 (permalink)  
Antiguo 14/03/2005, 15:32
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
.

Ha pasado algo muy extraño ,esta mañana postee una respuesta a este hilo ,y no está, ¿¡ a ver si la he posteado en otro sitio !....

Bueno resulta que he dado con un metodo que sirve para pasar arreglos a una funcion ,casi lo que yo queria., el metodo es 'apply'

funcion.apply(arguments,arreglo) // 'arguments' es literal

con esta instruccion pasamos el arreglo a la funcion ,que los recoge como si fueran argumentos normales:

function funcion(a,b,c,d......)

Está muy bien ,lo que me falta es convertir a su vez los valores del formulario en un arreglo ,pero preferiblemente con una instruccion de este tipo ,"si la hay".

Agradezco cualquier comentario, Saludos.

.
  #8 (permalink)  
Antiguo 14/03/2005, 15:51
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola programeitor:

Suena "muy interesante" lo que comentas. Voy a buscar "javascript apply" y si descubro algo interesante lo comentaré (sobre todo como aplicarlo)...
Espero que nos tengas informados...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #9 (permalink)  
Antiguo 14/03/2005, 17:42
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
.

Bueno ,resulta que 'arguments' en apply(arguments,arreglo)., por una parte, si se manda desde el form, no funciona ,sin embargo, si funciona, colocando lo que sea entre comillas, o cualquier numero. Desde otras partes de la pagina en que lo he mandado si funciona asi, ademas de esas otras formas ,con lo que lo mas logico es usar apply('',arreglo) o apply(0,arreglo) por ejemplo.

lo que hasta ahora tengo es:

function arreglar(f){
var a=new Array();
for(n=0;n<f.length;n++){
a[n]=f[n].value;
}
return a;
}

function ver(a,b,c){
alert(b+' '+c+' '+a)
}

<form name="form" action="javascript:ver.apply('',arreglar(document.form))">
<input type="text" name="dato" value="123">
<input type="text" name="dat" value="asd">
<input type="text" name="da" value="jarl-987">
<input type="submit" onclick="">
</form>


Con lo que se resuelve la pregunta inicial ,pero no como se esperaba, que aunque la funcion no es nada del otro mundo ,me gustaria hacerlo sin recurrir funcion alguna. seguire buscando metodos a ver si doy con la tecla.

La pagina de donde saque el apply es http://javascripts.astalaweb.com/Ayu...jsmthapply.asp

Hasta la vuelta.

.
  #10 (permalink)  
Antiguo 23/04/2009, 10:57
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 15 años
Puntos: 8
Sonrisa Pasar valores de formulario PHP o ASP a función javascript

Hola, soy nuevo en el foro, y creo que este POST es bien antiguo, de todas formas agrego mi comentario, quizá a alguien le sirva, es para pasar variables desde ASP o PHP a javascript:

PARA PHP:****

<?php
//capturo las variables
$var1 = $_POST ['var1']; //variable desde un formulario POST, puede ser GET
$var2 = $_POST ['var2']; //variable desde un formulario POST, puede ser GET
$var3 = $_POST ['var3']; //variable desde un formulario POST, puede ser GET
.
.
.
//tantas variables como necesite

?>

OBTENERLAS EN JAVASCRIPT:
<script type="text/javascript">

//declaro variables
var variable1
var variable2
var variable3
.
.
.

//asigno los valores
variable1 = '<?php echo $var1;?>'
variable2 = '<?php echo $var2;?>'
variable3 = '<?php echo $var3;?>'
.
.
.

//y ya acá puedo usar las variables variable1,variable2,variable3 ... en cualquier lugar del script

//resto del script ******************

</script>

PARA ASP:****

Solo sustituir lo siguiente:

<?php echo $var1;?> por <% =var1;%>; y claro está, obtener las variables en ASP del POST o el GET en su respectiva forma

Espero le sirva a alguien ... mis saludos !!!! joi
  #11 (permalink)  
Antiguo 23/04/2009, 11:04
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Pasar valores de formulario a funcion javascript

El mensaje original es de hace más de 4 años. Por favor, no reviváis temas tan antiguos.

Saludos,
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:44.