Q:

jquery .post event firing incrementally

I'm trying to make a comments-system on my site. I manage the ajax part and the comment is submitted from the form to the called php-file which then stores the data in mysql db. After storing the data is appended to the allready existing comments. 
The problem I have is that if you post another comment after a previous one fomr the same page, the next comment is added twice. Do it again and the next one is added three times and so on. I guess I got the jquery wrong somewhere but can't seem to find it.
Here's the form I'm using :
    <form class="short style" id="postnewscomment" name="postnewscomment" onsubmit="javascript:postnewscomments();">
    <textarea style="width:95%;" name="commenttext" required data-required="true" placeholder="Uw comment" /></textarea>
    <input type="hidden" name="task" value="addcomment" />
    <input type="hidden" name="postername" value="<? echo $_SESSION['user_id']; ?>" />
    <input type="hidden" name="newsid" value="<? echo $newsid; ?>" />
    <div class="button">
        <button value="postnews" name="Submit" type="submit">Add Comment</button>
    </div>
    </form>

Here's my jquery code that is called by the form :
function postnewscomments() {
    $("#postnewscomment").submit(function(e){    
        e.preventDefault();  
    var hasError = false;
        var url = "postnewscomments.php";
    var texttopost =    "#postnewscomment"; 
    if(hasError == false) {
        $.post(url, $(texttopost).serialize() ,function(data) {
            $(data).hide().appendTo("#newscomment").fadeIn(1000);
        // code to reset form values to empty
                $( '#postnewscomment' ).each(function(){
                this.reset();
        });
             });
    }
     return false;
     });
}

A:

Look at the submit() method:

Bind an event handler to the "submit" JavaScript event, or trigger
  that event on an element.

so It should be called only once (when the page loads) and not on every submit.
http://api.jquery.com/submit/

