有些意思,把 behavior 和 presentation 分开的一些思路。大约就是遍历元素,然后根据一些标签名、class或者自定义属性来赋予元素一些 behavior。也就是说,尽量不在 html 嵌入破碎的 javascript 代码,而统统在 onload 以后一次处理。
找到一个中文版 JavaScript触发器
如果没什么问题,还是建议阅读英文版,中文说这些事情总是怪怪的。部分代码摘录如下:
var x = document.forms[0].elements;
for (var i=0;i { if ( x[ i ].className.indexOf('required') != -1 && !x[ i ].value ) ... } 说明:必填项 的表单元素,给个所谓的 required,然后判断是否有该字符串以及值。
function validateForm() { var x = document.forms[0].elements; for (var i=0;i { if (x[ i ].getAttribute('required') && !x[ i ].value) // notify user of error } } var x = document.getElementsByTagName('textarea'); for (var i=0;i { if (x[ i ].getAttribute('maxlength')) x[ i ].onkeypress = checkLength; } function checkLength() { var max = this.getAttribute('maxlength'); if (this.value.length > max) // notify user of error } 说明:使用自定义属性,更容易处理。 我关心的是 XHTML验证会通不过,果然作者立刻给出了办法,自定义 DTD。 其实也不是什么新思路,以前我们也这么做,所以我觉得重要的是一个语义(semantic)的html代码结构,通过DOM我们就可以做很多事情了,:)