Jquery Masked input \ не работает на динамически добавленных входах

0

Я создаю регистрационную форму для проекта, но имею проблему. То, что делает моя форма, позволяет пользователю щелкнуть кнопку "добавить контакт" и динамически иметь больше полей ввода на странице, чтобы пользователь мог вводить дополнительных пользователей. Все работает, за исключением маскировки jquery. Jquery работает с любым текстовым вводом по умолчанию на странице, но не работает с любым вводом сгенерированного javascript.

Надеясь, что кто-то понимает, что я объясняю, я использую ниже для вложенного ввода http://digitalbush.com/projects/masked-input-plugin/

И ниже мой javascript и html

   <script language="javascript">
     fields = 0;
     function addInput() {
       if (fields != 5) {
        document.getElementById('text').innerHTML += "<div class='row-fluid'><div class='span5 clearfix'><h4 class='heading_b'>Company Address</h4><input type='text' name='company_address[]' class='span11'></div></div><div class='row-fluid'><div class='span5 clearfix' style='width:300px'><h4 class='heading_b'>Company City</h4><input type='text' name='company_city[]' class='span5'></div><div class='span4 clearfix' style='width:300px'><h4 class='heading_b'>Company State</h4><select name='company_state[]' class='span4'><option value='AL'>AL</option><option value='AK'>AK</option><option value='AZ'>AZ</option><option value='AR'>AR</option><option value='CA'>CA</option><option value='CO'>CO</option><option value='CT'>CT</option><option value='DE'>DE</option><option value='DC'>DC</option><option value='FL'>FL</option><option value='GA'>GA</option><option value='HI'>HI</option><option value='ID'>ID</option><option value='IL'>IL</option><option value='IN'>IN</option><option value='IA'>IA</option><option value='KS'>KS</option><option value='KY'>KY</option><option value='LA'>LA</option><option value='ME'>ME</option><option value='MD'>MD</option><option value='MA'>MA</option><option value='MI'>MI</option><option value='MN'>MN</option><option value='MS'>MS</option><option value='MO'>MO</option><option value='MT'>MT</option><option value='NE'>NE</option><option value='NV'>NV</option><option value='NH'>NH</option><option value='NJ'>NJ</option><option value='NM'>NM</option><option value='NY'>NY</option><option value='NC'>NC</option><option value='ND'>ND</option><option value='OH'>OH</option><option value='OK'>OK</option><option value='OR'>OR</option><option value='PA'>PA</option><option value='RI'>RI</option><option value='SC'>SC</option><option value='SD'>SD</option><option value='TN'>TN</option><option value='TX'>TX</option><option value='UT'>UT</option><option value='VT'>VT</option><option value='VA'>VA</option><option value='WA'>WA</option><option value='WV'>WV</option><option value='WI'>WI</option><option value='WY'>WY</option></select></div><div class='span3 clearfix'><h4 class='heading_b'>Company Zip</h4><input type='text' name='company_zip[]' class='span3' maxlength='5'></div></div><div class='row-fluid'><div class='span5 clearfix' style='width:300px'><h4 class='heading_b'>Landload/Mortgage Company</h4><input type='text' name='company_landlordcompany[]' class='span8'></div><div class='span5 clearfix' style='width:250px'><h4 class='heading_b'>Rent/Mortgage Amt</h4><input type='text' name='companyrentamt[]' class='span4'></div><div class='span5 clearfix' style='width:300px'><h4 class='heading_b'>Landlord Contact Name</h4><input type='text' name='business_landlordname[]' class='span8'></div><div class='span5 clearfix' style='width:290px'><h4 class='heading_b'>Landlord Contact Phone</h4><input type='text' name='business_landlordphone[]' class='span6 mask_phone'></div></div>";
        fields += 1;
        } else {
        document.getElementById('text').innerHTML += "<br />Only 5 addresses are allowed.";
        document.form.add.disabled=true;
        }
        }

Вышеуказанное находится в голове моей html-страницы, затем в теле в моей форме у меня есть

<div id='text'>  </div>

Если я возьму любой из входов, перечисленных в приведенном выше javascript, который имеет вложенный масок и добавляет его в тело страницы, замаскированный вход работает. Я надеюсь, что у кого-то может быть предложение.

Я попытался взять файл js, содержащий скрытый код ввода и поместив его внизу страницы, а также попытался найти его в верхней части страницы, но не повезло. благодаря

Теги:

1 ответ

0
Лучший ответ

Где-то в вашем скрипте вы должны инициализировать маскированный плагин для входов, подобных: $("#phone").mask("(999) 999-9999"); Когда вы добавляете элементы динамически в addInput(), они не инициализируются. Вы могли бы это сделать. Однако я думаю, что вам было бы проще добавить все в тело с самого начала и скрыть "dymamic" элементы. Таким образом, они будут инициализированы. Когда пользователь нажимает "добавить контакт", вы можете показывать их один за другим, как в этой скрипке.

изменение: обновленная ссылка

Ещё вопросы

Сообщество Overcoder
Наверх
Меню