passare un parametro stringa in una funzione onclick
Vorrei passare un parametro (cioè una stringa) a una funzione Onclick. Per il momento, faccio così:
'<input type="button" onClick="gotoNode(' + result.name + ')" />'
con result.name per esempio uguale alla stringa "Add". Quando clicco su questo pulsante, ho un errore che dice che Add non è definito. Poiché questa functioncall funziona perfettamente con un parametro numerico, presumo che abbia qualcosa a che fare con i simboli "" nella stringa. Qualcuno ha già avuto questo problema?
204
3
Sembra che tu stia costruendo elementi DOM da stringhe. Hai solo bisogno di aggiungere alcune virgolette intorno a result.name:
Dovresti davvero farlo con metodi DOM appropriati.
Basta essere consapevoli che se questo è un ciclo o qualcosa del genere,
result
cambierà prima che l'evento scatti e avrete bisogno di creare un'ulteriore bolla di scope per ombreggiare la variabile che cambia.Suggerisco di non usare nemmeno i gestori HTML
onclick
e di usare qualcosa di più comune comedocument.getElementById
.HTML:
JavaScript:
Modificato: Se il requisito è fare riferimento all'oggetto globale (js) nel tuo codice HTML, puoi provare questo. [Non usare le virgolette (' o ") intorno alla variabile.]
[Fiddle][1] riferimento.
Javascript:
HTML: