2013-05-16 2 views
3

Я показываю простой <input type="text" /> в ModalPopupExtender, который показан в верхней части ColorBox. Он показывает отлично, но пользователь не может писать в нем. Кто-нибудь может сказать, что случилось?Поля ввода не работают

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %> 
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"> 
<script src="Scripts/jquery.colorbox-min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#testbutton').click(function() { 
      $.colorbox({ inline: true, width: "50%", open: true, href: "#messageform", 
       onClosed: function() { 
        $('#messageform').hide(); 
       }, 
       onOpen: function() { 
        $('#messageform').show(); 
       } 
      }); 
     }); 
    }); 
</script> 
</asp:Content> 


<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
    <asp:ScriptManager ID="ScriptManager1" runat="server"> 
    </asp:ScriptManager> 

    <input id="testbutton" type="button" value="click" /> 

    <div id="messageform" style="display: none;"> 
     <asp:Button ID="open" runat="server" /> 
    </div> 

    <ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender" runat="server" BackgroundCssClass="modalBackground" 
     DropShadow="true" PopupControlID="Panel1" TargetControlID="open"> 
    </ajaxToolkit:ModalPopupExtender> 

    <div id="Panel1"> 
     <input type="text" name="foo" value="" /> <--- **This shows, but can't enter text** 
    </div> 
</asp:Content> 
+0

Можете ли вы щелкнуть по текстовому полю, или если вы проверите элемент, он перейдет в текстовое поле или что-то перекрывает его? – Pete

+0

Он показывает правый курсор, но при нажатии «мигающий курсор» не отображается. Я проверил элемент, не похоже на что-то перед ним. Код можно протестировать, просто загрузив новейшую версию Colorbox. – perene

+0

В последней разметке входной тег имеет атрибут readonly?

ответ

2

Я написал автору ColorBox, и он отслеживал проблему вниз на следующие строки:

if (document.addEventListener) { 
    document.addEventListener('focus', //trapFocus, true); 
       $events.one(event_closed, function(){ 
       document.removeEventListener('focus', trapFocus, true); 
       ;} 

Я outcommented те, и теперь он, кажется, работает (не знаю о более старых версиях IE и другие проблемы, хотя).

+1

, используя более новую версию colorbox, можно использовать параметр trapFocus: false, который отключает тот же раздел кода. Обычно это лучшее решение, чем создание пользовательской версии js. – fuz

+0

Спасибо за ответ, посмотрим :-) – perene

+0

trapFocus: false делает трюк –

1

имя атрибут не предусмотрен. и, возможно, вы могли бы попытаться дать ему пустое значение

<input type="text" name="foo" value="" /> 

, что делает OnClosed и OnOpen делать? Как выглядит ваш css? или является всплывающим слоем (или надписью) над входом? проверьте z-index.

+0

Я добавил имя и значение, но не редактируется. Для этого примера нет css, просто написал его, чтобы было легко проверить. z-индекс в порядке. Если я меняю вход с выпадающим списком , он работает в Chrome, но не в IE и Firefox, если это поможет найти проблему ..? – perene

Смежные вопросы