JavaScript Code works inline, but src= reference doesn't -


i have javascript function has been driving me nuts. latest variation on problem. if put code in line after end of form (i.e. after tag, code works fine; if put script reference code, loads doesn't execute.

this works:

<script type="text/javascript">     var matchfieldname = 'dotmatch';     var resultfieldname = 'dotnumber';     var lookupurl = "/autosuggestjstest/autosuggest.asmx/dotfind";     var labelfieldname = "jobtitle";     var valuefieldname = "dotnumber";     $('#' + matchfieldname).autocomplete({         source: function(request, response) {             $.ajax({                 type: "post",                 url: lookupurl,                 contenttype: 'application/json',                 datatype: "json",                 data: json.stringify({ prefixtext: request.term, count: 20 }),                 success: function(data) {                     var output = jquery.parsejson(data.d);                     //                        var output = eval(data.d);                     response($.map(output, function(item) {                         var lbl = "item." + labelfieldname + " (item." + valuefieldname + ")";                         var val = "item." + valuefieldname;                         return {                             //                                label: lbl,                             //                                value: val                             //                                label: eval('item.' + lablefieldname + '(item.' + valuefieldname + ')'),                             //                                value: eval('item.' + valuefieldname)                             label: item.jobtitle + "( " + item.dotnumber + ")",                             value: item.dotnumber                         }                     }));                 },                 error: function(xmlhttprequest, textstatus, errorthrown) {                     alert(textstatus);                 }             });         },         minlength: 2,         select: function(event, ui) {             $('#' + resultfieldname).val(ui.item.value);             return ui.item.label;         }     }); </script>  </div> 

but doesn't:

</form>     <div>  <script type="text/javascript" src="js/dotautocomplete.js" />      </div> </body> 

the contents of .js file lines work.

argh!!!

self-closing <script> tags aren't valid, this:

<script type="text/javascript" src="js/dotautocomplete.js" /> 

should be:

<script type="text/javascript" src="js/dotautocomplete.js"></script> 

also note since you're using selector $('#' + matchfieldname), file should either included after element present, or wrap code in document.ready handler, example:

$(function() {   //your code... }); 

Comments

Popular posts from this blog

Add email recipient to all new Trac tickets -

400 Bad Request on Apache/PHP AddHandler wrapper -

php - Change action and image src url's with jQuery -