как получить фиксированный предопределенный аргумент функции JS
стоит задача - получить параметр из вызова функции, но никак не могу придумать, как это сделать.
нужно для использования userjs в опере на странице есть такая вот кнопка <input type="button" value="Тынц" onclick="gettt('C772AC8B')"> function gettt(data) { window.location.href='/'+hash+'/'; }; как попроще получить параметр этой функции, чтобы потом кнопку заменить на ссылку? формы на странице нет. кроме этого инпута есть еще 2 единственное, что я нашел - перебором нахожу кнопку-инпут и получаю функцию. через алерт ее вижу, но поиск с помощью регекса не выходит почему то... var f = document.getElementsByTagName('input'); for(var i = 0; i < f.length; i++) { if(f[i].type && f[i].type=="button") { var ixs = f[i].onclick; alert (ixs); var patt1 = /gettt/m; var res = ixs.match(patt1); alert (res); break; } } помогите пожалуйста. заранее спасибо за отклик. Upd: исправил опечатку... на строке вываливается ошибка: Цитата:
|
Откуда str взялся?
|
да, это я вырезал из примеров - видать намудрил. но факт остается фактом - не работает код даже при правильном написании.
т.е. при таком виде работает var str = "The rain in Spain stays mainly in the plain"; var patt1 = /ain/g; alert(str.match(patt1)); а у меня нет - несоответствие типов. исправил вверху и добавил ошибку, на которой валится обработка.. есть еще варианты, как подступиться? |
Функция ixs не содержит метода match, зато есть метод toString .
|
|
Riim, нижайше благодарю - все получилось. сам наверное не один час лопатил бы интернет...
в итоге получилось такое: var f = document.getElementsByTagName('input'); for(var i = 0; i < f.length; i++) { if(f[i].type && f[i].type=="button") { alert (f[i].onclick.toString().match(/gettt\(\"([\dabcdef]{32})\"\)/im)[1]); break; } } по крайней мере у меня работает и устраивает. ps - подсветка синтаксиса споткнулась на регексе :) |
Часовой пояс GMT +3, время: 23:32. |