Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Convirtiendo campos de form en valores

Estas en el tema de Convirtiendo campos de form en valores en el foro de Frameworks JS en Foros del Web. Gola tenfo mi formulario que se llama genral, quiero trater todos los valores del formulario y convertirlos en variables dentro de mi funcion. function myfunction(){ ...
  #1 (permalink)  
Antiguo 02/05/2010, 20:44
Avatar de nes24  
Fecha de Ingreso: julio-2005
Mensajes: 746
Antigüedad: 19 años, 5 meses
Puntos: 3
Convirtiendo campos de form en valores

Gola tenfo mi formulario que se llama genral, quiero trater todos los valores del formulario y convertirlos en variables dentro de mi funcion.

function myfunction(){

elementosFormu = $('#general input:not(:button, :submit)');
elementosFormu.each(function () {
var this.name = this.value;
});

alert (nombre);

}


como podria hacerlo
__________________
No hay nada que foros del web no sepa!!!!

Peca tanto quien presume de su belleza como de su inteligencia, ya que la brevedad de la vida aunque distorcionada siempre estara presente.
  #2 (permalink)  
Antiguo 03/05/2010, 08:37
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 9 meses
Puntos: 101
Respuesta: Convirtiendo campos de form en valores

Creo que con serialize()
  #3 (permalink)  
Antiguo 03/05/2010, 12:17
 
Fecha de Ingreso: mayo-2010
Mensajes: 25
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Convirtiendo campos de form en valores

Código Javascript:
Ver original
  1. function myfunction(){
  2.   var nombre = ''
  3.   $('#general input:not(:button, :submit)').each(function () {
  4.     nombre += $(this).val()
  5.   });
  6.  
  7.   alert (nombre);
  8. }

te sirve eso? o no es lo que querias?
  #4 (permalink)  
Antiguo 03/05/2010, 14:11
Avatar de nes24  
Fecha de Ingreso: julio-2005
Mensajes: 746
Antigüedad: 19 años, 5 meses
Puntos: 3
Respuesta: Convirtiendo campos de form en valores

No definitivamente no,

lo que deseo es algo como esto :

function myfunction(){

elementosFormu = $('#general input:not(:button, :submit)');
elementosFormu.each(function () {
// el formulario tiene 3 campos nombre, valor, email
// aqui deverian armarce 3 variables, nombre, valor , email, con sus valores
var this.name = this.value;
});

alert (nombre);

}
__________________
No hay nada que foros del web no sepa!!!!

Peca tanto quien presume de su belleza como de su inteligencia, ya que la brevedad de la vida aunque distorcionada siempre estara presente.
  #5 (permalink)  
Antiguo 04/05/2010, 04:59
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: Convirtiendo campos de form en valores

queres para para formar una url?

algo como http://api.jquery.com/serialize/
  #6 (permalink)  
Antiguo 04/05/2010, 10:06
Avatar de nes24  
Fecha de Ingreso: julio-2005
Mensajes: 746
Antigüedad: 19 años, 5 meses
Puntos: 3
Respuesta: Convirtiendo campos de form en valores

Cita:
Iniciado por Dany_s Ver Mensaje
queres para para formar una url?

algo como http://api.jquery.com/serialize/
proa ser

<script>
function showValues() {
var str = $("form").serialize();
$("#results").text(str);
}
$(":checkbox, :radio").click(showValues);
$("select").change(showValues);
showValues();
</script>


pero, esto es lo que quisiera hacer

function showValues() {
var str = $("form").serialize();
alert(str.nombre);
}


y qu eimprimiera el valor del campo nombre.

Como seria la forma correcta???
__________________
No hay nada que foros del web no sepa!!!!

Peca tanto quien presume de su belleza como de su inteligencia, ya que la brevedad de la vida aunque distorcionada siempre estara presente.
  #7 (permalink)  
Antiguo 04/05/2010, 12:03
 
Fecha de Ingreso: abril-2008
Ubicación: MDQ
Mensajes: 54
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: Convirtiendo campos de form en valores

Código:
elementosFormu = $('#general input:not(:button, :submit)');
elementosFormu.each(function () {
// el formulario tiene 3 campos nombre, valor, email
// aqui deverian armarce 3 variables, nombre, valor , email, con sus valores
var nombre = this.name;
var valor = this.value
});

alert ('nombre : '+nombre+' valor : '+valor);

}
  #8 (permalink)  
Antiguo 04/05/2010, 16:32
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: Convirtiendo campos de form en valores

Pasa que hay que usar arrays porque en un loop se va a sobreescribir el nombre y el valor cuando exista varios valores seleccionados en un select multiple o en un casillas de verificación.

Es bastante lioso pero aca va algo

Código HTML:
<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>

<form>
    <select name="single">
      <option>Single</option>
      <option>Single2</option>
    </select>

<br />
    <select name="multiple" multiple="multiple">
      <option selected="selected">Multiple</option>
      <option>Multiple2</option>

      <option selected="selected">Multiple3</option>
    </select>
<br/>
    <input type="checkbox" name="check" value="check1" id="ch1"/>

    <label for="ch1">check1</label>

    <input type="checkbox" name="check" value="check2" checked="checked" id="ch2"/>

    <label for="ch2">check2</label>
<br />
    <input type="radio" name="radio" value="radio1" checked="checked" id="r1"/>

    <label for="r1">radio1</label>
    <input type="radio" name="radio" value="radio2" id="r2"/>

    <label for="r2">radio2</label>
    <input type="text" name="miInput" value="el valor del input name=miInput">
    <input type="submit" value="Mostrar">
  </form>
  <p><tt id="results"></tt></p>
<script>
    var valores;
    $('form').submit( function (){
        valores = new Array; //En este array se va a crear indices con los nombres de los campos
        var str = $(this).serialize(); //Obtengo todos los campos y valores del formulario
        str = str.split('&');//Corto por el ampersand para que quede name=value
        //recorro str
        jQuery.each(str, function (v, k){
            k = k.split('='); //en cada valor corto por  el signo igual, en el indice 0 tengo el nombre del campo, en el indice 1 el valor del campo, enconces guardo en un array
            //Compruebo si ya se ha definido el array (para que no sobreescriba los select multiple o lo checkbox)
            if(valores[k[0]] == undefined){ //Para que no me sobreescriba en los select multiples o checkbox
                valores[k[0]] = new Array;
            }
            //agrego los valores
            valores[k[0]].push(k[1]);
        });
        
        mostrarName('multiple');//paso el nombre del campo como parámetro
        return false;
    });

    function mostrarName(name){
        //muestro el o los valor del input name=multiple pasado como parámetro (puede haber varios chekeados)
        for (i = 0; i < valores[name].length; i++){
            alert(valores[name][i]);
        }
    }

</script>
</body>
</html> 

Etiquetas: campos, formulario
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 22:30.