TypeError: 'click' called on an object that does not implement interface HTMLElement

remove the " from the name of the properties

$.post (
    postdataURL, {
    formid:5,
    clientid:1,
    userid:1,
    level:mycat,
    extra:mytimer,
    pid:pid
    },
    function () {});

And add a

alert("Got called"); 

after

function postData() { 

to be sure the function is being called

Review your variable mycat, mytimer, pid is may be a jQuery Object. That mean you had asigned

mycat = $('#cate')

If that true, you just fix that

mycat = $('#cate').val()

Or some code get real value.

I ran in to this when doing a jQuery $.ajax() call like you did. Apparently (in my case) it was caused by referencing a variable that wasn't in scope and was undefined. For example, in your code:

    "level":mycat,
    "extra":mytimer,
    "pid":pid

If mycat, mytimer, or pid were null, and you're having the same problem, that would do it.

Draluca

In my case was the same problem like @user3740976. I put in url an undefined parameter.

$.ajax({
     type: requestType,
     url: url,       
     dataType: dataType,
     data: dataParams,
 ...

Where dataParams is

 {"title":{},"iSBN":"111","partNumber":"3332","bookCategory":"1"}

title being undefined.