在Dojo中验证SimpleTextArea

时间:2017-07-18 12:20:38

标签: javascript dojo

我是Dojo的新手,我必须消除/不允许用户在文本区域中输入HTML标记。我尝试了一些,但没有工作。后来我试图从HTML标签中获取内容,但即使这样也没有用。你能帮我吗?

<script type="text/javascript">
  dojo.ready(function(){
    dojo.byId("comments").innerHTML = dojo.replace("<[^>]*>", "");
  });
</script>

<div id="comments" name="comments" dojoType="dijit.form.SimpleTextarea" maxLength="900" style="width: 98%; padding-right: 4px; font-size: 1.2em;" aria-required="true" title="<fmt:message key="widget.content2" />"></div>

3 个答案:

答案 0 :(得分:0)

您正在使用Dojo的旧语法;如果你是新手 - 如果你开始学习新风格,那就更好了。

希望以下有所帮助。

&#13;
&#13;
require([
  'dojo/ready',
  'dojo/on',
  'dojo/parser',
  'dijit/registry',
  'dijit/form/SimpleTextarea'
], function(ready, on, parser, registry){
  ready(function(){
    parser.parse().then(function(){
      var comments = registry.byId('comments')
      on(comments, 'keyup', function(){
        var value = comments.get('value')
        comments.set('value', value.replace(/<[^>]*>/g, ''))
      })
    })
  })
})
&#13;
#comments {
  width: 98%;
  padding-right: 4px;
  font-size: 1.2em;
}
&#13;
<script src='//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js'></script>

<div id="comments" name="comments" data-dojo-type="dijit.form.SimpleTextarea" maxLength="900" aria-required="true"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

试试这样。

def sort_age(lst):
    local_list = lst[:]
    new_lst=[]
    while len(local_list) != 0:
        max_age = local_list[0][1]
        oldest = local_list[0]
        counter = len(local_list)-1
        while counter >= 0:
            if local_list[counter][1] > max_age:
                max_age = local_list[counter][1]
                oldest = local_list[counter]
            counter -= 1
        local_list.remove(oldest)
        new_lst.append(oldest)
    return new_lst

但是你应该开始使用更新版本的dojo,因为它有几个很好的功能。感谢刘易斯的初步答复。

好的,这是jsfiddle给你https://jsfiddle.net/meesa41q/10/

答案 2 :(得分:0)

与我上一篇文章类似,但使用1.6.0

dojo.require("dijit.form.SimpleTextarea");
dojo.ready(function(){
  var comments = dijit.registry.byId('comments')
  dojo.connect(comments, 'onKeyUp', function(){
    var value = comments.get('value')
    comments.set('value', value.replace(/<[^>]*>/g, ''))
  })
});
#comments {
  width: 98%;
  padding-right: 4px;
  font-size: 1.2em;
}
<script src='//ajax.googleapis.com/ajax/libs/dojo/1.6.0/dojo/dojo.js' djConfig='parseOnLoad: true'></script>
<script src='//ajax.googleapis.com/ajax/libs/dojo/1.6.0/dijit/dijit.js'></script>

<div id="comments" name="comments" dojoType="dijit.form.SimpleTextarea" maxLength="900" aria-required="true"></div>