<!DOCTYPE html> <meta charset="utf-8"> <title>Cloning of input elements</title> <link rel="help" href="https://dom.spec.whatwg.org/#dom-node-clonenode"> <link rel="help" href="https://dom.spec.whatwg.org/#concept-node-clone"> <link rel="help" href="https://dom.spec.whatwg.org/#concept-node-clone-ext"> <link rel="help" href="https://html.spec.whatwg.org/multipage/forms.html#the-input-element:concept-node-clone-ext"> <link rel="author" title="Matthew Phillips" href="mailto:matthew@matthewphillips.info"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script> "use strict"; test(function() { var input = document.createElement("input"); input.value = "foo bar"; var copy = input.cloneNode(); assert_equals(copy.value, "foo bar"); }, "input element's value should be cloned"); test(function() { var input = document.createElement("input"); input.value = "foo bar"; var copy = input.cloneNode(); copy.setAttribute("value", "something else"); assert_equals(copy.value, "foo bar"); }, "input element's dirty value flag should be cloned, so setAttribute doesn't affect the cloned input's value"); test(function() { var input = document.createElement("input"); input.setAttribute("type", "radio"); input.checked = true; var copy = input.cloneNode(); assert_equals(copy.checked, true); }, "input element's checkedness should be cloned"); test(function() { var input = document.createElement("input"); input.setAttribute("type", "radio"); input.checked = false; var copy = input.cloneNode(); copy.setAttribute("checked", "checked"); assert_equals(copy.checked, false); }, "input element's dirty checkedness should be cloned, so setAttribute doesn't affect the cloned input's checkedness"); </script>