0

PHPにループがあります。<input type="hidden" id="lol" value=$id />

ループが通過するたびに、理解できるように、非表示の入力フィールドに新しい値が表示されます。

今、私はこれらの各アイテムから値を取得し、JavascriptとSAJAXで取得しようとしています。使用しているjavascriptimが機能するようになりましたが、!最初の値のみを取得します(IDは各入力で同じであるため)

Javscript:

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

ご覧のとおり、JavaScriptを使用してPOPUPを開き、値をそのポップアップウィンドウにエクスポートします。

したがって、すべてのポップアップで同じ値(最初の入力からの値)を取得します。

この問題を回避するにはどうすればよいですか?

4

2 に答える 2

5
  1. IDを名前に変更
  2. document.getElementsByNameを使用してループします
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(","));
于 2012-08-01T13:24:25.033 に答える
2

getElementById1つのアイテムのみを返すため、要素ではなく要素を言います。ユニークなはずです。あなたは次のような効果をもたらすことができます: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;
    }
}
于 2012-08-01T13:25:07.067 に答える