关于 JavaScript Triggers

有些意思,把 behavior 和 presentation 分开的一些思路。大约就是遍历元素,然后根据一些标签名、class或者自定义属性来赋予元素一些 behavior。也就是说,尽量不在 html 嵌入破碎的 javascript 代码,而统统在 onload 以后一次处理。

原文在 JavaScript Triggers

找到一个中文版 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我们就可以做很多事情了,:)

[Edit on 2006-1-4 14:18:15 By guoshuang]

Leave a Reply

相关日志: