我正在努力获得使用CI/jQuery的最小字符计数器。我希望能够阻止表单提交,并在用户输入的字符太少时显示警报。表单只是使用以下代码正常提交:
function checktextarea(minLength) {
var textarea = jQuery('#field').value.length;
if(textarea < minLength) {
e.preventDefault();
alert('You need to enter at least ' + minLength ' + characters');
return false;
}
};
在CI中,我有:
<?php $attributes = array ('onsubmit' => 'checktextarea(15)'); ?>
<?php echo form_open('controller/function', $attributes); ?>
// I know this is standard HTML
<textarea name="content" class="textarea_css" rows="10" cols="73" id="field"></textarea>
<?php echo form_submit('send', 'Submit Your Textarea'); ?>
<?php echo form_close(); ?>
非常感谢您的帮助!
您有一个对e
var的引用,它不在您的函数范围内。我假设您正在尝试取消一个活动,但您应该在父函数中这样做。
e.preventDefault();
行导致编译错误。
接下来,如果您访问文本区域的值不正确,请尝试jQuery('#field').val().length;
。
最后,行alert('You need to enter at least ' + minLength ' + characters');
格式错误,应读取alert('You need to enter at least ' + minLength + ' characters');
添加了一把小提琴,只是为了好玩和证明:http://jsfiddle.net/TSbK8/7/
您的jQuery语句获取长度不太正确。尝试var textarea = jQuery('#field').val().length;
而不是var textarea = jQuery('#field').value.length;
。