Więcej
przekazać parametr łańcuchowy w funkcji onclick
Chciałbym przekazać parametr (np. ciąg znaków) do funkcji Onclick. Na razie robię to w ten sposób:
'<input type="button" onClick="gotoNode(' + result.name + ')" />'
z result.name na przykład równym ciągowi "Add". Kiedy klikam na ten przycisk, mam błąd, który mówi, że Add nie jest zdefiniowany. Ponieważ to wywołanie funkcji działa idealnie z parametrem numerycznym, zakładam, że ma to coś wspólnego z symbolami "" w łańcuchu. Czy ktoś miał już ten problem?
204
3
Wygląda na to, że'budujesz elementy DOM z ciągów znaków. Musisz tylko dodać kilka cudzysłowów wokół result.name:
Powinieneś jednak robić to za pomocą odpowiednich metod DOM.
Należy pamiętać, że jeśli jest to pętla lub coś w tym stylu,
result
zmieni się przed wystrzeleniem zdarzenia i trzeba będzie utworzyć dodatkowy bąbel zakresu, aby ocienić zmieniającą się zmienną.Sugeruję nawet nie używać HTML
onclick
handlers, i użyć czegoś bardziej powszechnego, takiego jakdocument.getElementById
.HTML:
JavaScript:
Edytowane: Jeśli wymaganie polega na odwołaniu się do obiektu globalnego (js) w twoim kodzie HTML, możesz spróbować tego. [Don't używać żadnych cudzysłowów (' lub ") wokół zmiennej]
[Skrzypce][1] odniesienie.
Javascript:
HTML: