Использование расширителя выноски валидатора с FCKEditor не устанавливает «левый» стиль - PullRequest
1 голос
/ 22 февраля 2012

Как сказано в заголовке, я делаю пользовательскую проверку с помощью FCK (потому что RequiredFieldValidator не работает с FCKEditor).При сбое проверки появляется выноска, но она не отображается в правильном положении.

Сгенерированный тег style: visibility: visible; position: absolute; left: 0px; top: 646px; z-index: 1000;

Не то, что left приходит как 0px,(top тоже не совсем подходит, но пока достаточно близко)

Вот моя разметка:

<FCKeditorV2:FCKeditor ID="FCKeditorBody" runat="server" Width="600" Height="150" ToolbarSet="Basic"></FCKeditorV2:FCKeditor>
<asp:CustomValidator runat="server" ID="cvBody" ControlToValidate="FCKeditorBody" SetFocusOnError="true" 
    ErrorMessage="Please enter a body." ClientValidationFunction="ValidateBody" ValidateEmptyText="true" 
    ValidationGroup="ValgrpPost" Display="None" />
<asp:ValidatorCalloutExtender runat="Server" ID="ValidatorCalloutExtender7" BehaviorID="vceBID" TargetControlID="cvBody"
        HighlightCssClass="ValidatorCalloutHighlightCSS" CssClass="RecipeCalloutCSS" PopupPosition="TopLeft" />

<script type="Text/javascript">
    function ValidateBody(source, args) {
        var fckBody = FCKeditorAPI.GetInstance('<%=FCKeditorBody.ClientID %>');
        args.IsValid = fckBody.GetXHTML(true) != "";
    }
</script>

1 Ответ

2 голосов
/ 29 февраля 2012

Убедитесь, что вы поместили элемент с позицией: относительно FCKeditor и валидатора, тогда он будет отображаться в верхнем левом углу FCKeditor.

<div style="position:relative">
    <FCKeditorV2:FCKeditor ... />
    <asp:CustomValidator ... />
    <asp:ValidatorCalloutExtender ... />

    <script type="text/javascript">
        function ValidateBody(source, args) {
            var fckBody = FCKeditorAPI.GetInstance('<%=FCKeditorBody.ClientID %>');
            args.IsValid = fckBody.GetXHTML(true) != "";
        }
    </script>
</div>

Сообщение теперь будет закрывать панель инструментов и блокировать кнопки до тех пор, пока вы не нажмете "x".Цвет фона должен быть добавлен к сообщению, чтобы сделать его лучше видимым.

Если вы хотите показать его внутри текстовой области редактора, возможно, лучше подойдет PopupPosition="BottomRight".Или вы можете отменить сгенерированный CSS с! Важное правило.

 .RecipeCalloutCSS{ left:0!important; top:65px!important; }
...