Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.04.2016, 21:14
Интересующийся
Отправить личное сообщение для TomTykver Посмотреть профиль Найти все сообщения от TomTykver
 
Регистрация: 01.03.2015
Сообщений: 25

Передача объекта как параметра в функцию
Подскажите, пожалуйста: у меня есть кнопка, которую я динамически добавляю на форму
kn = '<button onClick="respUser( ' + prods + ' )">Да</button>';


Тип переменной prods - объект. При попытке передать prods в функцию respUser в качестве параметра получаю ошибку: SyntaxError: Unexpected identifier. В чем причина ?
Ответить с цитированием
  #2 (permalink)  
Старый 14.04.2016, 21:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

TomTykver,
kn = '<button onClick="respUser(prods)">Да</button>';
Ответить с цитированием
  #3 (permalink)  
Старый 14.04.2016, 22:06
Интересующийся
Отправить личное сообщение для TomTykver Посмотреть профиль Найти все сообщения от TomTykver
 
Регистрация: 01.03.2015
Сообщений: 25

Получаю ошибку: prods is not defined
Перед инициализацией kn ставлю console.log( prods ); - все ОК
Ответить с цитированием
  #4 (permalink)  
Старый 14.04.2016, 22:16
Интересующийся
Отправить личное сообщение для TomTykver Посмотреть профиль Найти все сообщения от TomTykver
 
Регистрация: 01.03.2015
Сообщений: 25

typeof prods - object
Ответить с цитированием
  #5 (permalink)  
Старый 14.04.2016, 22:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

TomTykver,
значит там где запускается клик невидно эту переменную.
может не использовать атрибут onClick проще будет?
Ответить с цитированием
  #6 (permalink)  
Старый 14.04.2016, 22:26
Интересующийся
Отправить личное сообщение для TomTykver Посмотреть профиль Найти все сообщения от TomTykver
 
Регистрация: 01.03.2015
Сообщений: 25

Подскажите, как лучше. Мне нужно при нажатии на кнопку обработать данные. Я уже сделал все это, но через глобальную переменную, а это не правильный поход
Ответить с цитированием
  #7 (permalink)  
Старый 14.04.2016, 22:26
Интересующийся
Отправить личное сообщение для TomTykver Посмотреть профиль Найти все сообщения от TomTykver
 
Регистрация: 01.03.2015
Сообщений: 25

:-) подход
Ответить с цитированием
  #8 (permalink)  
Старый 14.04.2016, 22:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

TomTykver,вам же написали не используйте атрибут для назначения функции обработки события click и не нужны будут глобальные переменные.
Ответить с цитированием
  #9 (permalink)  
Старый 15.04.2016, 07:22
Интересующийся
Отправить личное сообщение для TomTykver Посмотреть профиль Найти все сообщения от TomTykver
 
Регистрация: 01.03.2015
Сообщений: 25

вроде разобрался: утро вечера мудрее. Спасибо, рони.
Ответить с цитированием
  #10 (permalink)  
Старый 15.04.2016, 07:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

TomTykver,
на всякий случай, раз вы задали вопрос в разделе jquery
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
</style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
   <script>
   $(function() {
      var prods = {
          a: 1
      };

      function respUser(a) {
          alert(a.a);
      }
      var kn = $("<button/>", {
          text: "Да",
          click: function() {
              respUser(prods)
          }
      });
      $("body").append(kn)
  })
  </script>
</head>

<body>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вызвать функцию из переменной? sss2019 Общие вопросы Javascript 7 02.09.2014 13:34
как вызвать анонимную функцию которая находится в подключенном файле(.js) arsen97 Общие вопросы Javascript 3 03.08.2014 00:23
Как то можно узнать ID HTML элемента вызвавшего JavaScript функцию? Opusel Events/DOM/Window 1 18.12.2011 18:36
как реализовать передачу функции в функцию?? czp Общие вопросы Javascript 10 29.11.2011 19:21
Передача объекта как параметра функции Fenec jQuery 3 05.01.2011 18:22