繁体   English   中英

在for循环内生成html

[英]Generating html inside for loop

我正在使用此jquery验证: http : //www.runningcoder.org/jqueryvalidation/

它可以完美地工作,但是如果我使用javascript动态生成代码,则其中一个输入未能通过数据验证,则错误消息将出现在所有输入中。

有没有办法解决这个问题?

 for (var i = 0; i < result.length; i++) { inputs += '<div class="input-group bottom15"><span class="input-group-addon">' + (i + 1) + '</span>' + '<input type="text" class="form-control" placeholder="Insert the description for ' + result[i] + '" name="paramDescriptions" id="paramName' + (i + 1) + '"' + 'data-validation-message="The description must be between 2 and 25 characters. No special characters allowed."\\n' + 'data-validation="[L>=2, L<=25, MIXED]" required></div>'; } 

上面的代码生成...

 <div id="inputDiv" class="col-sm-10"> <div class="input-group bottom15"><span class="input-group-addon">1</span><input type="text" class="form-control" placeholder="Insert the description for FREQUENCY" name="paramDescriptions" id="paramName1" data-validation-message="The description must be between 2 and 25 characters. No special characters allowed." data-validation="[L>=2, L<=25, MIXED]" required=""></div> <div class="input-group bottom15"><span class="input-group-addon">2</span><input type="hidden" class="form-control" name="paramName" value="DAYS"><input type="text" class="form-control" placeholder="Insert the description for DAYS" name="paramDescriptions" id="paramName2" data-validation-message="The description must be between 2 and 25 characters. No special characters allowed." data-validation="[L>=2, L<=25, MIXED]" required=""></div> </div> 

jQuery表单Validation使用这部分代码查找元素:

node.find('input:not([type="submit"]), select, textarea')

因此将检查示例中的每个input字段。 但是,该错误已注册为字段的name属性:

var inputName = $(input).attr('name')

// ...

registerError(inputName, error[0].replace('$', inputShortName).replace('%', error[1]));

这就是您在两个字段中看到错误消息的原因。

只需将字段的名称值更改为唯一值即可解决此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM