1

私はcheckValidity()ajaxフォーム送信でjQueryを使用していますが、フォームにselect要素が含まれるまではすべて正常に機能します。

たとえば、ユーザーが選択した行数に基づいてデータを表示するページがあります。(データの行数を選択してください)... 10、20、30など。これがページ上の唯一のフォームです。彼らは選択し、IE9以下を除くすべてのブラウザですべて問題ありません。

エラーの原因となっているフォーム送信スクリプトの行は次のとおりです。

if (!$(this).get(0).checkValidity()) {return false;}

IEで発生しているエラーは次のとおりです。

SCRIPT438:オブジェクトはプロパティまたはメソッド'checkValidity'をサポートしていません

誰かが私がこれをどのように解決できるかについての考えを持っていますか?他のすべてのブラウザで正常に動作します。

4

1 に答える 1

7

私はjQueryを使用していcheckValidity()ます...

checkValidity()jQuery メソッドではなく、ネイティブ DOM API メソッドです。あなたが引用したコード...

if (!$(this).get(0).checkValidity()) {return false;

...ネイティブ DOM 要素への参照を取得し ($(this).get(0)冗長であり、単純に に置き換えることができます)、そのメソッドをthis呼び出します。checkValidity()

そのメソッドを実装していないため、IE9以下では失敗します。

于 2013-03-23T22:30:44.850 に答える