Php Javascript在同一ID上有多个值
我在php中有一个循环,它回显一个Php Javascript在同一ID上有多个值,php,javascript,sajax,Php,Javascript,Sajax,我在php中有一个循环,它回显一个 每次循环通过时,我都会在隐藏的输入字段中得到一个新值,这一点您可以理解 现在,我试图从每个项目中获取值,并使用Javascript和SAJAX获取它。 我现在使用的javascript可以工作了,但是!它只获取第一个值(因为每个输入上的ID相同) 脚本: function Showbooking() { id = document.getElementById('lol').value; x_showBookingForm(id, do_sho
每次循环通过时,我都会在隐藏的输入字段中得到一个新值,这一点您可以理解
现在,我试图从每个项目中获取值,并使用Javascript和SAJAX获取它。
我现在使用的javascript可以工作了,但是!它只获取第一个值(因为每个输入上的ID相同)
脚本:
function Showbooking() {
id = document.getElementById('lol').value;
x_showBookingForm(id, do_showBookingForm);
}
function do_showBookingForm(html) {
openPopup(600, 550, html);
}
正如您所见,我也用javascript打开了一个弹出窗口,并将值导出到该弹出窗口中
所以每次弹出窗口我都会得到相同的值(第一次输入的值)
我该如何避开这个问题
var-lols=document.getElementsByName(“lol”);
var VAL=[];
for(var i=0,n=lols.length;igetElementById
表示元素而不是元素,因为它只返回一个项。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;
}
}
var inputs=document.getElementsByTagName(“输入”);
var值=[];
对于(var i=0;如果“id”属性存在,则该属性在页面上必须是唯一的。也就是说,您不能共享“id”值。如果您想要“分类”元素的效果,可以使用“class”属性。如果您不增加循环中的值,它怎么会不一样呢?您是想使用$id[$i]
或其他类似变量?不,我没有使用$id。$i。我试图获得有关如何解决此问题的帮助。这可能是一个解决方案,但是否有其他方法?@oBo您正在尝试做一些明确定义为导致未定义、不可预测行为的事情。如果您做其他事情,事情会变得更好:-)如果使用“class”属性,则可以使用.getElementsByClassName()
(在现代浏览器中)…或者按照mplungjan的建议使用“name”属性。小心使用name
对非无线电输入进行分组。iirc,name
是用来识别已发布数据的。当然,如果您不关心从服务器端获取这些内容,这并不重要……但可能值得一提。当我使用name或Classname时,我会得到未定义的值。id=document.getElementsByClassName('lol')。值;
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;
}
}