2016-06-28 58 views
1

我创建了一个textarea的简单页面,条件是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的是空的,它不显示任何警报,该textarea的需要填补

+0

还有,你试过这么远吗? – RasmusGlenvig

+0

我是初学者在编码,所以请帮助:) –

+0

尝试将php代码移到占位符和值,但仍然不会工作 –

回答

1

这可能让你开始:

$('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>

+0

谢谢!我现在就试试看看我是否可以在我的代码中工作 –

1

如果有任何内容,包括空格,它会通过支票。 $ data ['isi_visimisi']是一个什么长度的字符串?

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

+0

是的字符串有长度。这个想法是textarea中的文本可以更改,但不能为空。是的,我有提交按钮。 –

1

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

+0

有没有办法让警报可见? –

+0

当编辑器初始化时,您只需修改textarea的css。检查DOM并进行所需的修改。您需要使其可见,即使它是0px宽度。 – Amitsouko

相关问题