我正在努力获得最小的字符计数器来使用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(); ?>
非常感谢您的帮助!
答案 0 :(得分:2)
您有一个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/
答案 1 :(得分:0)
你是jQuery语句得到的长度是不对的。而不是var textarea = jQuery('#field').value.length;
尝试var textarea = jQuery('#field').val().length;
。