-- 編集: これは js の問題ではなく、Firefox 24.0 の「Mixed Active Content」の問題であることが判明しました。--
ローカルでは、イベント ハンドラーがフォーム送信を正しくインターセプトします。ただし、Heroku では、代わりにアプリケーションが HTTP リクエストを発行し、適切な Javascript 関数が呼び出されることはありません。
私のウェブページには次の Javascript があります。
<script id="infrastructure-cxn" type="application/javascript">
$(function () {
// [additional code ... ]
$("#message-form").submit(function (event) {
event.preventDefault();
var msg = $("#msg-input").val();
var msgObject = { text: msg };
server.publish(channel, msgObject);
});
});
</script>
私のウェブページには次の形式があります。
<form id="message-form" accept-charset="UTF-8">
<!-- [additional code ...] -->
<div class="field">
<input
id="msg-input"
type="text"
placeholder="Enter message..." />
</div>
<input
class="btn btn-xs btn-primary"
type="submit"
value="Send" />
</form>
アプリケーションを修正して、実稼働環境で GET または POST 要求を発行せず、代わりにイベント ハンドラーで匿名関数を呼び出す方法について、誰か提案を提供できますか?