Javascript Dojo中SimpleTextArea的验证

Javascript Dojo中SimpleTextArea的验证,javascript,dojo,Javascript,Dojo,我是Dojo新手,我必须消除/不应该允许用户在文本区域中输入HTML标记。我试了几次,但没有成功。后来我尝试从HTML标签中获取内容,但即使这样也没有成功。你能帮帮我吗 <script type="text/javascript"> dojo.ready(function(){ dojo.byId("comments").innerHTML = dojo.replace("<[^>]*>", ""); }); </script> <

我是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>

ready(function()){
byId(“comments”).innerHTML=dojo.replace(“]*>”,”);
});

您正在使用Dojo的旧语法;如果你是新的-最好是你开始学习新的风格

希望下面的帮助

需要([
“dojo/ready”,
“dojo/on”,
“dojo/parser”,
“dijit/注册表”,
“dijit/form/SimpleTextarea”
],函数(就绪、打开、解析器、注册表){
就绪(函数(){
parser.parse().then(函数(){
var comments=registry.byId('comments')
关于(注释,'keyup',函数(){
var value=comments.get('value')
comments.set('value',value.replace(/]*>/g',))
})
})
})
})
#注释{
宽度:98%;
右侧填充:4px;
字体大小:1.2米;
}

您正在使用Dojo的旧语法;如果你是新的-最好是你开始学习新的风格

希望下面的帮助

需要([
“dojo/ready”,
“dojo/on”,
“dojo/parser”,
“dijit/注册表”,
“dijit/form/SimpleTextarea”
],函数(就绪、打开、解析器、注册表){
就绪(函数(){
parser.parse().then(函数(){
var comments=registry.byId('comments')
关于(注释,'keyup',函数(){
var value=comments.get('value')
comments.set('value',value.replace(/]*>/g',))
})
})
})
})
#注释{
宽度:98%;
右侧填充:4px;
字体大小:1.2米;
}

像这样试试

    <script type="text/javascript">
      dojo.ready(function(){
var value = dojo.byId("comments").get('value')
        dojo.byId("comments").set('value', value.replace(/<[^>]*>/g, ''))

      });
    </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>

ready(function()){
var value=dojo.byId(“注释”).get(“值”)
dojo.byId(“comments”).set('value',value.replace(/]*>/g',))
});
但是您应该开始使用更新版本的dojo,因为它有几个好的特性。谢谢刘易斯的初步回答

好的,这是给你的JSFIDLE

像这样试试

    <script type="text/javascript">
      dojo.ready(function(){
var value = dojo.byId("comments").get('value')
        dojo.byId("comments").set('value', value.replace(/<[^>]*>/g, ''))

      });
    </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>

ready(function()){
var value=dojo.byId(“注释”).get(“值”)
dojo.byId(“comments”).set('value',value.replace(/]*>/g',))
});
但是您应该开始使用更新版本的dojo,因为它有几个好的特性。谢谢刘易斯的初步回答


好的,这是给你的JSFIDLE,与我上一篇文章类似,但使用的是1.6.0

dojo.require(“dijit.form.SimpleTextarea”);
ready(function()){
var comments=dijit.registry.byId('comments'))
connect(注释'onKeyUp',函数(){
var value=comments.get('value')
comments.set('value',value.replace(/]*>/g',))
})
});
#注释{
宽度:98%;
右侧填充:4px;
字体大小:1.2米;
}

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

dojo.require(“dijit.form.SimpleTextarea”);
ready(function()){
var comments=dijit.registry.byId('comments'))
connect(注释'onKeyUp',函数(){
var value=comments.get('value')
comments.set('value',value.replace(/]*>/g',))
})
});
#注释{
宽度:98%;
右侧填充:4px;
字体大小:1.2米;
}


感谢您的回复。目前我们使用的是Dojo的1.6.0版本。当我添加上面的代码片段时,该函数没有被调用,并且我无法剥离html标记。是的,上面的代码使用了更新的AMD语法,这在Dojo 1.6.0中不起作用。恐怕我不熟悉1.6.0,我不确定我的答案有多少是可重用的。如果我能很容易地转换它,我会在一个新的答案下发布。谢谢你的回复。目前我们使用的是Dojo的1.6.0版本。当我添加上面的代码片段时,该函数没有被调用,并且我无法剥离html标记。是的,上面的代码使用了更新的AMD语法,这在Dojo 1.6.0中不起作用。恐怕我不熟悉1.6.0,我不确定我的答案有多少是可重用的。如果我能很容易地转换它,我会发布一个新的答案。谢谢你,曼朱纳塔。。。我有一个作为警报(“hello”)的输入,并希望有一个输出来删除标记并打印textarea中的内容,但没有上面的代码,这不会发生。我读到“替换”将替换所有内容,但它不会发生。。你能帮帮我吗?谢谢你Manjunatha。。。我有一个作为警报(“hello”)的输入,并希望有一个输出来删除标记并打印textarea中的内容,但没有上面的代码,这不会发生。我读到“替换”将替换所有内容,但它不会发生。。你能帮帮我吗?