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