2016-06-29 3 views
2

У меня есть это:Wysihtml5 редактор - Предельное количество символов

<div class="row"> 
    <div class="col-md-11"> 
     <label for="" class="control-label">Description<span>*</span></label> 
     @Html.TextAreaFor(m => m.Description, new { @class = "editor", @maxlength = "500" })<br /> 
     @Html.ValidationMessageFor(model => model.Description) 
    </div> 
</div> 

и JS для редактора wysihtml5 (используя Razor двигатель):

<script type="text/javascript"> 
    $('.editor').wysihtml5({ 
     stylesheets: "/Content/css/wysiwyg-color.css", 
     charset: "utf-8" 
    }) 
</script> 

Поэтому в основном то, что я пытаюсь чтобы ограничить количество символов (500 символов) в этом поле. Как вы можете видеть, я установил атрибут maxlength в @Html.TextAreaFor, но он не сработал.

Может кто-нибудь, пожалуйста, покажите мне, как это сделать? Заранее спасибо.

ответ

0

Используйте идентификатор для вашего текстового поля, введите класс.
Wysihtml5 использует этот идентификатор для создания iframe.

Идентификатор, используемый для iframe, равен "[your textarea id]-sandbox".
Поскольку этот элемент динамически создан, я обновил код ниже (Это отредактированный ответ).

$(document).ready(function{ 
    var PreventSubmitFlag=false; 

    $('#editor').sibling("#editor-sandbox").find("body").on("keyup", function(e){ 
     var content = $(this).html(); 
     if(content.length>500){ 
      alert ("500 characters is the limit!"); 
      PreventSubmitFlag=true; 
     }else{ 
      PreventSubmitFlag=false; 
     } 
    }); 
}); 

Используйте PreventSubmitFlag отключить кнопку отправки. ;)

+0

К сожалению, это не сработало: \ – mattburnsred

+0

Я отредактировал свой ответ. –

+0

Он, похоже, не работает, всплывающее окно предупреждения даже не появляется. Я попытался изменить «редактор-песочницу» на 'wysihtml5-sandbox' и' editor.wysihtml5-sandbox', но ничего не произошло. Я не могу понять, почему ... – mattburnsred

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

  • Нет связанных вопросов^_^