2015-07-01 4 views
1

Я хочу передать текстовый элемент (строку) к функции на клик:передача текста к функции OnClick

document.getElementById("struct_list").innerHTML="<li onClick='ClickStructList("+text+");'><a href='#'>"+text;` 

ClickStructList определяется следующим образом:

ClickStructList=function(text){ 
window.alert("click"); 
window.alert(text); 
}; 

Это не работает , firefox debug istelling me: «C не определен», C - значение текста.

Спасибо за любую помощь

PS: Я не хочу использовать JQuery

+0

Что не работает? Сам код javascript или когда вы нажимаете на элемент? – nils

+0

Когда я нажимаю ничего не происходит, если я удаляю текстовый аргумент, он работает, я получаю сообщение «щелчок». – Laetis

ответ

1

кавычки отсутствовали в вызове ClickStructList ... это работает:

var ClickStructList=function (text) { 
    window.alert("click"); 
    window.alert(text); 
}; 

var text="Hello World"; 
document.getElementById("struct_list").innerHTML="<li  
    onClick='ClickStructList(\""+text+"\");'><a href='#'>"+text; 
2

Пытаться определить свою функцию как функцию не переменной

function ClickStructList(text){ 
    window.alert("click"); 
    window.alert(text); 
}; 

Кроме того, когда вы определяете onClick обратного вызова то ты должен окружать его котировкой

<li onClick='ClickStructList("My entered text");'> 

так что в вашем примере:

.innerHTML="<li onClick='ClickStructList(\""+text+"\");'> 
+0

Я попробовал сейчас У меня есть эта ошибка: ReferenceError: ClickStructList не определен – Laetis

2

попробовать, изменив код JS для этого:

document.getElementById("struct_list").innerHTML="<li onClick='ClickStructList(\""+text+"\");'><a href='#'>"+text; 
0

вы забыли добавить кодовые знаки для строки, поэтому JS пытается проанализировать ваш текст как код.

Вам нужно по крайней мере, STH, как это:

... "<li onClick='ClickStructList(\""+text+"\");'><a href='#'>" ... 

или даже лучше

... "<li onClick='ClickStructList("+ JSON.stringify(text) +");'><a href='#'>" ... 
+0

, что последний из них лучше всего опубликован: 100% надежный – dandavis

Смежные вопросы