jquery - Javascript class "Object #<HTMLInputElement> has no method 'addTag'" -


i've worked javascript long enough time, , first time i've ever been stumped wrong.

object #<htmlinputelement> has no method 'addtag' 

so, here javascript file.

function actions(){     var main = this;      this.addtag = function(){         var stag = $('#stag').val();         if(stag!=''){             var = $('#tag-list li').length+1;             var html = '<li id="tag_'+i+'">';                 html+= '    <input type="hidden" name="stags" value="'+stag+'" />'+stag;                 html+= '    <a href="#" class="small button delete" title="remove tag" onclick="act.removetag('+i+');return false;"></a>';                 html+= '</li>';             $('#tag-list ul').append(html);             $('#tag-list').show();         }     }     this.removetag = function(i){         $('#tag_'+i).remove();         if($('#tag-list li').length==0){             $('#tag-list').hide();         }     } } 

relatively basic. javascript file included in page so

<script type="text/javascript" src="scripts.js"></script> <script type="text/javascript">     var act = new actions(); </script> 

then further down page in form, there basic system add tag list

<input type="text" id="stag" name="stag" size="30" class="text left" style="margin:5px 4px 0 0;" value="" /> <a href="#" class="short medium button" onclick="act.addtag();return false;"><span class="tick"></span>add</a> 

this meant add new tag list, list saved when form submitted.

i've shown relevant parts due overall size of page.

i've used setup, although different functions, dozens or hundreds of times before without trouble. don't think it's caching issue issue exists on different devices , browsers have never accessed page before.

any appreciated!

it working here

function actions(){      this.addtag = function(){         alert('add');        var stag = $('#stag').val();         if(stag!=''){             var = $('#tag-list li').length+1;             var html = '<li id="tag_'+i+'">';                 html+= '    <input type="hidden" name="stags" value="'+stag+'" />'+stag;                 html+= '    <a href="#" class="small button delete" title="remove tag" onclick="act.removetag('+i+');return false;"></a>';                 html+= '</li>';             $('#tag-list ul').append(html);             $('#tag-list').show();         }      }     this.removetag = function(i){        $('#tag_'+i).remove();         if($('#tag-list li').length==0){             $('#tag-list').hide();         }       } }     act = new actions(); 

check jsfiddle. http://jsfiddle.net/uf9y6/2/

can tell me browser using test?


Comments

Popular posts from this blog

.htaccess - First slash is removed after domain when entering a webpage in the browser -

Automatically create pages in phpfox -

c# - Farseer ContactListener is not working -