browser: support filter form without classList
[sheet.git] / searchlocal.js
index 4de1423677d8e61b81e108a0b22c7e4d115e6b32..f0036a6f8ecb84b9ead49708b464433a65844dba 100644 (file)
@@ -1,7 +1,8 @@
 function filtertable(query, action) {
        var rows = document.getElementsByTagName('TBODY')[0].rows;
        for (var i = 0; i < rows.length; i++) {
-               var keep = rows[i].cells[1].textContent.match(query, query.match(/[A-Z]/) ? '' : 'i');
+               var keep = query.match(/^[A-Z0-9 ]{2,}$/) ? rows[i].cells[0].title.match(query, 'i')
+                       : rows[i].cells[1].textContent.match(query, query.match(/[A-Z]/) ? '' : 'i');
                switch (action) {
                        case 'focus':
                                rows[i].classList[keep ? 'add' : 'remove'](action);
@@ -11,6 +12,7 @@ function filtertable(query, action) {
                                break;
                        case 'filter':
                                rows[i].style.display = keep ? '' : 'none';
+                               if (!Element.prototype.hasOwnProperty('classList')) continue;
                                // continue
                        default: // reset
                                rows[i].classList.remove('focus');
@@ -33,7 +35,7 @@ function prependsearch(target) {
        target.parentNode.insertBefore(newelement(
                'form', {
                        id: 'search',
-                       class: 'aside',
+                       'class': 'aside',
                        onsubmit: "filtertable(this.q.value, 'filter'); this.q.value = ''; return false",
                },
                [