2013-03-19 52 views
0

我正在使用以下代码来计算HTML5表单上所需输入(文本框)的数量,该功能正常工作。使用Javascript计数textarea和输入

var inputTags = document.getElementsByTagName('input'); 
reqinputCount = 0; 
for (var i=0, length = inputTags.length; i<length; i++) { 
    if (inputTags[i].validity.valid == false) { 
     reqinputCount++; 
    } 
} 

现在我的问题是,我也有一个表格上的textarea,并希望包括,以及。 你能帮我解决吗? 预先感谢。

+0

你如何确定是否需要标签?你的有效性属性是什么? – Aiias 2013-03-19 02:23:06

+0

@Aiaias基本的HTML5表单功能。 – 2013-03-19 02:27:59

+0

您可以使用DOM 0 ['form.elements'](http://www.w3.org/html/wg/drafts/html/master/forms。)获取每个**控件的集合。 html#dom-form-elements)集合,然后对它进行迭代。 – RobG 2013-03-19 02:45:09

回答

3

既然你已经仅依靠目前在浏览器的最新版本中的功能,我假设它是安全的假设你不介意的另一个这样的功能使用:

var inputTags = document.querySelector("input,textarea"); 
+0

如果OP想深入研究HTML5而不是向后兼容(不建议,但可能对练习很有趣),他应该阅读HTML5 [§4.10表单](http://www.w3.org/html/wg/)草稿/ HTML /主/ forms.html)。无论如何,我认为'form.elements'会更好地获得所有的控件,然后根据需要处理每个控件(使用HTML5属性或合适的库存HTML 4.01)。 – RobG 2013-03-19 02:53:44