PDA

View Full Version : Javascript innerHTML



Zaub
05-04-2009, 04:36 AM
I need some help with a script I'm using.

I have a working script at the moment where I have a file field and you click the link and it adds more file options.

But if I have already selected a file in the field and click Add More it removes the currently selected file.

Here is the code:


<div id="addmoreimages">
<input name="ufile[]" type="file" id="ufile[]" size="50" /><br>
</div>

<script type="text/javascript">
function add_more_images(){
document.getElementById('addmoreimages').innerHTML = document.getElementById('addmoreimages').innerHTML + '<input name="ufile[]" type="file" id="ufile[]" size="50" /><br>';
}
</script>

<a href="javascript:add_more_images()">Add more images</a>

+REP for any help.

Thanks,
Chris.

Agnostic Bear
05-04-2009, 05:14 AM
First result on google for "append innerhtml"


<div id="addmoreimages">
<input name="ufile[]" type="file" id="ufile[]" size="50" /><br>
</div>

<script type="text/javascript">
function add_more_images(){
var mydiv = document.getElementById('addmoreimages');
var div = document.createElement("div");
div.innerHTML = '<input name="ufile[]" type="file" id="ufile[]" size="50" /><br>';

while (div.firstChild) {
mydiv.appendChild(div.firstChild);
}
}
</script>

<a href="javascript:add_more_images()">Add more images</a>

Zaub
05-04-2009, 12:29 PM
First result on google for "append innerhtml"


<div id="addmoreimages">
<input name="ufile[]" type="file" id="ufile[]" size="50" /><br>
</div>

<script type="text/javascript">
function add_more_images(){
var mydiv = document.getElementById('addmoreimages');
var div = document.createElement("div");
div.innerHTML = '<input name="ufile[]" type="file" id="ufile[]" size="50" /><br>';

while (div.firstChild) {
mydiv.appendChild(div.firstChild);
}
}
</script>

<a href="javascript:add_more_images()">Add more images</a>

Cheers.

Dentafrice
05-04-2009, 01:27 PM
Just to let you know the reason why it was doing that.

You was "selecting" a file, and having it already selected, then adding a new field.

So what happened was it took that old field, completely erased it, and added it to the HTML with the new field.

Want to hide these adverts? Register an account for free!