【发布时间】:2017-11-09 22:13:44
【问题描述】:
此代码适用于 Prototype.js 1.6,但自从升级到 1.7 后出现错误:uncaught exception: Syntax error, unrecognized expression: [object HTMLInputElement]
document.observe('dom:loaded', function() {
$$('.validate-length').each(function(elem) {
var note = elem.next('.note');
var counter = new Element('span');
note.insert(counter);
var curLen = $(elem).getValue().length;
var maxLen = elem.className.match(/maximum-length-(\d+)/)[1];
var count = maxLen - curLen;
if (curLen >= maxLen) {
counter.update(' (-' + count + ')').setStyle({'color': 'red'});
} else {
counter.update(' (+' + count + ')').setStyle({'color': 'green'});
}
$$(elem).invoke('observe', 'keyup', function() {
var curLen = $(elem).getValue().length;
var count = maxLen - curLen;
if (curLen >= maxLen) {
counter.update(' (-' + count + ')').setStyle({'color': 'red'});
} else {
counter.update(' (+' + count + ')').setStyle({'color': 'green'});
}
});
});
});
这里似乎有问题:$$(elem).invoke('observe', 'keyup', function() {
感谢任何帮助。
【问题讨论】: