0

jquery .load() を使用して、django テンプレートをポップアップ div にロードしています

私が使用しているテンプレートにはフォームがあり、テンプレートをロードするとフォームは有効ではなくなりますが、URL からテンプレートにアクセスするとフォームは有効になります。

jqueryのロード後にフォームが無効になる理由を誰か考えられますか?

ここに私のフォームがあります:

def createrecipe(request):
    if not request.user.is_authenticated():
        return HttpResponseRedirect('/index/')
    else:
        if request.method == 'POST':
            form = RecipeForm(request.POST)
            if form.is_valid():
                recipe = form.save(commit=False)
                recipe.original_cookbook = request.user.cookbooks.all()[0]
                recipe.pub_date = datetime.datetime.now()
                recipe.save()
                user = request.user
                cookbooks = user.cookbooks
                cookbook = cookbooks.all()[0]
                cookbook.recipes.add(recipe)
                return HttpResponseRedirect('/account')
        else:
            form = RecipeForm()

        return render_to_response('cookbook/createrecipe.html',
                                    {'form':form},
                              context_instance=RequestContext(request))

ここに私のフォームテンプレートがあります:

{% block content %}
<div id="createform">
<h1>Create New Recipe</h1>
    <form action="." method="POST">
        <table>
            {% csrf_token %}
            {{ form.as_table }}
        </table>
        <p><input type="submit" value="Submit"></p>
    </form>
</div>
{% endblock %}

ロード関数は次のとおりです。

$(document).ready(function(){
    $(".create").on("click", function(){
        $("#popupContact").load("/cookbook/createrecipe #createform");
    });
});

ありがとうございました、

スナックフィッシュ

4

1 に答える 1

0

jQueryまたはデフォルトのフォーム動作で実行される送信ボタンです.ajaxデータを処理するときにjqueryの .on() メソッドを使用する必要があるロードされたフォームがコードに表示されないと思います。http://api.jquery.com/on/

于 2012-04-22T23:34:53.390 に答える