Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как из функции вызвать другую функцию и правильно передать ей параметр (https://javascript.ru/forum/misc/17106-kak-iz-funkcii-vyzvat-druguyu-funkciyu-i-pravilno-peredat-ejj-parametr.html)

Alexd 06.05.2011 01:01

Как из функции вызвать другую функцию и правильно передать ей параметр
 
В данном примере обработчику события resetMes передается значение только тогда, когда параметр demes число, а нужно чтобы строки тоже передавались. Очень хотелось бы узнать, что делаю не так!?
function repMes(message, demes)
{
 divMes = document.createElement("div");
 divMes.innerHTML = '<a href="#" onclick="resetMes('+demes+');">Восстановить</a>';
 var repText = document.getElementById("comtab").replaceChild(divMes, message);
}

NoResponse 06.05.2011 01:52

например можно так
('+"'"+demes+"'"+')

Sweet 06.05.2011 02:36

Если речь идет только о числах и строках, то проверь, если это строка, то добавь кавычки:
if( Object(demes) instanceof String ) demes = "'" + demes + "'";
Тогда в div'е будет
<a href="#" onclick="resetMes('someString');">Восстановить</a>
Но так можно передавать только элементарные значения. Если в дальнейшем есть вероятность, что demes будет объектом, то лучше делать так:
function repMes(message, demes)
{
 divMes = document.createElement("div");
 var a = document.createElement("a");
 a.href = "#";
 a.onclick = function(){
   return resetMes(demes);
 };
 a.innerHTML = "Восстановить";
 divMes.appendChild(a);
 var repText = document.getElementById("comtab").replaceChild(divMes, message);
}

Alexd 06.05.2011 03:42

Спасибо огромное за ответы, именно это мне и нужно было! Как раз хотел спросить на счет объектов, но вы меня опередили!!! Очень помогли разобраться.


Часовой пояс GMT +3, время: 18:40.