2016-10-25 5 views
0

ユーザーが同じ入力フォームの複数のタイプを作成できるようにしようとしています。Django、jQuery。同じdivの後に複数回ロードできません。

問題は、初めてボタンをクリックするとフォームがappend_form divに追加されますが、「追加」ボタンを何回クリックしても、他のフォームは追加されません。私は間違って何をしていますか?

これは私のHTMLコードです:

<div class="col-md-9"><strong>{% trans "Please, add as many measures as you like to be available for the institutional simulation" %}</strong></div> 
<div class="col-md-3"><button class="btn btn-success" onclick="addForm('{% url "add_measure_form" %}')"><i class="fa fa-plus-square"></i> {% trans "Add Measure" %} </button></div> 

<div id="append_forms"></div> 

そして、これが

function addForm(url){ 
    $("#append_forms").after().load(url); 
} 

私のスクリプトであり、これは私のDjangoのビューです:

def add_measure_form(request): 
    data = { 

    } 
    return render(request, "_frm_inner_form.html", data) 

とURL

url(r'^measures/form/add/$', add_measure_form, name="add_measure_form") 
+0

を使用").load(url);'多分? –

+0

いいえ、動作しません。 load()はdivの内容を置き換えていると思うので、after()を追加したのです。しかし、まだ私は間違っています... – xpanta

+0

申し訳ありません。別の時間をロード()しないだけです。コンソールエラーなし、これまでのhttpエラーはありません。 – xpanta

答えて

1

フォームにラッパーdiv要素を追加し、そこにデータをロードした後()関数を削除します。

function addForm(url){ 
    $("#append_forms").append('<div>').load(url); 
    } 

またはこの `$("#のappend_formsのような一般的なAJAXリクエスト

$.ajax({ 
    url:url, 
    success:function(data) { 
     $("#append_forms").append(data); 
    } 
}); 
+0

申し訳ありませんが、動作しませんでした。私は追加してこれを試して、前に追加しました。 – xpanta

+0

は成功したajaxで、返されたhtml head + bodyタグが含まれていますか? – madalinivascu

+0

はい。瞬間私はちょうど返す '

こんにちは!

'。初回読み込み、2回目読み込みません。 – xpanta

関連する問題