Javascript验证动态textarea

时间:2013-11-21 10:37:20

标签: javascript

您好我正在使用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>

感谢您抽出时间:)

1 个答案:

答案 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元素。