Javascript在同一个ID上有多个值

时间:2012-08-01 13:19:24

标签: php javascript sajax

我在php中有一个回显<input type="hidden" id="lol" value=$id />

的循环

每次循环通过时,我都会在隐藏的输入字段中获得一个新值。您可以理解。

现在,我试图从每个项目中获取值,并使用Javascript和SAJAX获取它。 现在使用的javascript工作,但是!它只抓取第一个值(因为每个输入的ID都相同)

Javscript:

function Showbooking() {
    id = document.getElementById('lol').value;
    x_showBookingForm(id, do_showBookingForm);
}
function do_showBookingForm(html) {
    openPopup(600, 550, html);
}

正如你所看到我用javascript打开一个POPUP并将该值导出到该弹出窗口。

因此,在每个弹出窗口中,我得到相同的值(第一个输入的值)。

我如何解决这个问题?

2 个答案:

答案 0 :(得分:5)

  1. 将ID更改为名称
  2. 使用document.getElementsByName和loop
  3. var lols = document.getElementsByName("lol");
    var vals=[];
    for (var i=0, n=lols.length;i<n;i++) {
      vals.push(lols[i].value);
    }
    alert(vals.join(","));
    

答案 1 :(得分:2)

getElementById元素而不是元素,因为它只返回一个项目。 id应该是唯一的。你可以做一些事情:

var inputs = document.getElementsByTagName("input");
var values = [];
for(var i=0;i<inputs.length;i++){
    if(inputs[i].type === "hidden"){
        values.push(inputs[i].value;
    }
}