2009-07-16 10 views
0

jQueryでページに挿入されているフォームがあります。他のすべてのブラウザでは、正しく送信されますが、Chromeでは、ページ上の他のフォームの余分なフォームフィールドがPOSTに追加されています。私はフォームを送信するためにjavascriptを使用していない、フォームはちょうどjavascriptで追加され、標準の送信入力と提出されます。Chromeが余分なフォームフィールドを送信するのはなぜですか? Chromeのバグですか?

誰もが似たような経験をしていますか?またはこれに対処する方法の任意のアイデア?

おかげ

+4

推測するのは難しい:

簡単な修正は、jQueryを使ってHTMLを解析し、そのようなnoscript要素タグを削除することでした。 そうでなければ、私が提供できるのはジェネリックで、 "ええ、クロムは奇妙でなければならない"答えです。 は、ブラウザのバグ、奇妙なJSコードがクロムバグなどをくすぐる「エッジ条件」をフォームに挿入する可能性があります。 解決策は、フォームがDOMに挿入される方法を変更している可能性があります。問題は消え去ります...なぜそれが起こるのか理解していないままにしてください。 – joej

+0

ええ、私はちょうどこれが他の誰かが遭遇したものかどうかを見たいと思っていた。私はjqueryが一般的にそれと一貫していることを発見しましたが、さまざまなタイプの挿入を試みます。 – Ben

+0

Chromeのバグやコードに問題があるかどうかは関係ありません。コードを修正して修正する必要があります。私たちが問題のコードを見ることができなければ、私たちが手助けするのは難しいです。 – Prestaul

答えて

0

問題は、noscriptタグをJavaScript経由でDOMに挿入することです。私はnoscriptタグでサーバからいくつかのHTMLを受け取りましたが、その中にselectというタグがありました。どうやら、WebKitベースのブラウザは、その入力をフォームに提出します。コード(HTML、JS)なし...答えるのは難しい...

$response.find('noscript').remove(); 
0

をフォームが別のフォーム内にネストされている場合、これはあなたが送信したいフォームとその値をうまくできないことで、ブラウザを誘発する可能性があり、試してみて、それを値何でも送るために最善を尽くしますフォームに属していると思う。

+0

それは私の最初の考えの一つでもありましたが、形は全く異なります。 – Ben

0

これは他のブラウザで動作し、chromeでは動作しない場合は、バグを送信することができます。あなたはそれを行うことができますhere。あなたはまた、freenodeのchromium ircのチャンネルで落とすかもしれません。そこにいる人々は、通常かなり役に立つので、これが既知のバグかどうかを伝えることができます。

関連する問題