2011-09-08 59 views
0

當在IE8中使用jQuery將HTML插入到div中時,IE8會剝離HTML標籤和某些類名稱。IE8剝離ID屬性,呵呵?

下面是一個示例。我將使用jQuery(1.6.2)

var oblSomeoneElseHTML = 
'<div id="oblSomeoneElse">' + 
' <h2>Enter the name and email of a person you\'d like<br/>to purchase a registration for:</h2>'+ 
'<form class="voucher_form" id="voucher_form">'+ 
' <div class="inputrow"><label class="l1">Student Alliance Member #:</label> <input type="text" id="customer_id" name="customer_id" class="oblSomeoneElseCustID"/></div><br>'+ 
' <div class="inputrow"><label class="l1">Student First Name:<em>*</em></label> <input type="text" id="firstname" name="firstname" class="validate[required] oblSomeoneElseFirstName"/></div><br>'+ 
' <div class="inputrow"><label class="l1">Student Last Name:<em>*</em></label> <input type="text" id="lastname" name="lastname" class="validate[required] oblSomeoneElseLastName"/></div><br>'+ 
' <div class="inputrow"><label class="l1">Student Date of Birth:<em>*</em></label> <input type="text" id="DOB" name="DOB" class="validate[required,custom[MMDDYYYY]] oblSomeoneElseDOB"/></div><br>'+ 
' <div class="inputrow"><label class="l1">Student Email:<em>*</em></label> <input type="text" id="SomeoneElseEmail" name="SomeoneElseEmail" class="validate[required,custom[email] oblSomeoneElseEmail"/></div><br>'+ 
' <a href="#" class="btn btncenter oblsomeoneelsenext">Next</a>'+ 
' <div class="spinner"><img src="/images/grey_spinner.gif"></div>'+ 
'</form>'+ 
'<img src="/images/blank.gif" width="20" height="20" alt="" border="0" style="position: relative; left: 5px; cursor: pointer;" onclick="clearPrompts();">'+ 
'</div>'; 

    $('#sm_content .oblcontent').html(oblSomeoneElseHTML); 

現在,這個代碼,當我調試DOB輸入的驗證,並查看在監視窗口oblSomeoneElseHTML的值時,它示出了ID和正確的類屬性。 我正在使用validationEngine插件來驗證此表單,它需要ID標籤才能工作。

<input type="text" id="DOB" name="DOB" class="validate[required,custom[MMDDYYYY]] oblSomeoneElseDOB"/></div> 

但是,當我調試到validationEngine代碼,這一點,在_getPrompt()函數:

var className = field.attr("id").replace(":","_") + "formError"; 

返回此錯誤:

'attr(...)' is null or not an object 

當我評價領域對象,我沒有看到id值,我只看到了類oblSomeoneElseDOB。

我很茫然,以這裏發生了什麼,爲什麼,這是隻有在IE8發生。 IE7和IE9完美工作,FF和Chrome和Opera也完美工作。

人對如何解決這一問題的任何想法?

+0

isnt __field__對舊DOM節點的引用? – voigtan

+0

在jQuery中,它是這樣定義和賦值的:var field = $(this); – MB34

+0

是的,但是在替換整個.oblcontent之前或之後,您在哪裏設置__field__?一個例子是:$(「#場」)replaceWith(「

lorem
」).hide()它不會隱藏與文本LOREM新#field,這裏有一個例子:http://jsbin.com/ehazib/edit – voigtan

回答

1

恢復到使用已經內置在HTML的形式,而不是通過JavaScript產生的,和一切正常了。我們做了一些不同的事情,但它像魅力一樣工作。

+1

歡迎來到KISS;) –

相關問題