add an input in a div with javascript -
i have in html page div shown lightbox:
<div id="container"> <input type="text" id="user_1" name="user_1" value="user_1"/><br> <input type="text" id="user_2" name="user_2" value="user_2"/><br> <input type="text" id="user_3" name="user_3" value="user_3"/><br> <label onclick="add_input();"><img alt="add_other" src="add.png"></label> </div>
and want when click on image input added , appeared, tried following js function :
function add_input(){ var div = document.getelementbyid('container'); var input = '<input style="width:300px;" type="text" id="user" name="user" value=""/>' div.innerhtml+= input; }
the div id="container"
has in css height : auto
, after clicking on add image input appear outside lightbox. there other way ?
you're putting input inside container, sounds css issue. perhaps ancestor element limiting height.
wrt function, don't use .innerhtml += "<input...>"
this destructive, , can bad input elements.
instead create dom elements using creation methods:
function add_input(){ var input = document.createelement("input") input.style="width:300px;" input.id = input.name = "user"; document.getelementbyid('container').appendchild(input); }
or if you're absolutely set on using html markup, @ least insert in way doesn't destroy , rebuild existing content.
you can .insertadjacenthtml()
function add_input(){ var div = document.getelementbyid('container'); var input = '<input style="width:300px;" type="text" id="user" name="user" value=""/>' div.insertadjacenthtml("beforeend", input); }
you'll need shim old firefox.
Comments
Post a Comment