При использовании jQuery для вставки HTML в div в IE8, IE8 удаляет теги ID и имена определенных классов в HTML.
Вот пример.Я вставляю этот код, используя 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 в окне просмотра, он показывает идентификатор иправильные атрибуты класса.Я использую плагин validationEngine для проверки этой формы, и он ТРЕБУЕТ идентификатор тега для работы.
<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
Когда я оцениваю объект поля, я не вижу значения идентификатора и вижу только класс oblSomeoneElseDOB.
Я не знаю, что здесь происходит и почему это происходит только в IE8.IE7 и IE9 работают отлично, FF, Chrome и Opera тоже отлично работают.
У кого-нибудь есть идеи, как это исправить?