我想将textarea字符长度限制为150个字符,我的system.xml代码如下:
...
<orderPlaceMessage translate="label">
<label>Message for order place: </label>
<frontend_type>textarea</frontend_type>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
{how to limit character length }
</orderPlaceMessage>
...
答案 0 :(得分:1)
请在下面找到两种解决方案。
解决方案1: -
将以下内容添加到<orderPlaceMessage>
元素:
<validate>validate-length maximum-length-150</validate>
这将添加prototype.js使用的这些验证CSS类。如果 输入更长的值,您将看到此通用验证 消息:
因此,添加评论也是一个好主意,让用户知道 这个范围是:
<comment>Maximum length: 150 characters</comment>
如果限制对数据完整性很重要,您还应该添加 服务器端验证,使用后端模型。数码钢琴已经 链接了一个教程: http://alanstorm.com/magento_system_config_validation
如果您想了解更多有关各种选项的信息 system.XML,有: http://alanstorm.com/magento_system_configuration_in_depth_tutorial
解决方案2: -
请在jQuery脚本下面使用限制字符长度:
jQuery("#sms_cnfg_advanced_settings textarea").keypress(function(event){
var maxLength = 160;
var length = this.value.length;
if (length >= maxLength)
{
this.value = this.value.substring(0, maxLength);
alert(maxLength + ' characters allowed, excess characters trimmed');
}
});
jQuery("#sms_cnfg_advanced_settings textarea").on('keyup',function(){
jQuery('.charnum').remove();
var maxLength = 160;
var length = this.value.length;
var count=maxLength-length;
jQuery('<span class="charnum">' +count+' Characters left</span>').insertAfter(jQuery(this));
});
我希望它对你有所帮助。
答案 1 :(得分:0)
您可以使用<validate>
标记将textarea字符长度限制为150个字符。
<validate>validate-length maximum-length-150</validate>
您也可以添加评论,让用户知道所需的范围。