When I implement this code - the name of the checkbox wont show up in the browser alongside the checkbox - just the checkbox itself. whats the reason for this? Am I using the setattribute-function incorrectly?
<script type="text/javascript">
var x = document.createElement("INPUT");
x.setAttribute("type", "checkbox");
x.setAttribute("value", "car");
x.setAttribute("name", "vehicle");
document.body.appendChild(x);
</script>
When I implement this code - the name of the checkbox wont show up in the browser alongside the checkbox - just the checkbox itself. whats the reason for this? Am I using the setattribute-function incorrectly?
<script type="text/javascript">
var x = document.createElement("INPUT");
x.setAttribute("type", "checkbox");
x.setAttribute("value", "car");
x.setAttribute("name", "vehicle");
document.body.appendChild(x);
</script>
Share
Improve this question
asked May 15, 2016 at 20:09
javajava
1,1652 gold badges29 silver badges52 bronze badges
2
-
1
The code works fine: jsfiddle/ag663kw8
name
will not add the textvehicle
next to your<input />
; that's what<label>
is for. – BenM Commented May 15, 2016 at 20:13 - Do you try to add a label? – Ygalbel Commented May 15, 2016 at 20:15
2 Answers
Reset to default 5You need to add a label
element:
var x = document.createElement("INPUT");
x.setAttribute("type", "checkbox");
x.setAttribute("value", "car");
x.setAttribute("name", "vehicle");
document.body.appendChild(x);
var label = document.createElement("label");
label.textContent = "vehicle";
document.body.appendChild(label);
You should create a label for the check box as you created checkbox dynamically and append it to body
//create checkbox
var x = document.createElement("INPUT");
x.setAttribute("type", "checkbox");
x.setAttribute("value", "car");
x.setAttribute("name", "vehicle");
//create label
var y = document.createElement("label");
y.innerHTML = "Here goes the text";
//Append Them to body
document.body.appendChild(x);
document.body.appendChild(y);