Хорошо, так что это может быть глупый вопрос (возможно, какой-то синтаксис), но Google не сказал мне много о том, почему это не работает, так что вот так.
У меня есть функция добавления полей _..._, которая принимает произвольное количество аргументов, первый из которых является идентификатором того, к чему нужно добавлять поля, а все последующие являются просто именами полей. Это взломано вместе, так что, возможно, есть пара вещей, которые я мог бы улучшить. Эта функция появляется в импортированном сценарии type = "text / javascript" в теге, созданном 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 });
}
В любом случае, я ничего не вижу неправильно с точки зрения того, как я это определяю. Я попытался добавить переменную перед всем этим - не помогло. Способ вызова функции:
<input type="button" value="Add Fields" onclick="append_widget_form_fields('some_widget_id', 'headline', 'author', 'link');"/>
Дополнительный вопрос: JS должен иметь синтаксическую ошибку, когда что-то не так с функцией, а не отбрасывать определение, правильно?