我想限制textarea的字符长度150个字符,我的system.xml代码如下:
我想限制textarea的字符长度150个字符,我的system.xml代码如下:我想限制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>
...
请在下面找到两个解决方案。
解决方案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));
});
我希望它对您有所帮助。
请查看https://meta.stackoverflow.com/questions/312383/discussions-on-edit-review/312387#312387 - 特别是关于使用报价格式仅用于引号的部分.... –
谢谢您的解释细节,为我工作得很好。@ Umesh –
你可以使用<validate>
标记可将textarea字符长度限制为150个字符。
<validate>validate-length maximum-length-150</validate>
您还可以添加评论以让用户知道期望的范围是什么。
因为这是你的第一个问题,所以你可以阅读[提问问题指南](https://stackoverflow.com/help/how-to-ask),然后更新你的问题。 –