私はこのような状況では、以下の部分ビューの構造(ファイル_form.html.erb)1つのJavaScript関数が実行されますが、2つは実行されません。
<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 %>
を持つ大規模なルビーon Railsのフォームを持っている私は、「ファイル名を指定して実行機能1」をクリックすると、機能のどれが呼ばれなかっ取得または"適用"ボタン(ボタンはハイライト表示されますが何もしません)。私は別の
<script>
</script>
で各機能を入れた場合でも、そのためmyFunction1()
が正常に実行されますが、applyConfigs()
はまだ(フォームが送信されていませんが、applyConfigs()
機能が実行されていない一つの機能ごと、その後、機能を含む2スクリプト/スクリプトのセクションを持ちます)。いずれの場合もエラーメッセージはなく、実行されない関数だけです。
ここで何が起こっているのでしょうか?
My機能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;
}
}
}
私が見る最初のことは、セミコロンがあることです。あなたの関数呼び出しの後。削除してください。 –
JavaScriptコードを教えてください。本当に便利です。 – talnicolas
セミコロンが有効です(偶数ハンドラで複数のステートメントを使用できます) – colithium