{"id":6775,"date":"2019-05-27T23:50:55","date_gmt":"2019-05-27T21:50:55","guid":{"rendered":"https:\/\/www.creativejuiz.fr\/blog?p=6775"},"modified":"2019-09-08T14:52:55","modified_gmt":"2019-09-08T12:52:55","slug":"le-saviez-vous-defaultvalue-en-javascript","status":"publish","type":"post","link":"https:\/\/www.creativejuiz.fr\/blog\/javascript\/le-saviez-vous-defaultvalue-en-javascript","title":{"rendered":"Le saviez-vous \u2013 defaultValue en JavaScript"},"content":{"rendered":"<p>Je continue d&rsquo;\u00e9crire cette s\u00e9rie d&rsquo;articles sur des petites parties sp\u00e9cifiques de CSS, HTML ou JavaScript. Une petite chose \u00e0 apprendre, facile \u00e0 dig\u00e9rer et \u00e0 utiliser dans votre travail quotidien. La derni\u00e8re fois, il s&rsquo;agissait de listes et d&rsquo;attributs sp\u00e9cifiques comme <code>start<\/code>, <code>reversed<\/code> et <code>type<\/code> pour les \u00e9l\u00e9ments <code>ul<\/code> et <code>ol<\/code>. Cette fois, plongeons dans <code>defaultValue<\/code> dans JS.<\/p>\n<p><!--more--><\/p>\n<h2>D\u00e9finissons <code>defaultValue<\/code><\/h2>\n<p>Comme d\u00e9fini dans le <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/HTMLInputElement#Properties\">MDN<\/a>, la propri\u00e9t\u00e9 <code>defaultValue<\/code> est une <code>string<\/code> qui :<\/p>\n<blockquote>\n<p lang=\"en\"><strong>Returns \/ Sets<\/strong> the default value as originally specified in the HTML that created this object.<\/p>\n<\/blockquote>\n<p>En d&rsquo;autres termes, la propri\u00e9t\u00e9 <code>defaultValue<\/code> est la valeur d&rsquo;un \u00e9l\u00e9ment <code>input<\/code> telle que renseign\u00e9e la premi\u00e8re fois que le document HTML est lu. Cela signifie que vous pouvez changer la valeur du champ en tapant dedans ou en \u00e9ditant la propri\u00e9t\u00e9 <code>value<\/code> en JavaScript, la <code>defaultValue<\/code> restera la m\u00eame.<\/p>\n<h2>Exemple de code avec <code>defaultValue<\/code><\/h2>\n<p>Imaginez le code assez simple d&rsquo;un <code>label<\/code> et d&rsquo;un <code>input<\/code> (parce que vous avez toujours un <code>label<\/code> pour votre <code>input<\/code>, hein ?) comme suit :<\/p>\n<div class=\"code-embed-wrapper\"> <pre class=\"language-markup code-embed-pre line-numbers\"  data-line=\"2\" data-start=\"1\" data-line-offset=\"0\"><code class=\"language-markup code-embed-code\">&lt;label for=&quot;input-1&quot;&gt;What do you like?&lt;\/label&gt;<br\/>&lt;input type=&quot;text&quot; value=&quot;Something&quot; id=&quot;input-1&quot;&gt;<\/code><\/pre> <div class=\"code-embed-infos\"> <\/div> <\/div>\n<p>The mot \u00ab\u00a0<span lang=\"en\">Something<\/span>\u00a0\u00bb apparait dans le champ, vous pouvez l&rsquo;\u00e9diter et mettre la valeur \u00ab\u00a0<span lang=\"en\">Another Value<\/span>\u00a0\u00bb dedans.<br \/>\nMaintenant, un peu de JavaScript pour retrouver les valeurs.<\/p>\n<div class=\"code-embed-wrapper\"> <pre class=\"language-javascript code-embed-pre line-numbers\"  data-line=\"8\" data-start=\"1\" data-line-offset=\"0\"><code class=\"language-javascript code-embed-code\">let myinput = document.getElementById(&#039;input-1&#039;);<br\/><br\/>console.log( myinput.value ); \/\/ returns &quot;Another Value&quot;<br\/><br\/>myinput.value = &#039;JS Value&#039;;<br\/><br\/>console.log( myinput.value ); \/\/ returns &quot;JS Value&quot;<br\/>console.log( myinput.defaultValue ); \/\/ returns &quot;Something&quot;<\/code><\/pre> <div class=\"code-embed-infos\"> <\/div> <\/div>\n<p>Vous pouvez renseigner une nouvelle valeur \u00e0 la main ou avec un script, cela ne change pas la valeur de\u00a0 <code>defaultValue<\/code>.<br \/>\nCela peut \u00eatre tr\u00e8s utile quand vient le moment d&rsquo;\u00e9diter du contenu dans un formulaire pr\u00e9rempli.<\/p>\n<p>Je vous ai pr\u00e9par\u00e9 un petit bac \u00e0 sable sur Codepen si vous souhaitez tester et jouer avec..<\/p>\n<p class='codepen'  data-height='500' data-theme-id='1' data-slug-hash='joxdeo' data-default-tab='result' data-animations='run' data-editable='' data-embed-version='2'>\nSee the Pen JavaScript defaultValue demo.<\/p>\n\n<h2>Et <code>defaultChecked<\/code> pour les checkbox et radio<\/h2>\n<p>La propri\u00e9t\u00e9 fonctionne exactement de la m\u00eame mani\u00e8re que <code>defaultValue<\/code>. Je vais vous laisser explorer davantage la mani\u00e8re dont vous pourriez l&rsquo;utiliser dans votre contexte de travail, je n&rsquo;ai jamais eu l&rsquo;occasion de l&rsquo;utiliser pour le moment.<\/p>\n<p>Amusez-vous bien et n&rsquo;h\u00e9sitez pas \u00e0 commenter !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Je continue d&rsquo;\u00e9crire cette s\u00e9rie d&rsquo;articles sur des petites parties sp\u00e9cifiques de CSS, HTML ou JavaScript. Une petite chose \u00e0 apprendre, facile \u00e0 dig\u00e9rer et \u00e0 utiliser dans votre travail quotidien. La derni\u00e8re fois, il s&rsquo;agissait de listes et d&rsquo;attributs sp\u00e9cifiques comme start, reversed et type pour les \u00e9l\u00e9ments ul et ol. Cette fois, plongeons [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":6773,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_bluesky_dont_syndicate":"","_bluesky_syndication_accounts":"","_bluesky_syndication_text":"","footnotes":""},"categories":[610],"tags":[432,490,789],"coauthors":[597],"class_list":["post-6775","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript","tag-formulaire","tag-input","tag-le-saviez-vous"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/6775","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/comments?post=6775"}],"version-history":[{"count":2,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/6775\/revisions"}],"predecessor-version":[{"id":6903,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/6775\/revisions\/6903"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/media\/6773"}],"wp:attachment":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/media?parent=6775"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/categories?post=6775"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/tags?post=6775"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/coauthors?post=6775"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}