Ok, donc cela peut être une question stupide (probablement une certaine syntaxe), mais Google ne m'a pas dit beaucoup sur pourquoi cela ne fonctionne pas, alors voilà.Arbitrary-arguments JavaScript fonction de <head> pas accessible dans l'événement onclick
J'ai une fonction append _..._ fields qui prend une quantité arbitraire d'arguments, en premier lieu l'identifiant de quoi ajouter des champs, et tous les suivants sont juste des noms pour les champs. Il est piraté ensemble donc il y a probablement quelques choses que je pourrais améliorer. Cette fonction apparaît dans un type de script importé = « text/javascript » tag en tant que produit par des rails
append_widget_form_fields = function(a){
var widget_el = $(arguments[0]);
var new_li = Element.new("li", class : widget_el.id, id : widget_el.id+"_new");
for (var field in arguments) {
if (field == arguments[0]){} // ignore first arg.
else { //inserts fields into <li>
Element.insert(new_li, { bottom : get_input_box_from_field_name(field , widget_el.id)});
}
} // inserts <li> into widget
Element.insert(widget_el, { bottom : new_li });
}
De toute façon, je ne vois rien de mal avec elle en termes de la façon dont je le définis. J'ai essayé d'ajouter un var devant tout cela - n'a pas aidé. La façon dont la fonction est appelée est:
<input type="button" value="Add Fields" onclick="append_widget_form_fields('some_widget_id', 'headline', 'author', 'link');"/>
question Addendum: JS erreur de syntaxe devrait quand quelque chose ne va pas avec la fonction, et non la ferraille la définition, correcte?
Quel navigateur utilisez-vous? Firefox aura tendance à signaler des erreurs qui peuvent ne pas apparaître comme des erreurs dans le navigateur, par exemple. –
Cette fonction est-elle appelée avant le chargement complet de la page? –