验证动态添加的文本框

Posted

技术标签:

【中文标题】验证动态添加的文本框【英文标题】:validate dynamically added textbox 【发布时间】:2011-02-10 12:59:21 【问题描述】:

在下面的代码中,如何仅的空值,即 r_score1,r_score2.........

  <script>
   function validate()
   
      //How to validate the r_Score.. textfields
   
  $(document).ready(function() 
   for(var i=0;i< sen.length;i++)
   
     row += '<input type="text" name="r_score'+i+'" id="r_score'+r_count+'" size="8" />';
    
   $('#details').append(row);
   );
   </script>
   <div id="details"><input type="text" name="score' id="score" size="8" /></div>
  <input type="button" value="Save" id="print" onclick="javascript:validate();" />

【问题讨论】:

【参考方案1】:

给文本框一个类名并使用类选择器

function validate()
   
      var boxes = $("#details input:text.classname");
      boxes.each(function()
          var currentVal = $(this).val();
          // do your validation here
      );
   

【讨论】:

Rahul 让我问你这个,什么时候用 id 什么时候用 class? 由于您的 id 是动态生成的,因此您必须使用属性比较运算符来获取具有特定模式的所有元素。所以在这种情况下,我认为最好使用一个类来识别元素。 如果你知道确切的 id 然后使用 id 选择器,因为它是最快的。否则使用标签和类选择器的组合。【参考方案2】:
$("#details input[name^='r_score']").each(function(nr)

    if($(this).val() === "") alert("Field "+(nr+1)+" is empty");

); 

【讨论】:

【参考方案3】:

使用live event 处理程序来动态添加内容。

【讨论】:

以上是关于验证动态添加的文本框的主要内容,如果未能解决你的问题,请参考以下文章

网格视图验证

求教 C#窗体中动态添加了Panel,再如何动态的在Panel中添加文本框控件呢?

如何在 extjs 网格中添加动态文本框

asp.net jquery 用文本框添加行(克隆行)并动态下拉

Jquery Validate动态添加和删除校验规则

单击按钮时动态添加新文本框