Javascript 保存后显示文本区域

Javascript 保存后显示文本区域,javascript,c#,jquery,asp.net-mvc,razorengine,Javascript,C#,Jquery,Asp.net Mvc,Razorengine,我在用tinymce。我可以选择用单选按钮显示tinymce(是或否)。但是这个功能只在一次改变时起作用。但在保存状态(是或否)后,单选按钮的状态被保存。但是当用户第一次访问页面时,微型mce不再可见(在用户选择Yes之后) 这是tinymce的视图: <div class="form-group"> @Html.Label(Resources.Entity.Product.GeneratePDF, new { @class = "text-bold control-

我在用tinymce。我可以选择用单选按钮显示tinymce(是或否)。但是这个功能只在一次改变时起作用。但在保存状态(是或否)后,单选按钮的状态被保存。但是当用户第一次访问页面时,微型mce不再可见(在用户选择Yes之后)

这是tinymce的视图:

<div class="form-group">
        @Html.Label(Resources.Entity.Product.GeneratePDF, new { @class = "text-bold control-label col-md-2" })
        <div class="col-lg-6 col-md-8 col-sm-10 ">
            @Html.Label(Resources.Entity.Product.GeneratePDFYes) @Html.RadioButtonFor(model => mailModel.IscheckedPDF,true, new {@class = "MAIL_PRODUCT_HANDLERS_AttachPdf" })
            @Html.Label(Resources.Entity.Product.GeneratePDFNo)  @Html.RadioButtonFor(model => mailModel.IscheckedPDF,false, new {@class = "MAIL_PRODUCT_HANDLERS_AttachPdf" })
        </div>
    </div>



    <div class="form-group" id="MAIL_PRODUCT_HANDLERS_pdfeditor">
        <div id="hideLableProduct">
            @Html.Label(Resources.Entity.Product.PdfMessage, new { @id = "hideLable", @class = "text-bold control-label col-md-2" })
        </div>
        <div class="col-lg-6 col-md-8 col-sm-10 ">
            @Html.EditorFor(model => mailModel.PdfMessage, new { htmlAttributes = new { @class = "form-control tiny-mce", @id = "GeneratePDFMailProductHandler", data_lang = System.Globalization.CultureInfo.CurrentUICulture.Name } })
            @Html.ValidationMessageFor(model => mailModel.PdfMessage)
        </div>
        <div class="col-lg-6 col-md-8 col-sm-10 ">
        </div>
        <div class="col-sm-offset-2 col-lg-6 col-md-8 col-sm-8">
            <div id="hideButtonProduct">
                <br /><br />  <a href="" class="btn btn-success" id="btnGeneratePDF" name="btnGeneratePDF" formtarget="_blank" onclick="generatePdfPreview('GeneratePDFMailProductHandler'); return false;"> &nbsp;&nbsp;&nbsp;<i class="fa fa-fw fa-check"> </i> @Resources.Action.Navigation.PreviewPDF</a>
            </div>
        </div>
    </div>
多谢各位

如果我这样做:

 $(function () {
        if ($(".MAIL_PRODUCT_HANDLERS_AttachPdf").val() == "True") {
            $('#MAIL_PRODUCT_HANDLERS_pdfeditor').show();
        }
        else {
            $('#MAIL_PRODUCT_HANDLERS_pdfeditor').hide();
        }
    });  




    $(".MAIL_PRODUCT_HANDLERS_AttachPdf").change(function () {
        if ($(this).val() == "True") {
            $('#MAIL_PRODUCT_HANDLERS_pdfeditor').show();
        }
        else {
            $('#MAIL_PRODUCT_HANDLERS_pdfeditor').hide();
        }
    });

编辑器始终可见。即使选择“否”并保存状态并返回表单。tinymce是可见的,单选按钮被选择为no

如果我理解正确,您应该在文档准备功能中添加如下内容:-

$(function(){
    showHideTinyMce()

    $(".MAIL_PRODUCT_HANDLERS_AttachPdf").change(function () {
      if ($(this).val() == "True") {
        $('#MAIL_PRODUCT_HANDLERS_pdfeditor').show();
      }
      else {
        $('#MAIL_PRODUCT_HANDLERS_pdfeditor').hide();
     }
    });
 });

 function showHideTinyMce(){
        $('#MAIL_PRODUCT_HANDLERS_pdfeditor').hide();
        if ($(".MAIL_PRODUCT_HANDLERS_AttachPdf").val() == "True") {
              $('#MAIL_PRODUCT_HANDLERS_pdfeditor').show();
        }              
  }

