私は次のフォームを持っています:
<div id="divSignup">
<form method="post" name="signupForm" id="signupForm">
<input type="text" id="email" name="email" value="" class="email2"/>
<input type="hidden" id="SAMID" name="SAMID" value="" />
<input type="hidden" id="x_building" name="x_building" value="" />
<input type="hidden" id="x_street" name="x_street" value="" />
<div id="divSignupForm">
<cfinclude template="signup1.cfm">
</div>
</form>
</div>
<cfinclude>
送信ボタンのあるテンプレートは、タグとともに動的に読み込まれます。signup1.cfm の OnSubmit で、jQuery はフォームを検証し、フォームの名前と id 属性を変更して、独自の送信ボタンを持つ新しいフォームをロードします。
$('#divSignupForm').load('signup2.cfm',function(){
$('#signupForm').attr({'name':'signupForm2','id':'signupForm2'});
})
これはすべて、FF、Chrome、および IE9 ではうまく機能しますが、IE8 では機能しません。
IE8 では、指定された div 内ではなく、新しいフォームをロードするようです。指定されたdivの下にロードしているようです。次のようにdivの内容を警告すると:
alert($('#divSignupForm').html());
次の結果が得られます。これは</FORM>
、ロードされたコンテンツの上にある終了タグを明確に示しています。注: 含まれているテンプレートにはタグがありません。<form>
親に設定されたフォーム タグは 1 つだけです。
ロードされたフォーム内の IE8 が気に入らないタグでしょうか? jQueryの競合の可能性? このサイトは MooTools も使用しています。