Передача объекта как параметра в функцию
Подскажите, пожалуйста: у меня есть кнопка, которую я динамически добавляю на форму
kn = '<button onClick="respUser( ' + prods + ' )">Да</button>'; Тип переменной prods - объект. При попытке передать prods в функцию respUser в качестве параметра получаю ошибку: SyntaxError: Unexpected identifier. В чем причина ? |
TomTykver,
kn = '<button onClick="respUser(prods)">Да</button>'; |
Получаю ошибку: prods is not defined
Перед инициализацией kn ставлю console.log( prods ); - все ОК |
typeof prods - object
|
TomTykver,
значит там где запускается клик невидно эту переменную. может не использовать атрибут onClick проще будет? |
Подскажите, как лучше. Мне нужно при нажатии на кнопку обработать данные. Я уже сделал все это, но через глобальную переменную, а это не правильный поход
|
:-) подход
|
TomTykver,вам же написали не используйте атрибут для назначения функции обработки события click и не нужны будут глобальные переменные.
|
вроде разобрался: утро вечера мудрее. Спасибо, рони.
|
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>
|
| Часовой пояс GMT +3, время: 14:48. |