Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выполнить функцию привязаную к кнопке 
V
    Опции темы
Castro
Дата 1.10.2007, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 353
Регистрация: 31.8.2007
Где: Украина

Репутация: нет
Всего: 5



написал функцию 
Код

function printLog(){
var text='';
var j=0;
var elemArray=document.getElementsByTagName('input');
    for(i=0;i<elemArray.length;i++)
    {  
    /*alert("name is "+elemArray[i].name);*/
        if(elemArray[i].name=='testID'){
            j=i+1;
            alert(elemArray[i].onclick);
            /*text+='<b>'+(j)+'</b>'+' '+elemArray[i].type+' name:'+elemArray[i].type+'<br />';*/
            }
    }
     document.getElementById('log').innerHTML = text;
}

elemArray[i].onclick возвращает текст функции, привязаной к кнопке на обработчике. Можно ли как-то эту функцию выполнить и сохранить результат её выполнения ?


--------------------
user posted image
PM MAIL ICQ GTalk   Вверх
dsCode
Дата 1.10.2007, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 565
Регистрация: 8.9.2007
Где: Saint-Petersburg

Репутация: 19
Всего: 26



Castro, конечно.

Код

elemArray[i].onclick(); // просто выполнить

var test = elemArray[i].onclick(); // сохранить результат в переменной test


P.S.: указывайте, пожалуйста, теги <script></script>, если используете подстветку HTML или же используйте подстветку JavaScript, а то неудобно выделять элементы в коде.


--------------------
the .code inside
:my music
PM MAIL WWW ICQ Jabber   Вверх
Castro
Дата 1.10.2007, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 353
Регистрация: 31.8.2007
Где: Украина

Репутация: нет
Всего: 5



Спасибо!
Попутный вопрос-как получить текст, который завёрнут в спан?
Делал что-то вроде
Код

<script>
var span=document.getElementsByTagName('span');
alert(span[0].nodeValue);
</script>

но похоже это что-то не в ту степь. А как правильно?


--------------------
user posted image
PM MAIL ICQ GTalk   Вверх
dsCode
Дата 1.10.2007, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 565
Регистрация: 8.9.2007
Где: Saint-Petersburg

Репутация: 19
Всего: 26



Castro, alert(span[0].innerHTML);


--------------------
the .code inside
:my music
PM MAIL WWW ICQ Jabber   Вверх
fidres
Дата 2.10.2007, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 15.11.2006

Репутация: нет
Всего: 1



а выполнение какого-то действа связанного с компонентом можно произвести через eval()
--------------------
Исправьте ошибку в слове <ХЕРОШО> и я скажу Вам оптимист Вы или пессимист.
PM ICQ   Вверх
Castro
Дата 2.10.2007, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 353
Регистрация: 31.8.2007
Где: Украина

Репутация: нет
Всего: 5



dsCode, спасибо огромное


--------------------
user posted image
PM MAIL ICQ GTalk   Вверх
dsCode
Дата 2.10.2007, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 565
Регистрация: 8.9.2007
Где: Saint-Petersburg

Репутация: 19
Всего: 26



fidres, ну да, почему нет?


--------------------
the .code inside
:my music
PM MAIL WWW ICQ Jabber   Вверх
Castro
Дата 2.10.2007, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 353
Регистрация: 31.8.2007
Где: Украина

Репутация: нет
Всего: 5



Для теста написал вот такое

Код

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script>
function f()
{
var s=document.getElementsByTagName('span');
var b=document.getElementsByTagName('input');
var html='';
var d;
d=b[0].onclick();
html=s[0].innerHTML+' '+d+'<br>';
document.getElementById('r').innerHTML = html;
}
function f1 (a,b)
{
var c=0;
c=a*b;
return c;
}
</script>
</HEAD>

<BODY>
<span>Test1</span> <input type="button" value='Fuck1' onClick="f1(4,5);"><br>
<span>Test2</span> <input type="button" value='Fuck2' onClick="f1(3,8);"><br><br>
<input type="button" value='Fuck3' onClick="f();">
<div id='r'></div>
</BODY>
</HTML>

и тишина.  Обработчие кнопки возвращает undefined. Почему?


--------------------
user posted image
PM MAIL ICQ GTalk   Вверх
dsCode
Дата 2.10.2007, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 565
Регистрация: 8.9.2007
Где: Saint-Petersburg

Репутация: 19
Всего: 26



Castro, а вот так уже нельзя, потому что переменная d ждет результат (т.е. что-то, что будет стоять после return в том, что вызывается. Сложно загнул, но так и есть). Если в onClick'e у кнопки написать return 20, тогда var d = b[0].onclick(); сработает и d будет иметь значение 20. А так - нет ретурна - нет значения. Фунция f1(...) возвращает свой результат в onClick, но сам onClick ничего не возвращает. Поэтому:

Код

<input type="button" value='Fuck1' onClick="return f1(4,5);" />


Это сообщение отредактировал(а) dsCode - 2.10.2007, 13:09


--------------------
the .code inside
:my music
PM MAIL WWW ICQ Jabber   Вверх
Castro
Дата 2.10.2007, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 353
Регистрация: 31.8.2007
Где: Украина

Репутация: нет
Всего: 5



 smile Кроме слова "фигасе" ничего сказать не могу smile 


--------------------
user posted image
PM MAIL ICQ GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0497 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.