想要将文本编辑器设置为必需的 textarea 但不起作用
Wanted to make textarea with text editor set to required but won't work
我创建了一个带有 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>
当我在文本区域为空的情况下按下提交按钮时,它没有显示任何文本区域需要填充的警告
如果它有任何内容,包括空格,它将通过检查。 $data['isi_visimisi'] 是一个任意长度的字符串吗?
此外,您必须有一个提交按钮才能工作。如果您通过 JavaScript 或其他方式提交表单,则 HTML5 必填关键字将不起作用。
您似乎在使用 CLEditor。编辑器将初始文本区域设置为隐藏,并提供自己的 html 来构建文本编辑器。当您提交表单时,警报会附加到您的隐藏文本区域,因此您看不到它。
这可能会让您入门:
$('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');
});
<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>
我创建了一个带有 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>
当我在文本区域为空的情况下按下提交按钮时,它没有显示任何文本区域需要填充的警告
如果它有任何内容,包括空格,它将通过检查。 $data['isi_visimisi'] 是一个任意长度的字符串吗?
此外,您必须有一个提交按钮才能工作。如果您通过 JavaScript 或其他方式提交表单,则 HTML5 必填关键字将不起作用。
您似乎在使用 CLEditor。编辑器将初始文本区域设置为隐藏,并提供自己的 html 来构建文本编辑器。当您提交表单时,警报会附加到您的隐藏文本区域,因此您看不到它。
这可能会让您入门:
$('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');
});
<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>