Я пытаюсь избавить свой код пары eval
, который у меня есть в своем javascript, но я не уверен в лучшем способе достижения того, что я пытаюсь сделать.Как избежать этого javascript eval()?
У меня есть «форма фильтра» на кучу моих страниц, с прикрепленным к нему немного JS, который перезагружает части страницы в зависимости от того, что делает пользователь.
Различные страницы требуют разных действий.
Так что мое решение (что я придумал yearrrrs назад ...) был
<form name="callback_loadCalendar">
<form name="callback_loadNames">
Etc.
И этот ужасный бит JS (прилагается к OnChange события и т.д.), чтобы затем вызвать соответствующая функция:
if (f.getAttribute('name') && f.getAttribute('name').indexOf('callback') === 0)
eval(f.getAttribute('name').substr(9)+'()');
Например, которые назовут loadCalendar()
и loadNames()
соответственно.
Что я должен делать вместо этого?
Спасибо!
Вопрос в том, что * когда * это код выполнен? Кажется, вы можете просто прикрепить правильную функцию к событию onsubmit формы. – JJJ
Возможно, хотя и не так кратко/просто я не думаю. – Codemonkey