diff --git a/files/fr/_redirects.txt b/files/fr/_redirects.txt index 3adf9c7ec2b12f..03e333056633ef 100644 --- a/files/fr/_redirects.txt +++ b/files/fr/_redirects.txt @@ -3845,7 +3845,8 @@ /fr/docs/Web/API/FileList/FileList /fr/docs/Web/API/FileList /fr/docs/Web/API/FileReader/FileList /fr/docs/Web/API/FileList /fr/docs/Web/API/FileRequest/lockedFile /fr/docs/Web/API/IndexedDB_API -/fr/docs/Web/API/FormData/Utilisation_objets_FormData /fr/docs/Web/API/FormData/Using_FormData_Objects +/fr/docs/Web/API/FormData/Using_FormData_Objects /fr/docs/Web/API/XMLHttpRequest_API/Using_FormData_Objects +/fr/docs/Web/API/FormData/Utilisation_objets_FormData /fr/docs/Web/API/XMLHttpRequest_API/Using_FormData_Objects /fr/docs/Web/API/GlobalEventHandlers/onabort /fr/docs/Web/API/HTMLMediaElement/abort_event /fr/docs/Web/API/GlobalEventHandlers/onauxclick /fr/docs/Web/API/Element/auxclick_event /fr/docs/Web/API/GlobalEventHandlers/onblur /fr/docs/Web/API/Window/blur_event @@ -4099,7 +4100,8 @@ /fr/docs/Web/API/WorkerGlobalScope/ononline /fr/docs/Web/API/WorkerGlobalScope/online_event /fr/docs/Web/API/XMLDocument/async /fr/docs/Web/API/XMLDocument /fr/docs/Web/API/XMLDocument/load /fr/docs/Web/API/XMLDocument -/fr/docs/Web/API/XMLHttpRequest/Utiliser_XMLHttpRequest /fr/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest +/fr/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest /fr/docs/Web/API/XMLHttpRequest_API/Using_XMLHttpRequest +/fr/docs/Web/API/XMLHttpRequest/Utiliser_XMLHttpRequest /fr/docs/Web/API/XMLHttpRequest_API/Using_XMLHttpRequest /fr/docs/Web/API/XMLHttpRequest/onreadystatechange /fr/docs/Web/API/XMLHttpRequest/readystatechange_event /fr/docs/Web/API/XSLTProcessor/XSL_Transformations_in_Mozilla_FAQ /fr/docs/Web/API/XSLTProcessor /fr/docs/Web/API/console.log /fr/docs/Web/API/console/log @@ -4760,7 +4762,7 @@ /fr/docs/Web/Guide/HTML/Liens_email /fr/docs/Learn/HTML/Introduction_to_HTML/Creating_hyperlinks /fr/docs/Web/Guide/HTML/Using_HTML5_audio_and_video /fr/docs/Learn/HTML/Multimedia_and_embedding/Video_and_audio_content /fr/docs/Web/Guide/HTML/Using_HTML_sections_and_outlines /fr/docs/Web/HTML/Element/Heading_Elements -/fr/docs/Web/Guide/Using_FormData_Objects /fr/docs/Web/API/FormData/Using_FormData_Objects +/fr/docs/Web/Guide/Using_FormData_Objects /fr/docs/Web/API/XMLHttpRequest_API/Using_FormData_Objects /fr/docs/Web/HTML/Appliquer_des_couleurs /fr/docs/Web/CSS/CSS_colors/Applying_color /fr/docs/Web/HTML/Applying_color /fr/docs/Web/CSS/CSS_colors/Applying_color /fr/docs/Web/HTML/Attributs /fr/docs/Web/HTML/Attributes @@ -4970,6 +4972,7 @@ /fr/docs/Web/JavaScript/Reference/A_propos /fr/docs/Web/JavaScript/Reference /fr/docs/Web/JavaScript/Reference/About /fr/docs/Web/JavaScript/Reference /fr/docs/Web/JavaScript/Reference/Classes/Class_fields /fr/docs/Web/JavaScript/Reference/Classes/Public_class_fields +/fr/docs/Web/JavaScript/Reference/Classes/Private_class_fields /fr/docs/Web/JavaScript/Reference/Classes/Private_properties /fr/docs/Web/JavaScript/Reference/Commentaires /fr/docs/Web/JavaScript/Reference/Lexical_grammar#Commentaires /fr/docs/Web/JavaScript/Reference/Deprecated_and_obsolete_features/The_legacy_Iterator_protocol /fr/docs/Web/JavaScript/Reference/Deprecated_and_obsolete_features /fr/docs/Web/JavaScript/Reference/Erreurs /fr/docs/Web/JavaScript/Reference/Errors @@ -6180,7 +6183,7 @@ /fr/docs/XHTML /fr/docs/Glossary/XHTML /fr/docs/XMLHttpRequest /fr/docs/Web/API/XMLHttpRequest /fr/docs/XMLHttpRequest/FormData /fr/docs/Web/API/FormData -/fr/docs/XMLHttpRequest/Utiliser_XMLHttpRequest /fr/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest +/fr/docs/XMLHttpRequest/Utiliser_XMLHttpRequest /fr/docs/Web/API/XMLHttpRequest_API/Using_XMLHttpRequest /fr/docs/XMLSerializer /fr/docs/Web/API/XMLSerializer /fr/docs/XPath /fr/docs/Web/XPath /fr/docs/XPath/Axes /fr/docs/Web/XPath/Axes @@ -6473,7 +6476,7 @@ /fr/docs/conflicting/Web/API/Element/transitionend_event /fr/docs/Web/API/Element/transitionend_event /fr/docs/conflicting/Web/API/EventTarget/addEventListener /fr/docs/Web/API/EventTarget/addEventListener /fr/docs/conflicting/Web/API/File_and_Directory_Entries_API /fr/docs/Web/API/File_and_Directory_Entries_API -/fr/docs/conflicting/Web/API/FormData/Using_FormData_Objects /fr/docs/Web/API/FormData/Using_FormData_Objects +/fr/docs/conflicting/Web/API/FormData/Using_FormData_Objects /fr/docs/Web/API/XMLHttpRequest_API/Using_FormData_Objects /fr/docs/conflicting/Web/API/Geolocation/getCurrentPosition /fr/docs/Web/API/Geolocation/getCurrentPosition /fr/docs/conflicting/Web/API/Geolocation/getCurrentPosition_058087067b28ad25fff974fd59827fb6 /fr/docs/Web/API/Geolocation/getCurrentPosition /fr/docs/conflicting/Web/API/Geolocation/getCurrentPosition_5852407122355d2ab39863042583c266 /fr/docs/Web/API/Geolocation/getCurrentPosition diff --git a/files/fr/_wikihistory.json b/files/fr/_wikihistory.json index 3a4fb9fbed0f7f..b4e7942ce8af39 100644 --- a/files/fr/_wikihistory.json +++ b/files/fr/_wikihistory.json @@ -9630,10 +9630,6 @@ "modified": "2020-10-15T22:10:44.093Z", "contributors": ["tristantheb", "SphinxKnight", "Pandazaur", "ThreadElric"] }, - "Web/API/FormData/Using_FormData_Objects": { - "modified": "2019-03-23T22:14:27.375Z", - "contributors": ["Wintersunshine-Do"] - }, "Web/API/FormData/append": { "modified": "2020-10-15T22:10:52.044Z", "contributors": ["tristantheb", "ThreadElric", "cyppan"] @@ -13261,17 +13257,6 @@ "Anonymous" ] }, - "Web/API/XMLHttpRequest/Using_XMLHttpRequest": { - "modified": "2019-03-23T23:16:32.724Z", - "contributors": [ - "sylv1", - "JNa0", - "lessonsharing", - "Deleplace", - "teoli", - "riderodd" - ] - }, "Web/API/XMLHttpRequest/XMLHttpRequest": { "modified": "2019-11-25T21:11:58.899Z", "contributors": ["Lyokolux"] @@ -13328,6 +13313,21 @@ "modified": "2020-10-15T22:31:14.301Z", "contributors": ["Voulto", "devweb157"] }, + "Web/API/XMLHttpRequest_API/Using_FormData_Objects": { + "modified": "2019-03-23T22:14:27.375Z", + "contributors": ["Wintersunshine-Do"] + }, + "Web/API/XMLHttpRequest_API/Using_XMLHttpRequest": { + "modified": "2019-03-23T23:16:32.724Z", + "contributors": [ + "sylv1", + "JNa0", + "lessonsharing", + "Deleplace", + "teoli", + "riderodd" + ] + }, "Web/API/XMLSerializer": { "modified": "2019-03-23T23:46:38.004Z", "contributors": ["Delapouite", "Mgjbot", "Fredchat", "VincentN", "Chbok"] @@ -22035,7 +22035,7 @@ "Yukulele." ] }, - "Web/JavaScript/Reference/Classes/Private_class_fields": { + "Web/JavaScript/Reference/Classes/Private_properties": { "modified": "2020-10-15T22:33:35.342Z", "contributors": ["NemoNobobyPersonne", "N0wan", "yohannlog"] }, diff --git a/files/fr/web/api/formdata/using_formdata_objects/index.md b/files/fr/web/api/formdata/using_formdata_objects/index.md deleted file mode 100644 index 6620489a47e646..00000000000000 --- a/files/fr/web/api/formdata/using_formdata_objects/index.md +++ /dev/null @@ -1,156 +0,0 @@ ---- -title: Utilisation des objets FormData -slug: Web/API/FormData/Using_FormData_Objects ---- - -L'objet [`FormData`](/fr/docs/Web/API/FormData) vous permet de compiler un ensemble de paires clé/valeur à envoyer à l'aide de l'API [`XMLHttpRequest`](/fr/docs/Web/API/XMLHttpRequest). Il est principalement destiné à l'envoi de données de formulaire, mais il peut également être utilisé indépendamment des formulaires pour transmettre des données indexées. Le format des données transmises est le même que celui qu'utiliserait la méthode {{domxref("HTMLFormElement.submit","submit()")}} du formulaire pour envoyer les données si l'encodage de ce dernier était défini sur `multipart/form-data`. - -## Création intégrale d'un objet FormData - -Vous pouvez construire un objet `FormData` vous-même, en créer une instance, puis y ajouter des champs en appelant la méthode {{domxref("FormData.append","append()")}}, comme suit : - -```js -var formData = new FormData(); - -formData.append("username", "Groucho"); -formData.append("accountnum", 123456); // le numéro 123456 est converti immédiatement en chaîne "123456" - -// fichier HTML choisi par l'utilisateur -formData.append("userfile", fileInputElement.files[0]); - -// objet JavaScript de type fichier -var content = 'hey!'; // the body of the new file... -var blob = new Blob([content], { type: "text/xml" }); - -formData.append("webmasterfile", blob); - -var request = new XMLHttpRequest(); -request.open("POST", "http://foo.com/submitform.php"); -request.send(formData); -``` - -> **Note :** Les champs « userfile » et « webmasterfile » contiennent tous deux un fichier. Le numéro attribué au champ « accountnum » est immédiatement converti en chaîne par la méthode [`FormData.append()`](/fr/docs/Web/API/FormData/append) (la valeur du champ peut être un objet {{ domxref("Blob") }}, {{ domxref("File") }} ou une chaîne : **s'il ne s'agit ni d'un objet Blob, ni d'un objet File, la valeur est convertie en chaîne**). - -Dans cet exemple, une instance `FormData` contenant les valeurs des champs « username », « accountnum », « userfile » et « webmasterfile » est créée, puis la méthode `XMLHttpRequest` [`send()`](/fr/docs/Web/API/XMLHttpRequest/send) est utilisée pour envoyer les données du formulaire. Le champ « webmasterfile » est un objet {{domxref("Blob")}}. Un objet `Blob` représente un objet-fichier de données brutes immuables. Les Blobs représentent des données qui ne sont pas nécessairement dans un format JavaScript natif. L'interface {{ domxref("File") }} se base sur l'objet `Blob`, elle en hérite les fonctionnalités et les étend pour prendre en charge les fichiers du système de l'utilisateur. Pour construire un `Blob`, vous pouvez invoquer le {{domxref("Blob.Blob","constructeur Blob()")}}. - -## Récupération d'un objet FormData dans un formulaire HTML - -Pour construire un objet `FormData` contenant les données d'un élément HTML [`
- -``` - -Vous pouvez ensuite l'envoyer à l'aide du code suivant : - -```js -var form = document.forms.namedItem("fileinfo"); -form.addEventListener( - "submit", - function (ev) { - var oOutput = document.querySelector("div"), - oData = new FormData(form); - - oData.append("CustomField", "Données supplémentaires"); - - var oReq = new XMLHttpRequest(); - oReq.open("POST", "stash.php", true); - oReq.onload = function (oEvent) { - if (oReq.status == 200) { - oOutput.innerHTML = "Envoyé !"; - } else { - oOutput.innerHTML = - "Erreur " + - oReq.status + - " lors de la tentative d’envoi du fichier.hey!'; // le corps du nouveau fichier… +const blob = new Blob([content], { type: "text/xml" }); + +formData.append("webmasterfile", blob); + +const request = new XMLHttpRequest(); +request.open("POST", "https://example.com/submitform.php"); +request.send(formData); +``` + +> **Note :** Les champs « userfile » et « webmasterfile » contiennent tous deux un fichier. Le numéro attribué au champ « accountnum » est immédiatement converti en chaîne par la méthode [`FormData.append()`](/fr/docs/Web/API/FormData/append) (la valeur du champ peut être un objet [`Blob`](/fr/docs/Web/API/Blob), [`File`](/fr/docs/Web/API/File) ou une chaîne : **s'il ne s'agit ni d'un objet `Blob`, ni d'un objet `File`, la valeur est convertie en chaîne**). + +Dans cet exemple, une instance `FormData` contenant les valeurs des champs « username », « accountnum », « userfile » et « webmasterfile » est créée, puis la méthode [`XMLHttpRequest.send()`](/fr/docs/Web/API/XMLHttpRequest/send) est utilisée pour envoyer les données du formulaire. Le champ « webmasterfile » est un objet [`Blob`](/fr/docs/Web/API/Blob). Un objet `Blob` représente un objet-fichier de données brutes immuables. Les blobs représentent des données qui ne sont pas nécessairement dans un format JavaScript natif. L'interface [`File`](/fr/docs/Web/API/File) se base sur l'objet `Blob`, elle en hérite les fonctionnalités et les étend pour prendre en charge les fichiers du système d'exploitation. Pour construire un `Blob`, vous pouvez invoquer [le constructeur `Blob()`](/fr/docs/Web/API/Blob/Blob). + +## Récupération d'un objet `FormData` dans un formulaire HTML + +Pour construire un objet `FormData` contenant les données d'un élément HTML [` + +``` + +Vous pouvez ensuite l'envoyer à l'aide du code suivant : + +```js +const form = document.forms.namedItem("fileinfo"); +form.addEventListener( + "submit", + (event) => { + const output = document.querySelector("#output"); + const formData = new FormData(form); + + formData.append("CustomField", "Des données supplémentaires"); + + const request = new XMLHttpRequest(); + request.open("POST", "stash.php", true); + request.onload = (progress) => { + output.innerHTML = + request.status === 200 + ? "Fichier téléversé !" + : `Erreur ${request.status} lors de la tentative de téléversement du fichier.