Código de JavaScript - Función serialize() en JavaScript

Imágen de perfil
Val: 606
Bronce
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Función serialize() en JavaScriptgráfica de visualizaciones


JavaScript

Publicado el 15 de Enero del 2021 por Info (100 códigos)
3.936 visualizaciones desde el 15 de Enero del 2021
Esta función de javascript obtiene todos los nombres y los valores de todos los elementos de un formulario dado, exactamente lo mismo que hace la función serialize() de jquery.

1

Publicado el 15 de Enero del 2021gráfica de visualizaciones de la versión: 1
3.937 visualizaciones desde el 15 de Enero del 2021
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Código completo del ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
</head>
 
<body>
    <form id="miFormulario">
        <div>
            <input type="text"> <!-- Este no aparece porque no tiene nombre-->
        </div>
        <div>
            <input type="text" name="text">
        </div>
        <div>
            <input type="number" name="number">
        </div>
        <div>
            <input type="date" name="date">
        </div>
        <div>
            <input type="email" name="email">
        </div>
        <div>
            <input type="checkbox" name="check" value="check1">
        </div>
        <div>
            1 - <input type="radio" name="radio" value="radio1">  | 2 - <input type="radio" name="radio" value="radio2">
        </div>
        <div>
            <textarea name="textarea"></textarea>
        </div>
 
        <div>
            <input type="button" onclick="alert(serialize('#miFormulario'))" value="Obtener un objeto con los valores del formulario"> <!-- Este no aparece porque no tiene nombre-->
        </div>
    </form>
</body>
</html>
 
<script>
/**
 * Funcion para obtener todos los valores de un formulario
 * al igual que lo hace la instrucción de jquery $.serialize()
 *
 * @params {string} form - elemento que hace referencia al
 *                         formulario donde obtener los valores
 *                         Puede ser "form", "#formId", ".estilo", ...
 * @return {string} - devuelve algo como:
 *                    "nombreinput=entrada1&nombreinput=entrada2"
 */
function serialize(form) {
    return Array.from(document.querySelector(form).querySelectorAll("input, textarea")).map(el => {
        if (!el.name) {
            return;
        }
        if (el.type=="radio" || el.type=="checkbox") {
            return el.checked ? el.name+"="+el.value : "";
        }
        return el.name+"="+el.value;
    }).filter(el => el).join("&");
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
 * Funcion para obtener todos los valores de un formulario
 * al igual que lo hace la instrucción de jquery $.serialize()
 *
 * @params {string} form - elemento que hace referencia al
 *                         formulario donde obtener los valores
 *                         Puede ser "form", "#formId", ".estilo", ...
 * @return {string} - devuelve algo como:
 *                    "nombreinput=entrada1&nombreinput=entrada2"
 */
function serialize(form) {
    return Array.from(document.querySelector(form).querySelectorAll("input, textarea")).map(el => {
        if (!el.name) {
            return;
        }
        if (el.type=="radio" || el.type=="checkbox") {
            return el.checked ? el.name+"="+el.value : "";
        }
        return el.name+"="+el.value;
    }).filter(el => el).join("&");
}



Comentarios sobre la versión: 1 (0)


No hay comentarios
 

Comentar la versión: 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s6820