parâmetro passar cadeia de caracteres em uma função onclick
Eu gostaria de passar um parâmetro (ou seja, uma string) para uma função Onclick. Por enquanto, eu faço isto:
'<input type="button" onClick="gotoNode(' + result.name + ')" />'
com resultado.name, por exemplo, igual a string "Add". Quando clico neste botão, tenho um erro que diz que Adicionar não está definido. Como esta chamada de função funciona perfeitamente com um parâmetro numérico, assumo que tem algo a ver com os símbolos "" na string. Alguém já teve este problema antes?
204
3
Parece que você'está construindo elementos DOM a partir de cordas. Você só precisa adicionar algumas citações em torno de result.name:
Mas devias estar a fazer isto com métodos DOM apropriados.
Apenas esteja ciente de que se isto for um loop ou algo assim, o 'resultado' mudará antes do evento disparar e você'precisaria criar uma bolha de escopo adicional para sombrear a variável que muda.
Eu sugiro nem mesmo utilizar manipuladores de HTML
onclick
, e utilizar algo mais comum comodocument.getElementById
.HTML:
JavaScript:
Editado: Se o requisito é fazer referência ao objeto global (js) no seu código HTML, você pode tentar isto. [Don' não use aspas (' ou ") em torno da variável].
[Fiddle][1] referência.
Javascript:
HTML: