【问题标题】:jQuery Minimum Character Counter for Codeigniter TextareaCodeigniter Textarea 的 jQuery 最小字符计数器
【发布时间】:2013-03-11 21:39:27
【问题描述】:

我正在努力获得与 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(); ?>

非常感谢您的帮助!

【问题讨论】:

标签: php jquery codeigniter character counter


【解决方案1】:

您引用了一个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/

【讨论】:

  • 谢谢你解决了这个问题 :-)
  • 最终我不得不使用 Codeigniter:
【解决方案2】:

你得到长度的 jQuery 语句不太正确。而不是var textarea = jQuery('#field').value.length; 尝试var textarea = jQuery('#field').val().length;

【讨论】:

  • 我尝试过使用 jQuery 变体而不是 Javascript,但没有任何区别 :-(
  • 另外,onsubmit 函数中需要有return。尝试将checktextarea(15) 编辑为return checktextarea(15)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-14
  • 1970-01-01
  • 2018-11-03
  • 2018-12-21
  • 2011-05-16
  • 1970-01-01
相关资源
最近更新 更多