Javascript 如何获取隐藏或自动生成的内容的值?

Javascript 如何获取隐藏或自动生成的内容的值?,javascript,hide,on-the-fly,Javascript,Hide,On The Fly,接下来的问题是,我想从隐藏的表单中获取一些值,但当我试图检索它们时,只会出现空字符串,我考虑过在引入信息时使用数组来存储信息,但我想知道是否可以在之后检索信息,以及如何检索 此外,还有一个表是使用一些javascript动态生成的: function createTable(){ if ( document.getElementById("invoiceFormat").rowNumber.value != ""){ rows = document.get

接下来的问题是,我想从隐藏的表单中获取一些值,但当我试图检索它们时,只会出现空字符串,我考虑过在引入信息时使用数组来存储信息,但我想知道是否可以在之后检索信息,以及如何检索

此外,还有一个表是使用一些javascript动态生成的:

function createTable(){
        if ( document.getElementById("invoiceFormat").rowNumber.value != ""){
            rows = document.getElementById("invoiceFormat").rowNumber.value;
        }

        var contents = "<table id='mt'><tr>";

        if ( document.getElementById("invoiceFormat").cb1[0].checked ){
            contents = contents + "<td class='htd'>Quantity</td>";
        }if (document.getElementById("invoiceFormat").cb1[1].checked ){ 
            contents = contents + "<td class='htd'>Description</td>";
        }if (document.getElementById("invoiceFormat").cb1[2].checked ){ 
            contents = contents + "<td class='htd'>Unitary Price</td>";
        }if (document.getElementById("invoiceFormat").cb1[3].checked ){ 
            contents = contents + "<td class='htd'>Subtotal</td>";
        }

        for (i=4; i<=k; i++){
            if (document.getElementById("invoiceFormat").cb1[i].checked ){
                contents = contents + "<td>" + document.getElementById("invoiceFormat").cb1[i].value + "</td>";
            }
        }


        contents = contents + "</tr>";

        for (j=1; j<=rows; j++){
            contents = contents + "<tr>";
            for (l=0; l<=k; l++){
                if (document.getElementById("invoiceFormat").cb1[l].checked ){
                hotfix = l +1;
                contents = contents + "<td> <input id='cell" + j + "_" + hotfix + "' name='cell' type='text' size='15' /> </td>";
                }
            }
            contents = contents + "</tr>";
        }

        contents = contents + "</table>";
        var createdTable = document.getElementById("mainTable");
        createdTable.innerHTML = contents;  

    }
创建后,我尝试访问它,但到目前为止运气不佳,我无法获取用户在创建的输入字段中输入的内容。我该怎么做


我将原始javascript与jQuery一起使用,因此欢迎回答带或不带库的问题:

document.getelementbyidiVoiceFormat.cb1[3]。选中 首先,我不知道.cb1[3]在这里是什么意思,所以我将忽略它,并告诉您如何解决这个问题:我假设invoiceFormat是您表单的id。 1在表单中设置每个字段的name属性。通过这种方式,您可以像document.getelementbyidiovoiceformat.fieldName.value一样访问它们

如果要使用此方法,请确保将表单放入局部变量中。速度会快得多

var form = document.getElementById("invoiceFormat");
form.fieldName.value;
2为每个字段指定一个唯一的id,只需在字段上直接使用getElementById,而不是在表单上。 如果这种方法更好,我不会起诉,但我一直在使用第二种方法。我想我只是习惯了

还有一个办法,但可能是杀伤力过大。创建表单字段时,可以将它们放在对象中,而不是值,而是元素本身,甚至可以将其隐藏在对象中。这样你就可以称之为

formElements.formFieldOne.value;