jQueryダイアログボックス内にいくつかのデータ入力を含むHTML5ページがあります。入力属性 form=dataInput を使用して、このデータをフォーム処理にスイープします。Firefox と Chrome では問題なく動作しますが、IE では入力フォーム属性がサポートされていないため、IE では動作しません。ダイアログ ウィジェットに関する何らかの問題により、入力ボックスの要素がフォーム処理に対して「不可視」になります。form 属性は、HTML5 をサポートするブラウザーでこれを修正しますが、リリースされた IE はこのサポートを提供していません。$('.ui-dialog').appendTo('form'); を試しました ダイアログを開く:オプションで、しかし、それは問題を解決しません。IE に入力データを Dialog ウィジェットから $_POST にスイープさせる方法はありますか?
ダイアログ内の入力ボックスのサンプルを次に示します。
<label><input type="radio" id="unitedStates" name="country" form="dataInput" value="US">United States</label>
jQuery Form プラグインを使用して送信を実行します。beforeSubmit や beforeSerialize などのいくつかのオプションがありますが、この問題を解決するために使用できるかどうかを知るには、ドキュメントや送信プロセスを十分に理解していません。コードまたはチュートリアルを具体的に記入してください。私はこれに慣れていないので、一般的な指示にうまく従いません。;-) (ところで、IE には私が必要とする他の機能サポートがありますが、これだけではありません。)
アンドリュー・ハグナーの提案と私の修正を加えた私のコードは次のとおりです。ダイアログは機能しますが、IE は国の値を設定しません。何を変える必要がありますか?
var countrySelected = $("input[type=radio][name=country]").val(); //set earlier by W3C geocoding
var countryChooser = $('#countryChoices').dialog( {
autoOpen: false,
bgiframe: true,
height: 300,
width: 850,
resizable: false,
draggable: true,
title: "Click to select another country",
open: function () {
$('#regions').tabs(
{
event: "mouseover",
})
},
buttons: {
'Close / continue location input': function ()
{
countrySelected = $('input[name=country]:checked').val();
$(this).dialog('close');
}
}
});
//then later on
getCityFromGeonames3Step(countrySelected);