IE8 лишает атрибутов ID, а? - PullRequest
       0

IE8 лишает атрибутов ID, а?

0 голосов
/ 08 сентября 2011

При использовании 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 тоже отлично работают.

У кого-нибудь есть идеи, как это исправить?

1 Ответ

1 голос
/ 12 сентября 2011

Вернулся к использованию формы, уже встроенной в html, не сгенерированной с помощью javascript, и теперь все работает.Мы сделали немного по-другому, но это работает как шарм.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...