Jeremy Karlsson
Jeremy Karlsson

Reputation: 1089

Java script add element without reload

I have this div in which I add more divs with javascript.

However, everytime I add a new div the to div with javascript, it refreshes so for example a youtube video in one of those divs will stop playing.

Can I put these divs into the div without reloading it?

My current code for putting in thing is

m += "new thing <a> and other stuff </a>"

I NEED it to put the new thing I want without reload. I currently put them in using href="javascript: addMessage('current time', 'user', 'message')"

The addMessage code:

function addMessage(time, user, msg) {
if (msg == "") {
    return false;
}
var m = document.getElementById('message-panel');
m.innerHTML += "<div class='sentMessage'><span class='time'>" + time + "</span><span class='name'><a>" + user + "</a></span><span class='message'>" + msg + "</span></div>";
pageScroll();
if (user != "SERVER") {
    if (user != "ERROR") {
        playAudio('new-message-sound');
    }
}
return false;

}

My only solution to putting new messages in if with href="javascript:addMessage()". I CAN NOT DO ONCLICK="" because I'm using java to controll the javascript!

My javacode for putting in the messages:

public void addMessage(String user, String msg) {
    try {
        getAppletContext().showDocument(new URL("javascript:addMessage(\"" + Time.now("HH:mm") + "\", \"" + user + "\", \"" + msg + "\")"));
    }
    catch (MalformedURLException me) {}
}

Thanks in advance, enji

Upvotes: 0

Views: 1009

Answers (1)

Niet the Dark Absol
Niet the Dark Absol

Reputation: 324760

Create the element with document.createElement('tag name here');, then insert it with m.appendChild(newelement);. This leaves any elements before it unaffected.

Upvotes: 2

Related Questions