2012-02-22 5 views
1

タイトルではFCKでカスタム検証を行っています(で動作しないためRequiredFieldValidator)。検証に失敗すると、コールアウトが表示されますが、正しい位置に表示されません。FCKEditorでバリデーターコールアウトエクステンダーを使用しても「左」スタイルは設定されません

生成styleタグ:visibility: visible; position: absolute; left: 0px; top: 646px; z-index: 1000;

はそのleft0pxとして来ているわけではありません。 (topはかなり右のどちらかではないですが、それは今のところ十分に近いです)

ここに私のマークアップです:その後、FCKeditorの周りに相対してバリ:

<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> 

答えて

2

は必ず位置に要素を入れてください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; } 
+0

結局のところ、私が必要だったのは '重要なルールでした。さて、私は今日のCSSについて何かを学びました!ありがとう!あなたの恩恵をお楽しみください! –

関連する問題