代码之家  ›  专栏  ›  技术社区  ›  Gregoire

ASP.NET MVC中带Ajax表单的TinyMCE

  •  3
  • Gregoire  · 技术社区  · 16 年前

    我已经在我的MVC网站上使用TinyMCE设置了一个表单。为此,我在局部视图中有一个ajaxForm,如下所示:

            <% using (Ajax.BeginForm(
                       (Model.ViewMode == ViewMode.Insert) ? "Create" : "Edit",
                       new AjaxOptions()
                       {
                           UpdateTargetId = CustomerViewModel.WindowContentContainerId,
                           OnFailure = "addValidation"
                           //OnSuccess = "refresh"
                       }))
                   {%>
    
        bla bla
    
         <p>
                    <label for="CustomerBaneer">
                        Baner:</label>
                    <%= Html.TextArea(CustomerViewModel.FieldPrefix + "CustomerBaneer", Model.CustomerToEdit.CustomerBaneer)%>
                    <%= Html.ValidationMessage(CustomerViewModel.FieldPrefix + "CustomerBaneer", "*")%>
         </p>
    <input type="submit" value="Save" class="save" />
        <%}%>
    
        <script type="text/javascript">
         tinyMCE.init({
                    mode : "textareas"
                    });
                }
        </script>
    

    2 回复  |  直到 16 年前
        1
  •  4
  •   Orion    15 年前

    function tinyToText() {
    
                    ed = tinyMCE.getInstanceById('yourId');
    
                    if (ed) {
                        $("#yourId").val(ed.getContent());
                    }
                }
    
    <input type="submit" value="Send" onclick="tinyToText();" />
    
        2
  •  2
  •   Ben Robbins    16 年前

    看起来您需要将OnBegin处理程序添加到要调用的AjaxOptions中 tinyMCE.triggerSave() 在你的表格提交之前。我对jQuery比较熟悉,因此您可能需要修改Ajax.BeginForm调用的语法。

    new AjaxOptions()
    {
        UpdateTargetId = CustomerViewModel.WindowContentContainerId,
        OnFailure = "addValidation",
        OnBegin = "preSubmit"
        //OnSuccess = "refresh"
    }
    
    <script="text/javascript">
      function preSubmit() {
        tinyMCE.triggerSave();
      }
    </script>