Javascript-从动态创建的元素中收集变量

Javascript-从动态创建的元素中收集变量,javascript,forms,validation,dynamic,undefined,Javascript,Forms,Validation,Dynamic,Undefined,基本上这是我的javascript的add函数 function Add(){ var newDiv7 = document.createElement("div"); newDiv7.setAttribute("class","StartDate"); newDiv7.innerHTML = 'Description: <input type="text" name="Description[]">'; document.getElementById

基本上这是我的javascript的add函数

function Add(){
    var newDiv7 = document.createElement("div");
    newDiv7.setAttribute("class","StartDate");
    newDiv7.innerHTML = 'Description: <input type="text" name="Description[]">';
    document.getElementById("container").appendChild(newDiv7);
}
function validate(){
    var y = document.forms["MainDATA"]["Description[]"];
    alert(y);
    //validation code
}
只有当用户向我的表单中添加了一个
div
时,此代码才能正常工作。我可以将我的描述转移到
y
上进行验证,但是当用户添加了2个
div
s时,我的
y
变成了
未定义的
。无论用户添加了多少
div
s,如何收集所有描述

另外,如果我想检查“y”的长度是否至少为10个字符,我可以做些什么来实现这一点


提前谢谢。

看起来很好用

只是计数器变量未定义

var counter = 0;

function Add() {
    var newDiv7 = document.createElement("div");
    newDiv7.setAttribute("class", "StartDate");
    newDiv7.innerHTML = 'Description: <input type="text" name="Description[]">';
    document.getElementById("container").appendChild(newDiv7);
    document.getElementById("counter").value = counter;
}

function validate() {
    var y = document.forms["MainDATA"]["Description[]"];
    console.log(y);
    //validation code
}
var计数器=0;
函数Add(){
var newDiv7=document.createElement(“div”);
newDiv7.setAttribute(“类”、“开始日期”);
newDiv7.innerHTML='Description:';
document.getElementById(“容器”).appendChild(newDiv7);
document.getElementById(“计数器”).value=计数器;
}
函数验证(){
var y=document.forms[“MainDATA”][“Description[]”;
控制台日志(y);
//验证码
}

查看

上的工作示例我在Firefox 18上运行了这个程序,并且没有任何问题。你能试试这个吗


你能试试console.log(y)吗?也许您可以执行document.getElementsByClassName(“StartDate”)并在每个div中获取子项。@Kaeros console.log(y)是如何工作的?你能给我举个例子,用一些方法测试变量“y”的长度吗?谢谢你的回答,但我在这段代码中遇到的问题是,我不知道如何从javascript中检索变量y,例如,我想看看用户在描述中输入的字符是否超过10个,如何在我的validate()中实现这一点?@AnthonyCheng:y是您的输入列表,因此您必须循环查看它们,以查看每个输入中都有什么。我已经更新,以便在每个输入中显示字符长度
var counter = 0;

function Add() {
    var newDiv7 = document.createElement("div");
    newDiv7.setAttribute("class", "StartDate");
    newDiv7.innerHTML = 'Description: <input type="text" name="Description[]">';
    document.getElementById("container").appendChild(newDiv7);
    document.getElementById("counter").value = counter;
}

function validate() {
    var y = document.forms["MainDATA"]["Description[]"];
    console.log(y);
    //validation code
}
f d()