Как мне остановить браузер от добавления autocomplete=off в текстовое поле asp

У меня есть автозавершение ajax с настраиваемыми веб-сервисами, заполняющими список в текстовом поле на странице.aspx. IE работает нормально, но при использовании Chrome или Firefox к этому текстовому полю добавляется атрибут autocomplete = off, который в точности противоположен тому, что мне нужно. Я попытался изменить z-index в классе css, добавить autocomplete=on inline в текстовое поле, удалить атрибут автозаполнения для фокуса с помощью JavaScript, удалить атрибут автозаполнения при загрузке страницы и установить атрибут автозаполнения верхнего элемента. Уровень Мастер страницы, чтобы вкл. На странице есть jquery для поддержки функции перетаскивания, но я не смог найти, вызывает ли это добавление атрибута. У меня нет идей, и я мог бы использовать некоторые рекомендации.

РЕДАКТИРОВАТЬ: забыл упомянуть, что, когда я помещаю текстовое поле и autocompleteextender на тестовую страницу в том же приложении, используя те же веб-сервисы, он работает нормально. Когда я проверяю элемент, он все еще имеет атрибут autocomplete = off, но, похоже, он не влияет на функциональность. Спасибо!

aspx page code:

    <ajax:AutoCompleteExtender ID="acDisciplines" runat="server"     TargetControlID="txtDisciplinesAuto" ServiceMethod="GetDisciplinesAuto" MinimumPrefixLength="1" CompletionInterval="100" EnableCaching="true" FirstRowSelected="true" CompletionListCssClass="autoCompleteExtenderList" CompletionSetCount="20" 
    >
    </ajax:AutoCompleteExtender>

    <asp:TextBox ID="txtDisciplinesAuto" runat="server" EnableViewState="false"></asp:TextBox>



   css:

    .autoCompleteExtenderList
    {
        z-index: 10009;
        border: 1px solid black;
        width: auto !important;
        padding-right: 10px;
        padding-left: 10px;
        background-color: White;
        max-height: 400px !important;
        position: absolute;
            x-overflow:hidden;
            y-overflow:scroll;

    }



 jquery/javascript just in case:

 <script type="text/javascript">
     $(init);

     function init() {
         $('[id$=divMoveHelp]').hide();
         $('[id$=divHelp]').hide();

         $('[id$=lnkHelp]').click(helpLinkClicked);

         $('.dragClass').draggable({
             containment: 'document',
             revert: 'invalid'
         });

         $('.dropHeader').droppable({
             activeClass: 'classMoveActive',
             hoverClass: 'classMoveHover',
             drop: handleDropEvent,
             activate: handleDragActive,
             deactivate: handleDragStop
         });
     }

     function helpLinkClicked() {
         if ($('[id$=divHelp]').css('display') == 'none') {
             $('[id$=divHelp]').show();
         }
         else {
             $('[id$=divHelp]').hide();
         }

     }

     function handleDragActive(event, ui) {
         $('[id$=divMoveHelp]').show();
     }

     function handleDragStop(event, ui) {
         $('[id$=divMoveHelp]').hide();
     }

     function handleDropEvent(event, ui) {
         var draggable = ui.draggable;
         var classText = getClassText(draggable);
         var termText = $(this).text().trim();
         var yearRowID = $(this).parents('[id$=tblYearGrid]').find('[id$=lblYearRowIDInner]').html().trim();
         var edPlanID = $(this).parents('[id$=tblYearGrid]').find('[id$=lblEdPlanIDInner]').html().trim();
         var classID = $(draggable).parent().children('.classID').text().trim();
         var titleText = $(draggable).children('a').attr('title').trim();
         var originTerm = $(draggable).children('a').attr('id');

         if (originTerm.indexOf('Fall') >= 0) {
             originTerm = 'Fall';
         }
         else if (originTerm.indexOf('Winter') >= 0) {
             originTerm = 'Winter';
         }
         else if (originTerm.indexOf('Spring') >= 0) {
             originTerm = 'Spring';
         }
         else if (originTerm.indexOf('Summer') >= 0) {
             originTerm = 'Summer';
         }

         $(draggable).hide();


         $('[id$=txtClass]').val(classText);
         $('[id$=txtTerm]').val(termText);
         $('[id$=txtYearRowID]').val(yearRowID);
         $('[id$=txtClassID]').val(classID);
         $('[id$=txtClassTitle]').val(titleText);
         $('[id$=txtOriginTerm]').val(originTerm);
         $('[id$=txtEdPlanID]').val(edPlanID);
         $('[id$=btnMoveClass]').click();
     }

     function getClassText(obj) {
         var val = $(obj).text().trim();
         return val;
     }

     //override the autocomplete for chrome and firefox
     var autocompleteTB;

     // After the document has loaded, manipulate DOM elements.
     window.addEventListener('load', function () {

         // Get the username field element.
         autocompleteTB = $get('<%= txtDisciplinesAuto.ClientID %>');

         // Listen to the 'focus' event on the input element.
         autocompleteTB.addEventListener('focus', function () {

             // Remove the autocomplete attribute when the textbox comes in focus
             autocompleteTB.setAttribute('autocomplete', 'on');

         }, false);

     }, false);
    </script>

0 ответов

Другие вопросы по тегам