У меня есть большая форма Ruby on Rails, которая имеет следующую структуру частичного представления (файл _form.html.erb)
<script language="javascript" type="text/javascript">
function myFunction1() {
... some js code here
}
function applyConfigs() {
... some js code here
}
</script>
<%= form_for(@test, :html => {:name => "Test", :id => "test_form"}) do |f| %>
... some Ruby code here
<div class="actions">
<input type=button value="Run Function1" onclick="myFunction1();">
</div>
... some Ruby code here
<div class="actions">
<input type=submit value="Apply" onclick="applyConfigs();">
</div>
<% end %>
В этой ситуации ни одна из функций не вызывается, когда я нажимаю кнопки «Run Function1» или «Apply» (кнопки подсвечиваются, но ничего не делают). Но если я помещу каждую функцию в отдельный
<script>
</script>
, следовательно, имея 2 секции script / script, каждая из которых содержит одну функцию, функция myFunction1()
выполняется правильно, но applyConfigs()
все еще не выполняется (форма отправлена, но функция applyConfigs()
не выполняется). В любом случае сообщений об ошибках нет, только функции не выполняются.
Есть идеи, что здесь происходит?
Моя функция applyConfigs()
довольно большая, но вот моя другая функция, которую я назвал myFunction1()
function showHideDiv(elementId,buttonId) {
if (document.getElementById) {
var element = document.getElementById(elementId);
var button = document.getElementById(buttonId);
if (element.style.display == 'none') {
element.style.display = 'block';
button.value = "Hide Options";
return false;
} else if (element.style.display == 'block') {
element.style.display = 'none';
button.value = "Show Options";
return false;
}
}
}