您好我正在使用CMS在电子商务网站的产品页面上动态创建textareas。文本区域在每个不同的产品页面上具有不同的ID。我需要一些javascript来检查页面上的所有textareas是否为空,如果是,则显示警告消息。我无法为文本区域分配ID,因此无法使用我通常使用的脚本。非常感谢任何帮助!
function validate() {
var val = document.getElementById('textarea').value;
if (/^\s*$/g.test(val)) {
alert('Wrong content!');
}
}
Hey Benjamin感谢您的回复,我无法让代码在评论中工作,以为我的日子过得很糟糕。所以当我试图说我不是最好的Javascript(但渴望学习!)我已将此添加到我的页面但它似乎不起作用:
<script>
var areas = document.getElementsByTagName("textarea");
// now iterate them for
(var i=0;i<areas.length;i++){
var val = areas[i].value;
if (/^\s*$/g.test(val)) {
// whatever
}
} </script>
将此与身体一样
<div class="description">Further Details <br>
<textarea id="catProdInstructions_6486638" class="productTextarea"></textarea>
</div>
感谢您抽出时间:)
答案 0 :(得分:1)
您可以使用getElementsByTagName
来获取所有<textarea>
个。
它返回页面中当前可以迭代的所有文本区域的NodeList。
var areas = document.getElementsByTagName("textarea");
// now iterate them
for(var i=0;i<areas.length;i++){
var val = areas[i].value;
if (/^\s*$/g.test(val)) {
// whatever
}
}
返回的NodeList是实时,这意味着它会自动更新自动,因为即使您使用ajax获取新的textarea元素或使用代码创建它们,也会动态添加新的textarea元素。