想要将textarea设置为必需的文本编辑器,但不会工作

时间:2016-06-28 16:38:51

标签: php html html5 textarea text-editor

我创建了一个带textarea的简单页面,条件是当textarea为空时应该需要它。

<div class="control-group hidden-phone">
  <label class="control-label" for="textarea2"></label>
    <div class="controls">
      <textarea class="cleditor" id="textarea2" rows="3" name="isi_visimisi" required><?php echo $data['isi_visimisi'] ?></textarea>
    </div>
</div>

当我按下提交按钮,条件是textarea为空时,它不会显示任何需要填写文本区域的警告

3 个答案:

答案 0 :(得分:1)

如果它有任何内容,包括空格,它将通过检查。 $ data ['isi_visimisi']是一个任何长度的字符串吗?

此外,您必须有一个提交按钮才能使用此功能。如果您通过JavaScript或其他方式提交表单,则HTML5必需关键字将无效。

答案 1 :(得分:1)

看来你正在使用CLEditor。编辑器将初始textarea设置为隐藏,并提供自己的html来构建文本编辑器。当您提交表单时,警报会附加到您隐藏的文本区域,因此您无法看到它。

答案 2 :(得分:1)

这可能会让你开始:

&#13;
&#13;
$('textarea').blur(function(){
  if (this.value.length) $(this).removeAttr('required');
  else $(this).attr('required', 'required');
});

$('button').click(function(){
  var attr = $('textarea').attr('required');
  if (typeof attr == 'undefined' && attr !== false) alert('No required attribute');
  else alert('Textarea has required attribute');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<div class="control-group hidden-phone">
  <label class="control-label" for="textarea2"></label>
    <div class="controls">
      <textarea class="cleditor" id="textarea2" rows="3" name="isi_visimisi" >Default text in field</textarea>
    </div>
</div>
<button>TEST: Does textarea have required attribute?</button>
&#13;
&#13;
&#13;