Jquery Masked输入\无法动态添加输入

时间:2014-03-31 20:37:35

标签: javascript jquery

我正在为项目创建一个注册表单但是有问题。我的表单所做的是让用户点击"添加联系人"按钮并动态地在页面上显示更多输入框,以便用户可以键入其他用户。一切都在工作,除了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 :(得分:0)

在脚本的某处,您必须为输入初始化蒙版插件,类似于:$("#phone").mask("(999) 999-9999"); 在addInput()中动态添加元素时,它们不会被初始化。你可以这样做。但是我觉得从一开始就可以更容易地在体内添加所有内容,并隐藏“dymamic”元素。这样你就可以初始化它们了。当用户点击“添加联系人”时,您可以像fiddle一样一个接一个地显示它们。

编辑:更新链接