如果我理解正确,您应该在document ready函数中添加以下内容:-

$(function(){
    showHideTinyMce()

    $(".MAIL_PRODUCT_HANDLERS_AttachPdf").change(function () {
      if ($(this).val() == "True") {
        $('#MAIL_PRODUCT_HANDLERS_pdfeditor').show();
      }
      else {
        $('#MAIL_PRODUCT_HANDLERS_pdfeditor').hide();
     }
    });
 });

 function showHideTinyMce(){
        $('#MAIL_PRODUCT_HANDLERS_pdfeditor').hide();
        if ($(".MAIL_PRODUCT_HANDLERS_AttachPdf").val() == "True") {
              $('#MAIL_PRODUCT_HANDLERS_pdfeditor').show();
        }              
  }

只需将代码放在文档中即可

公共安全局


只需将代码放在文档中即可

公共安全局


好的,我找到了解决办法。因为这是一个局部视图,我认为我不允许在其中放置任何脚本。但解决方案是将脚本放在局部视图中,如下所示:

@if (!Model.IsCheckedPDFMailForm) {
    <script>
        $(document).ready(function () {
            $('#MAIL_FORM_SUBMITTER_pdfeditor').hide();
        });
    </script>
}
 $(".MAIL_PRODUCT_HANDLERS_AttachPdf").change(function () {
        if ($(this).val() == "True") {
            $('#MAIL_PRODUCT_HANDLERS_pdfeditor').show();
        }
        else {
            $('#MAIL_PRODUCT_HANDLERS_pdfeditor').hide();
        }
    });

好的,我找到了解决办法。因为这是一个局部视图,我认为我不允许在其中放置任何脚本。但解决方案是将脚本放在局部视图中,如下所示:

@if (!Model.IsCheckedPDFMailForm) {
    <script>
        $(document).ready(function () {
            $('#MAIL_FORM_SUBMITTER_pdfeditor').hide();
        });
    </script>
}
 $(".MAIL_PRODUCT_HANDLERS_AttachPdf").change(function () {
        if ($(this).val() == "True") {
            $('#MAIL_PRODUCT_HANDLERS_pdfeditor').show();
        }
        else {
            $('#MAIL_PRODUCT_HANDLERS_pdfeditor').hide();
        }
    });


把呈现的html放在这里。把呈现的html放在这里。谢谢你的评论。但现在的问题是,这种改变已经不起作用了。如果将单选按钮从是更改为否或从否更改为是。tinymce不会隐藏-如果选择“否”,则选择“否”并保存表单。然后,如果你回到表单,单选按钮没有选择,但是微型mce是可见的。谢谢。但是现在单选按钮不起作用了。您不能从“是”切换到“否”。没有发生任何问题。现在的问题是,如果您选择单选按钮的任何选项,则结果总是false,这意味着单选按钮更改方法正在触发,并且始终显示false?谢谢。我找到了解决办法。见我的帖子谢谢你的评论。但现在的问题是,这种改变已经不起作用了。如果将单选按钮从是更改为否或从否更改为是。tinymce不会隐藏-如果选择“否”,则选择“否”并保存表单。然后,如果你回到表单,单选按钮没有选择,但是微型mce是可见的。谢谢。但是现在单选按钮不起作用了。您不能从“是”切换到“否”。没有发生任何问题。现在的问题是,如果您选择单选按钮的任何选项,则结果总是false,这意味着单选按钮更改方法正在触发,并且始终显示false?谢谢。我找到了解决办法。见我的帖子谢谢。但是,如果您现在选择“是”,则如果您在保存格式后返回,则tinymce不可见。如果您在绑定期间硬编码单选按钮值,请更改为this
@Html.radiobutton(model=>mailModel.IscheckedPDF,mailModel.IscheckedPDF,new{@class=“MAIL\u PRODUCT\u HANDLERS\u AttachPdf”}
,但对于这两个复选框?是和否?我找到了解决办法。谢谢。但是,如果您现在选择“是”,则如果您在保存格式后返回,则tinymce不可见。如果您在绑定期间硬编码单选按钮值,请更改为this
@Html.radiobutton(model=>mailModel.IscheckedPDF,mailModel.IscheckedPDF,new{@class=“MAIL\u PRODUCT\u HANDLERS\u AttachPdf”}
,但对于这两个复选框?是和否?我找到了解决方案。在视图中编写业务逻辑被认为是一种不好的做法。在视图中编写业务逻辑被认为是一种不好的做法。