.html "は次のようなものです:スクリプトブロックは、Djangoのテンプレートでレンダリングされていないjavascriptの私は「current.html」</p> フォームを扱うビューは「form.html」をレンダリングする<p> </p> <p>「現在にAJAXを経由してからプルしようとしています
<script>
// ajax that pulls the form on a#get_form click
// fills up div#mod_post with the result
</script>
<a id="get_form" href="{% url to the view that handles the form %}">get form</a>
<div id="mod_post" style="display:none;">
{% include "form.html" %}
</div>
ここまでは良いです...フォームはうまく検索されて表示されます。
"form.html" とは何かのように:
<script type="text/javascript" src="/the/script/that/should/handle/the/post.js"></script>
<form id="mod_form" action="" method="POST" enctype="multipart/form-data">{% csrf_token %}
<table class="form">
{{ form.as_table }}
</table>
<input class="submit" type="submit" value="modifica">
</form>
だけの事はform.htmlがレンダリングされるたびに、それが一部含まれていないことである:
<script type="text/javascript" src="/the/script/that/should/handle/the/post.js">
</script>
は私が何かをしていますがここで間違っている、明らかにはい、私はそれを見つけることはできません。
フィードバックは歓迎です、ありがとう!
に私は、これは私のAJAX成功機能はdivの中で結果をロードしますので、何が起こっているかを推測します(adiv.html(result)); これに対応する方法はありますか?私はrantanplanが提案したものを試してみましたが、ベーステンプレートを拡張していません... – marlboro
私はそれを回避する*簡単な方法を考えることができません。 * JSONはフォームオブジェクトをエンコードし、それをレスポンスのJavaScriptのURLとともに組み込み、実際にフォームとスクリプトタグをJSで手動で作成することができます。しかし、私は強く、あなたのメインのJSファイル、またはすでにロードされている任意のページ固有のJSにフォームJSを含めることをお勧めしたいと思います。 –
よく私はスクリプトが火のように表示されていないことに気づいたが、ソースを読んだら、スクリプトはそこにある...しかし、私はスクリプトにcharset属性をutf-8に割り当てると、 IE7でもOKです。:) – marlboro