Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.09.2009, 17:11
Новичок на форуме
Отправить личное сообщение для kruvas Посмотреть профиль Найти все сообщения от kruvas
 
Регистрация: 02.09.2009
Сообщений: 3

как получить фиксированный предопределенный аргумент функции 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: исправил опечатку...
на строке вываливается ошибка:
Цитата:
Event thread: DOMContentLoaded
Error:
name: TypeError
message: Statement on line 48: Type mismatch (usually a non-object value used where an object is required)
Backtrace:
Line 48 of User JS script
var res = ixs.match(patt1);
At unknown location
т.е. надо именно по другому получать текст функции для извлечения параметра. как именно - пока не знаю.

Последний раз редактировалось kruvas, 02.09.2009 в 19:14.
Ответить с цитированием
  #2 (permalink)  
Старый 02.09.2009, 17:22
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Откуда str взялся?
Ответить с цитированием
  #3 (permalink)  
Старый 02.09.2009, 17:43
Новичок на форуме
Отправить личное сообщение для kruvas Посмотреть профиль Найти все сообщения от kruvas
 
Регистрация: 02.09.2009
Сообщений: 3

да, это я вырезал из примеров - видать намудрил. но факт остается фактом - не работает код даже при правильном написании.
т.е. при таком виде работает
var str = "The rain in Spain stays mainly in the plain"; 
var patt1 = /ain/g;
alert(str.match(patt1));

а у меня нет - несоответствие типов.
исправил вверху и добавил ошибку, на которой валится обработка..

есть еще варианты, как подступиться?
Ответить с цитированием
  #4 (permalink)  
Старый 02.09.2009, 18:28
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Функция ixs не содержит метода match, зато есть метод toString .
Ответить с цитированием
  #5 (permalink)  
Старый 02.09.2009, 19:17
Интересующийся
Отправить личное сообщение для magavnuk Посмотреть профиль Найти все сообщения от magavnuk
 
Регистрация: 10.07.2009
Сообщений: 20

http://www.w3schools.com/jsref/jsref_match.asp
Ответить с цитированием
  #6 (permalink)  
Старый 02.09.2009, 19:45
Новичок на форуме
Отправить личное сообщение для kruvas Посмотреть профиль Найти все сообщения от kruvas
 
Регистрация: 02.09.2009
Сообщений: 3

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 - подсветка синтаксиса споткнулась на регексе

Последний раз редактировалось kruvas, 02.09.2009 в 19:48.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить доступ к ссылкам в iframe с помощью js Gratt Общие вопросы Javascript 4 01.09.2009 21:17
Вставка блока php в js...Как сделать? reup Общие вопросы Javascript 2 30.07.2009 11:02
Как проверить существование функции Aderba Общие вопросы Javascript 2 14.11.2008 16:09
вызов функции, из JS генерируемого на сервере subaru AJAX и COMET 1 12.07.2008 13:44
Подскажите как при помощи JS hta в трею свернуть kimboo Общие вопросы Javascript 4 11.07.2008 16:00