Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.02.2012, 22:01
Интересующийся
Отправить личное сообщение для user_i Посмотреть профиль Найти все сообщения от user_i
 
Регистрация: 03.02.2012
Сообщений: 10

Указание ссылки на функцию с параметрами
Извините, может глупый вопрос задаю, но не могу найти решение, уже не одну статью прочитал (.

В статье http://javascript.ru/tutorial/events/intro НАПИСАНО:

function doSomething() { alert('Спасибо') }
Частая ошибка новичков
Обратите внимание - свойству присваивается именно сама функция-обработчик doSomething, а не doSomething():

document.getElementById('button').onclick = doSomething
doSomething() - это результат запуска функции, а так как вызова return в ее коде нет, то этот результат будет undefined.
Как мне правильно указать ссылку на функцию и сразу же указать какие будут значения параметра/-ов

function doSomething(a) { alert(a) }
document.getElementById('button').onclick = doSomething
Как тут указать a='Спасибо' ???? Чтобы результат (после клика) был таким же?
Спасибо )!
Ответить с цитированием
  #2 (permalink)  
Старый 05.02.2012, 22:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

user_i,
Вариант ...
<!DOCTYPE html>
<html >
<head>
  <title></title>
</head>

<body>
<input type="button" name="go" value="go" id="button" />
<script type="text/javascript">
 function doSomething(a) {
   return function ()
 {
  alert(a)
 }
  }
document.getElementById('button').onclick = doSomething('Спасибо')
</script>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 05.02.2012, 22:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

user_i,
или так...
<!DOCTYPE html>
<html >
<head>
  <title></title>
</head>

<body>
<input type="button" name="go" value="go" id="button" />
<script type="text/javascript">
 function doSomething(a) {

  alert(a)

  }
document.getElementById('button').onclick =  function ()
{
   doSomething('Спасибо')
}
</script>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 05.02.2012, 22:28
Интересующийся
Отправить личное сообщение для user_i Посмотреть профиль Найти все сообщения от user_i
 
Регистрация: 03.02.2012
Сообщений: 10

рони, благодарю! Первый вариант не подходит так-как функция массивная+ используется несколько раз. Второй вариант почему-то не срабатывает.
Где использую:
Event.add(element, 'blur', "function() {validate('<?=$val_group_name?>')}");
function validate(val_group_name)
{...}

Какую ошибку выдает:
Object function() {validate('registration')} has no method 'call'
Ответить с цитированием
  #5 (permalink)  
Старый 05.02.2012, 22:53
Интересующийся
Отправить личное сообщение для user_i Посмотреть профиль Найти все сообщения от user_i
 
Регистрация: 03.02.2012
Сообщений: 10

Да, убрал кавычки. Помогло!

Event.add(element, 'blur', function() {validate('<?=$val_group_name?>')});
Ответить с цитированием
  #6 (permalink)  
Старый 06.02.2012, 12:08
Интересующийся
Отправить личное сообщение для user_i Посмотреть профиль Найти все сообщения от user_i
 
Регистрация: 03.02.2012
Сообщений: 10

Сообщение от Maxmaxmaximus
Ну а что по твоему но должен со сторокой делать, ВЫПОЛНЯТЬ СТРОКУ что ли)??
Да, кавычки там не нужны. Уже не знал что делать и поставил их. А так они не нужны. Хоть нашел решение, все же вопрос актуален

Как при создании ссылки передать переменную из JS в функцию???
Используя php вот так работает:
Event.add(element, 'blur', function() {validate('<?=$val_group_name?>')});

А на JS? Оптимальнее в этом случае без PHP, чтобы ввывести в js файл...
Так работает:
Event.add(element, 'blur', function() {validate("value")});

Но нужно что-то вроде
var val_group_name = "value";
Event.add(element, 'blur', function() {validate(val_group_name)});

А не проходит

Или так
var val_group_name = "value";
Event.add(element, 'blur', function(val_group_name) {validate(val_group_name)});

А не проходит

Последний раз редактировалось user_i, 06.02.2012 в 13:57.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
checkbox включен запускаем одну функцию выключен другую Sadist_dead Элементы интерфейса 11 27.09.2011 10:46
проблема с передачей параметров в функцию bartonom Элементы интерфейса 4 19.09.2011 12:41
Как получить указатель на элемент вызвавший функцию pelayo Общие вопросы Javascript 9 29.06.2010 23:32
ссылки получали стиль "visited" только на время сессии alexandr_poskrobka Серверные языки и технологии 7 10.03.2010 08:48
Передать в функцию указание на элемент, из которой она вызвана AndreyLL Events/DOM/Window 3 30.11.2009 09:55