Repository navigation
FormData - #335
FormData#335
Conversation
| Lo que hace especial al objeto `FormData` es que los mΓ©todos de red, tales como `fetch`, pueden aceptar un objeto `FormData` como el cuerpo. Es codificado y enviado como `Content-Type: multipart/form-data`. | ||
|
|
||
| From the server point of view, that looks like a usual form submission. | ||
| Desde el punto de vista del servidor, se vΓ© como una entrega normal. |
There was a problem hiding this comment.
| Desde el punto de vista del servidor, se vΓ© como una entrega normal. | |
| Desde el punto de vista del servidor, se ve como una entrega normal. |
| - `formData.has(name)` - if there exists a field with the given `name`, returns `true`, otherwise `false` | ||
| - `formData.append(name, value)` - agrega un campo al formulario con el nombre `name` y el valor `value`, | ||
| - `formData.append(name, blob, fileName)` - agrega un campo tal como si se tratara de un `<input type="file">`, el tercer argumento `fileName` establece el nombre del archivo (no el nombre del campo), tal como si se tratara del nombre del archivo en el sistema de archivos del usuario, | ||
| - `formData.delete(name)` - remove el campo de nombre `name`, |
There was a problem hiding this comment.
| - `formData.delete(name)` - remove el campo de nombre `name`, | |
| - `formData.delete(name)` - elimina el campo de nombre `name`, |
| - `formData.append(name, blob, fileName)` - agrega un campo tal como si se tratara de un `<input type="file">`, el tercer argumento `fileName` establece el nombre del archivo (no el nombre del campo), tal como si se tratara del nombre del archivo en el sistema de archivos del usuario, | ||
| - `formData.delete(name)` - remove el campo de nombre `name`, | ||
| - `formData.get(name)` - obtiene el valor del campo con el nombre `name`, | ||
| - `formData.has(name)` - en caso de que exista el campo con el nombre `name`, retorna `true`, de lo contrario `false` |
There was a problem hiding this comment.
Solemos traducir "devuelve"
"retorna" estΓ‘ bien, pero por consistencia con el resto de los art preferimos devuelve
| - `formData.has(name)` - en caso de que exista el campo con el nombre `name`, retorna `true`, de lo contrario `false` | |
| - `formData.has(name)` - en caso de que exista el campo con el nombre `name`, devuelve `true`, de lo contrario `false` |
| <form id="formElem"> | ||
| <input type="text" name="name" value="John"> | ||
| <input type="text" name="surname" value="Smith"> | ||
| <input type="text" name="nombre" value="John"> |
There was a problem hiding this comment.
Solamente como nota:
No traducimos nombres de variables, htm clases o id,
(incluso debemos ser cuidadosos al traducir contenido entre comillas)
en HTML ' name="xxx" ', xxx es un nombre referenciable por codigo como "class="
Lo dejamos a criterio del traductor, pero recomendamos cuidado y probarlo la pΓ‘gina con un server local.
En este caso no importa porque es un ej y no se referencia en todo el articulo,
lo comento para futuras traducciones
| Un formulario tΓ©cnicamente tiene permitido contar con muchos campos con el mismo atributo `name`, por lo que mΓΊltiples llamadas a `append` agregarΓ‘n mΓ‘s campos con el mismo nombre. | ||
|
|
||
| There's also method `set`, with the same syntax as `append`. The difference is that `.set` removes all fields with the given `name`, and then appends a new field. So it makes sure there's only one field with such `name`, the rest is just like `append`: | ||
| Por otra parte existe un mΓ©todo `set`, con la misma sintΓ‘xis que `append`. La diferencia estΓ‘ en que `.set` remueve todos los campos con el `name` que se le ha pasado, y luego agrega el nuevo campo. De este modo nos aseguramos de que sΓ³lo un campo Γ©xiste con determinado `name`, el resto es tal cΓ³mo en `append`: |
There was a problem hiding this comment.
| Por otra parte existe un mΓ©todo `set`, con la misma sintΓ‘xis que `append`. La diferencia estΓ‘ en que `.set` remueve todos los campos con el `name` que se le ha pasado, y luego agrega el nuevo campo. De este modo nos aseguramos de que sΓ³lo un campo Γ©xiste con determinado `name`, el resto es tal cΓ³mo en `append`: | |
| Por otra parte existe un mΓ©todo `set`, con la misma sintΓ‘xis que `append`. La diferencia estΓ‘ en que `.set` remueve todos los campos con el `name` que se le ha pasado, y luego agrega el nuevo campo. De este modo nos aseguramos de que sΓ³lo un campo Γ©xiste con determinado `name`, el resto es tal como en `append`: |
| ## Enviando un formulario con datos Blob | ||
|
|
||
| As we've seen in the chapter <info:fetch>, it's easy to send dynamically generated binary data e.g. an image, as `Blob`. We can supply it directly as `fetch` parameter `body`. | ||
| Tal como pudimos ver en el capΓtulo <info:fetch>, es fΓ‘cil enviar datos binarios generados dinΓ‘micamente ej. una imagen, como `Blob`. Podemos simplemente proporcionarla a `fetch` como un parametro en el `body`. |
There was a problem hiding this comment.
La norma de las comas encerrando un bloque.
No sΓ© por quΓ© el ruso se enrosca tanto explicando, fetch('ruta imagen ', { method: 'POST' , body: blob }
Tal como pudimos ver en el capΓtulo info:fetch, es fΓ‘cil enviar datos binarios generados dinΓ‘micamente, por ej. una imagen, como Blob. Podemos proporcionarlos directamente a un fetch con el parΓ‘metro body.
CambiΓ© de opiniΓ³n. Creo que es mΓ‘s facil de leer.
| Tal como pudimos ver en el capΓtulo <info:fetch>, es fΓ‘cil enviar datos binarios generados dinΓ‘micamente ej. una imagen, como `Blob`. Podemos simplemente proporcionarla a `fetch` como un parametro en el `body`. | |
| Tal como pudimos ver en el capΓtulo <info:fetch>, es fΓ‘cil enviar datos binarios generados dinΓ‘micamente (por ejemplo una imagen) como `Blob`. Podemos proporcionarlos directamente en un `fetch` con el parΓ‘metro `body`. |
| ``` | ||
|
|
||
| That's same as if there were `<input type="file" name="image">` in the form, and the visitor submitted a file named `"image.png"` (3rd argument) with the data `imageBlob` (2nd argument) from their filesystem. | ||
| Se obtiene el mismo resultado tal como si se tuviese un campo `<input type="file" name="image">` en el formulario, y el usuario enviara un archivo con nombre `"image.png"` (3er argumento) con los datos `imageBlob` (2do argumento) desde su sistema de archivos. |
There was a problem hiding this comment.
Medio denso... ΒΏpuedo? El original es mas corto, si te parece:
(Aunque tampoco me gusta el original, lo harΓa mΓ‘s esquemΓ‘tico menos verboso )
| Se obtiene el mismo resultado tal como si se tuviese un campo `<input type="file" name="image">` en el formulario, y el usuario enviara un archivo con nombre `"image.png"` (3er argumento) con los datos `imageBlob` (2do argumento) desde su sistema de archivos. | |
| Es lo mismo que si hubiera un campo `<input type="file" name="image">` en el formulario, y el usuario enviara un archivo con nombre `"image.png"` (3er argumento) con los datos `imageBlob` (2do argumento) desde su sistema de archivos. |
There was a problem hiding this comment.
No olvides el exceso de comas @joaquinelio, jajajaja
There was a problem hiding this comment.
DebΓ quitar esa coma delante de la "y"... @maksumi
No recuerdo si la notΓ©, pero queda demasiado largo.
De acuerdo, la coma NO marca pausas al lector sino estructura, habrΓa que reescribirlo.
Ni se me ocurre hacerlo. Good enough.
| [FormData](https://xhr.spec.whatwg.org/#interface-formdata) objetos utilizados para capturar un formulario HTML y enviarlo utilizando `fetch` u otro mΓ©todo de red. | ||
|
|
||
| We can either create `new FormData(form)` from an HTML form, or create a object without a form at all, and then append fields with methods: | ||
| Podemos de este modo utilizar `new FormData(form)` tal que from es un elemento formulario HTML, o crear un objeto sin un formulario en absoluto, y agregar los campos con los siguientes mΓ©todos: |
There was a problem hiding this comment.
Es inconsistente en el original pero en ingles se disimula porque usa el new como parte de la explicaciΓ³n.
| Podemos de este modo utilizar `new FormData(form)` tal que from es un elemento formulario HTML, o crear un objeto sin un formulario en absoluto, y agregar los campos con los siguientes mΓ©todos: | |
| Podemos crear el objeto con `new FormData(form)` desde un formulario HTML , o crearlo sin un formulario en absoluto y agregar los campos con los siguientes mΓ©todos: |
There was a problem hiding this comment.
| Podemos de este modo utilizar `new FormData(form)` tal que from es un elemento formulario HTML, o crear un objeto sin un formulario en absoluto, y agregar los campos con los siguientes mΓ©todos: | |
| Podemos crear el objeto con `new FormData(form)` desde un formulario HTML, o crearlo sin un formulario en absoluto y agregar los campos con los siguientes mΓ©todos: |
Lo que dijo @joaquinelio pero sin ese espacio
|
|
||
| 1. The `set` method removes fields with the same name, `append` doesn't. That's the only difference between them. | ||
| 2. To send a file, 3-argument syntax is needed, the last argument is a file name, that normally is taken from user filesystem for `<input type="file">`. | ||
| 1. El mΓ©todo `set` remueve campos con el mismo nombre, mientras que `append` no. Esta es la ΓΊnica diferencia entre estos dos metodos. |
There was a problem hiding this comment.
| 1. El mΓ©todo `set` remueve campos con el mismo nombre, mientras que `append` no. Esta es la ΓΊnica diferencia entre estos dos metodos. | |
| 1. El mΓ©todo `set` remueve campos con el mismo nombre, mientras que `append` no. Esta es la ΓΊnica diferencia entre estos dos mΓ©todos. |
| - `formData.has(nombre)` | ||
|
|
||
| That's it! | ||
| Β‘Esto es todo! |
There was a problem hiding this comment.
that's all folks!
jeje
infancia de... mediados del siglo pasado
There was a problem hiding this comment.
Pa, que te dΓ trabajo che...
|
Please make the requested changes. After it, add a comment "/done". |
maksumi
left a comment
There was a problem hiding this comment.
Excelente traducciΓ³n, algunas sugerencias a tomar en cuenta, otras como una alternativa solamente y unos cuantos typos a corregir
| # FormData | ||
|
|
||
| This chapter is about sending HTML forms: with or without files, with additional fields and so on. | ||
| Γste capΓtulo se trata del envΓo de formularios HTML: con o sin archivos, con campos adicionales y cosas similares. |
There was a problem hiding this comment.
| Γste capΓtulo se trata del envΓo de formularios HTML: con o sin archivos, con campos adicionales y cosas similares. | |
| Γste capΓtulo trata sobre el envΓo de formularios HTML: con o sin archivos, con campos adicionales y cosas similares. |
#Opcional
| Desde el punto de vista del servidor, se vΓ© como una entrega normal. | ||
|
|
||
| ## Sending a simple form | ||
| ## Enviando un simple formulario |
There was a problem hiding this comment.
| ## Enviando un simple formulario | |
| ## Enviando un formulario simple |
Sugiero el adjetivo calificativo despuΓ©s, tal como lo haces en la linea 21, ya que guarda mΓ‘s sentido en la definiciΓ³n del tipo de formulario y no parece centrarse en el valor de este mismo.
| <form id="formElem"> | ||
| <input type="text" name="name" value="John"> | ||
| <input type="text" name="surname" value="Smith"> | ||
| <input type="text" name="nombre" value="John"> |
| # FormData | ||
|
|
||
| This chapter is about sending HTML forms: with or without files, with additional fields and so on. | ||
| Γste capΓtulo se trata del envΓo de formularios HTML: con o sin archivos, con campos adicionales y cosas similares. |
There was a problem hiding this comment.
| Γste capΓtulo se trata del envΓo de formularios HTML: con o sin archivos, con campos adicionales y cosas similares. | |
| Γste capΓtulo trata sobre el envΓo de formularios HTML: con o sin archivos, con campos adicionales y cosas similares. |
Opcional
| Desde el punto de vista del servidor, se vΓ© como una entrega normal. | ||
|
|
||
| ## Sending a simple form | ||
| ## Enviando un simple formulario |
There was a problem hiding this comment.
| ## Enviando un simple formulario | |
| ## Enviando un formulario simple |
Sugiero el calificativo al final, tal como lo haces con la linea 21, para una mejor referencia al tipo de formulario y no el valor que tiene
| ``` | ||
|
|
||
| Please note how the image `Blob` is added: | ||
| Note como la imagen `Blob` es agregada: |
There was a problem hiding this comment.
| Note como la imagen `Blob` es agregada: | |
| Nota como la imagen `Blob` es agregada: |
Anteriormente empezaste usando lenguaje informal asΓ que serΓa bueno conservar el estilo
| ``` | ||
|
|
||
| That's same as if there were `<input type="file" name="image">` in the form, and the visitor submitted a file named `"image.png"` (3rd argument) with the data `imageBlob` (2nd argument) from their filesystem. | ||
| Se obtiene el mismo resultado tal como si se tuviese un campo `<input type="file" name="image">` en el formulario, y el usuario enviara un archivo con nombre `"image.png"` (3er argumento) con los datos `imageBlob` (2do argumento) desde su sistema de archivos. |
There was a problem hiding this comment.
| Se obtiene el mismo resultado tal como si se tuviese un campo `<input type="file" name="image">` en el formulario, y el usuario enviara un archivo con nombre `"image.png"` (3er argumento) con los datos `imageBlob` (2do argumento) desde su sistema de archivos. | |
| Es lo mismo que si hubiera un campo `<input type="file" name="image">` en el formulario y el usuario enviara un archivo con nombre `"image.png"` (3er argumento) con los datos `imageBlob` (2do argumento) desde su sistema de archivos. |
| ``` | ||
|
|
||
| That's same as if there were `<input type="file" name="image">` in the form, and the visitor submitted a file named `"image.png"` (3rd argument) with the data `imageBlob` (2nd argument) from their filesystem. | ||
| Se obtiene el mismo resultado tal como si se tuviese un campo `<input type="file" name="image">` en el formulario, y el usuario enviara un archivo con nombre `"image.png"` (3er argumento) con los datos `imageBlob` (2do argumento) desde su sistema de archivos. |
There was a problem hiding this comment.
No olvides el exceso de comas @joaquinelio, jajajaja
| ## Resumen | ||
|
|
||
| [FormData](https://xhr.spec.whatwg.org/#interface-formdata) objects are used to capture HTML form and submit it using `fetch` or another network method. | ||
| [FormData](https://xhr.spec.whatwg.org/#interface-formdata) objetos utilizados para capturar un formulario HTML y enviarlo utilizando `fetch` u otro mΓ©todo de red. |
There was a problem hiding this comment.
| [FormData](https://xhr.spec.whatwg.org/#interface-formdata) objetos utilizados para capturar un formulario HTML y enviarlo utilizando `fetch` u otro mΓ©todo de red. | |
| Los objetos [FormData](https://xhr.spec.whatwg.org/#interface-formdata) son utilizados para capturar un formulario HTML y enviarlo utilizando `fetch` u otro mΓ©todo de red. |
| [FormData](https://xhr.spec.whatwg.org/#interface-formdata) objetos utilizados para capturar un formulario HTML y enviarlo utilizando `fetch` u otro mΓ©todo de red. | ||
|
|
||
| We can either create `new FormData(form)` from an HTML form, or create a object without a form at all, and then append fields with methods: | ||
| Podemos de este modo utilizar `new FormData(form)` tal que from es un elemento formulario HTML, o crear un objeto sin un formulario en absoluto, y agregar los campos con los siguientes mΓ©todos: |
There was a problem hiding this comment.
| Podemos de este modo utilizar `new FormData(form)` tal que from es un elemento formulario HTML, o crear un objeto sin un formulario en absoluto, y agregar los campos con los siguientes mΓ©todos: | |
| Podemos crear el objeto con `new FormData(form)` desde un formulario HTML, o crearlo sin un formulario en absoluto y agregar los campos con los siguientes mΓ©todos: |
Lo que dijo @joaquinelio pero sin ese espacio
|
/done |
maksumi
left a comment
There was a problem hiding this comment.
Falta corregir unos puntos seΓ±alados por Joaquin, los cuΓ‘les he argumentado o simplemente seΓ±alado con un like. Una vez corregidos, Β‘approve!
| ## Enviando un formulario con un archivo | ||
|
|
||
| The form is always sent as `Content-Type: multipart/form-data`, this encoding allows to send files. So, `<input type="file">` fields are sent also, similar to a usual form submission. | ||
| El formulario siempre es enviado como `Content-Type: multipart/form-data`, Esta codificaciΓ³n permite enviar archivos. Por lo tanto campos, `<input type="file">` tambiΓ©n son enviados, tal como sucede en un envΓo normal. |
| El formulario siempre es enviado como `Content-Type: multipart/form-data`, Esta codificaciΓ³n permite enviar archivos. Por lo tanto campos, `<input type="file">` tambiΓ©n son enviados, tal como sucede en un envΓo normal. | ||
|
|
||
| Here's an example with such form: | ||
| AquΓ un ejemplo con un formulario de Γ©ste tipo: |
There was a problem hiding this comment.
La RAE recomienda dejar de usar la tilde en pronombres demostrativos como este... AsΓ que, igual, tΓ³malo e cuenta.
@MazkeZen
|
Bien, se me habΓan pasado, creo que ahora sΓ estΓ‘ todo. |
|
That's all! |
|
Thank you π I updated the Progress Issue #17 π π π |
No description provided.