2016-07-25 13 views
-1

私はasp texboxを持っていて、プレースホルダとjqueryオートコンプリート機能を持っています。どちらもクロムで正常に動作していますが、IE8のプレースホルダは動作しません。それを動作させるために、jqueryにプレースホルダーのウォーターマークを配置しますが、ウォーターマークが表示されていますが、オートコンプリートは機能しません。すべての問題はIE8にあります:asp textboxプレースホルダとオートコンプリートはIE8で連携しません

<asp:TextBox ID="txtLocation" runat="server" CssClass="frmhometxtLocation" placeholder="Locations" 
          onblur="Javascript:FormatLocation();"></asp:TextBox> 


     $("#txtLocation") 
     // don't navigate away from the field on tab when selecting an item 
      .bind("keydown", function (event) { 
       if (event.keyCode === $.ui.keyCode.TAB && 
       $(this).autocomplete("instance").menu.active) { 
        event.preventDefault(); 
       } 
      }) 

      .autocomplete({ 
       delay: 0, 
       minLength: 1, 
       source: function (request, response) { 
        // delegate back to autocomplete, but extract the last term 
        response($.ui.autocomplete.filter(
       locations, extractLast(request.term))); 
       }, 
       focus: function() { 
        // prevent value inserted on focus 
        return false; 
       }, 
       select: function (event, ui) { 
        var terms = split(this.value); 
        // remove the current input 
        terms.pop(); 
        // add the selected item 
        terms.push(ui.item.value); 
        // add placeholder to get the comma-and-space at the end 
        terms.push(""); 
        this.value = terms.join(", "); 
        return false; 
       } 
      }); 
    }); 
+0

エラーが発生したことを説明してください。 JavaScriptコードは他のブラウザではうまく動作せず、若干の変更が必要です。 IE8で動作する正しいライブラリが含まれていますか? – Aristos

+0

ウォーターマークを使用しているときに発生するエラーは、Microsoft JScriptランタイムエラーです。オブジェクトはこのプロパティまたはメソッドをサポートしていません – Anurag

答えて

0

私はここで間違いをしており、Watermark.min.jsは含まれていません。ウォーターマークにはツールチップを使用してください。今それは完璧に働いています。正しいコードは次のとおりです。

<script src="Scripts/jquery-1.10.2.js" type="text/javascript"></script> 
<script src="Scripts/jquery-ui1.11.4.js" type="text/javascript"></script> 
<script src="Scripts/Watermark.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(function() { 
     var locations = ["Anywhere", "Gurgaon", "Delhi", "Noida","Chennai"]; 
     function split(val) { 
      return val.split(/,\s*/); 
     } 
     function extractLast(term) { 
      return split(term).pop(); 
     } 

     $("#txtLocation") 
     // don't navigate away from the field on tab when selecting an item 
     .WaterMark(
     { 

     }) 
      .bind("keydown", function (event) { 
       if (event.keyCode === $.ui.keyCode.TAB && 
       $(this).autocomplete("instance").menu.active) { 
        event.preventDefault(); 
       } 
      }) 

      .autocomplete({ 
       delay: 0, 
       minLength: 1, 
       source: function (request, response) { 
        // delegate back to autocomplete, but extract the last 
        response($.ui.autocomplete.filter(
       locations, extractLast(request.term))); 
       }, 
       focus: function() { 
        // prevent value inserted on focus 
        return false; 
       }, 
       select: function (event, ui) { 
        var terms = split(this.value); 
        // remove the current input 
        terms.pop(); 
        // add the selected item 
        terms.push(ui.item.value); 
        // add placeholder to get the comma-and-space at the end 
        terms.push(""); 
        this.value = terms.join(", "); 
        return false; 
       } 
      }); 
    }); 
}); 
</script> 
<asp:TextBox ID="txtLocation" runat="server" CssClass="frmhometxtLocation" placeholder="Locations" ToolTip="Locations" 
          onblur="Javascript:FormatLocation();"></asp:TextBox> 
関連する問題