2011-06-21 4 views
1

DjangoでWebサイトを作成しています。FirefoxとIE9でフォームからPOSTデータを送信しようとすると、次のエラーが発生します(入力は 'bsubmit')。 : '< 'のQueryDictには見出されないFirefoxとIE9でDjango POSTデータに問題がありますが、Chromeではありません

「キー 'bsubmit':{u'bsubmit.y':[u'63']、u'bsubmit.x ':[u'81']、U 'csrfmiddlewaretoken':[u'bunchofnumbers ']}> "

これはChromeで正常に動作するため、実際の動作はわかりません。ここで私はビューでそれを処理していますか:

def my_view(request): 
    if request.method == 'POST': 
     bsubmit = request.POST['bsubmit'] 
     return render_to_response('my_template.html', {'bsubmit': bsubmit}, 
            context_instance=RequestContext(request)) 
    else: 
     bsubmit = 'some_val' 
     return render_to_response('my_template.html', {'bsubmit': bsubmit}, 
            context_instance=RequestContext(request)) 

私が欠けている明白なものが存在しなければならないような気がしますが、私はそれが何ができるか確信しています。

編集:ここで私はもともと複数の提出があったテンプレート...

<form action="/home/" method="post"> 
{% csrf_token %} 
<input type="image" src="submit.jpg" id="value1" name="bsubmit" value="value1"/> 
</form> 

があるが、私は一つだけを使用する場合、問題が解決しません。

+0

テンプレートを投稿できますか? – dwerner

+0

偶然を送信していますか? – Brandon

+0

ええ、最近のFirefox、IE、Operaブラウザでは、のように見えます:http://www.onenaught.com/posts/382/firefox-4-change-input-type -image-only-submits-x-and-y-not-nameです。 – ca136

答えて

1

JavaScriptを使用した送信ボタンで何かしていますか?要求に 'bsubmit.x'と 'bsubmit.y'を含めることは、それ自体非常に興味があります。

それを除いて、実際には何のために「bsubmit」を使用していますか?

一般に、投稿変数には直接アクセスしないでください。

bsubmit = request.POST.get('bsubmit') # defaults to `None` 

を - または - エラーあなたの周りを取得

bsubmit = request.POST.get('bsubmit', 'default') 

、あなたは自分のテンプレートに適切に回復する必要があるので:代わりにこれを使用してください。

関連する問題