以下のようにjqueryを使用してを送信したいと思います。
$("#formid").submit();
IE6を除くすべてのブラウザで完璧に動作します。
IE6で動作させる方法は??
以下のようにjqueryを使用してを送信したいと思います。
$("#formid").submit();
IE6を除くすべてのブラウザで完璧に動作します。
IE6で動作させる方法は??
おそらく<input name="submit" />
、フォームのどこかに、IE のフォームの「送信」機能を上書きする があります。
編集:
他のいくつかのブラウザでテストしました。すべての主要なブラウザーの最新バージョンは、この問題の影響を受けるようです。
結論: 入力に「submit」という名前を付けたり、フォーム要素のその他のデフォルトのプロパティやメソッド (「action」や「reset」など) に名前を付けたりしないでください。完全な概要については、MDCを参照してください。
I had a similar problem when I was about to submit the form via an A-element. I had set the href attribute to "javascript:;" to let the main jQuery script handle the actual submit but it just wouldn't work in IE6.
jQuery main script:
$(".submitLink").click(function(){
$(this).parent()[0].submit();
$(this).addClass("loading");
});
My solution was to change the href attribute from "javascript:;" to "#".
試してみることができ$("#formid").trigger("submit")
ますが、別の結果が得られるとは思えません。
私は最近、ASP.NETサーバーフォーム内で「疑似フォーム」を作成していた(別のフォームタグを使用できなかった)という同様の問題を抱えていました。リモート投稿を行うためのサーバー側コード。簡単な答え - その場でフォームを作成して送信します。良いブラウザで動作します...
いくつかの試行錯誤の末、送信されたフォームが DOM に追加されていないと、IE が期待どおりに機能しないことに気付きました (驚くべきことです)。だから、これが私の解決策でした。それがあなたの何人かを助けることを願っています。私の入力と送信はすべて同じコンテナにあることに注意してください。「.post-to」は URL を含む非表示の入力です。
$(".post-form").click(function(ev) {
var postto = $(this).siblings(".post-to").val();
var form = document.createElement("form")
$(form).attr("id", "reg-form").attr("name", "reg-form").attr("action", postto).attr("method", "post").attr("enctype", "multipart/form-data");
$(this).siblings("input:text").each(function() {
$(form).append($(this).clone());
});
document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
return false;
});
最終的に、それは御馳走になります。
false を返すことを忘れないでください。あなたがタグにいる場合
button
フォームに a を追加しますtype="submit"
参照。
...
$('.bt_ok').bind('click', function() {
$('#form_autosuggest').submit();
return false;
});
...
後に追加: return false;
IE6 の場合
追加するだけ
window.setTimeout(function(){
$("#formid").submit();
}, 300);