Reputation: 17
My code is working fine but the label is not in right position. On click first label is not in right position but others are in right position.
Where am I doing wrong?
<input type="button" id="more_fields" onclick="add_fields();" value="Add More" />
<form>
<div class="form-group">
<label class="col-lg-3 control-label">Field:1</label>
<div class="col-lg-5">
<input type="text" class="form-control" name="field1" />
</div>
</div>
<script type="text/javascript">
var info = 1;
function add_fields() {
info++;
var objTo = document.getElementsByClassName('form-group')[0]
var divtest = document.createElement("div");
divtest.innerHTML = '<div class="form-group"><label class="col-lg-3
control-label">Field'+info+'</label><div class="col-lg-5"> <input
type="text" class="form-control" name="field1" /></div></div>';
objTo.appendChild(divtest)
}
</script>
<div class="form-group">
<div class="col-lg-9 col-lg-offset-3">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
</form>
Upvotes: 0
Views: 2719
Reputation: 117
The problem is with your bootsrap column.
<form>
<div class="form-group ">
<label class="col-lg-3 control-label">Field:1</label>
<div class="col-lg-9">
<input type="text" class="form-control" name="field1" />
</div>
</div>
<div class="form-group">
<div class="col-lg-9 col-lg-offset-3">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
<script type="text/javascript">
var info = 1;
function add_fields() {
info++;
var objTo = document.getElementsByClassName('form-group')[0]
console.log(objTo);
var divtest = document.createElement("div");
divtest.innerHTML = '<div class="form-group"><label class="col-lg-3 control-label">Field'+info+'</label><div class="col-lg-9"> <input type="text" class="form-control" name="field1" /></div></div>';
objTo.appendChild(divtest)
}
you can take it as a reference. Hope it helps.
Upvotes: 0
Reputation: 7253
The row is being appended to the wrong place. Try:
<div id="additionalFields"></div>
where you want the new fields to be, and then changing
var objTo = document.getElementsByClassName('form-group')[0]
to
var objTo = document.getElementById('additionalFields');
This should correct the alignment.
Upvotes: 1