2016-06-29 67 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> 

,爲wysihtml5編輯器(使用剃刀引擎)的JS:

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

所以基本上我想要要做的就是限制字符數(最大500字符)這個字段。如您所見,我已在@Html.TextAreaFor中設置maxlength屬性,但它不起作用。

有人可以告訴我如何做到這一點?提前致謝。

回答

0

爲你的textarea使用一個id,一個類的intead。
Wysihtml5使用此ID來創建iframe。

它用於iframe的id是"[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

它似乎沒有工作,警報彈出甚至不顯示。我試着將'editor-sandbox'改爲'wysihtml5-sandbox'和'editor.wysihtml5-sandbox',但沒有發生任何事情。我似乎無法弄清楚爲什麼... – mattburnsred