getElemetById 总是返回第一个对象,我如何获取其他值


getElemetById always return first object, how i can get other values?

ajaxRequest.onreadystatechange = function(){
  if(ajaxRequest.readyState == 4){
     var ajaxDisplay = document.getElementById('detail');
     ajaxDisplay.innerHTML = ajaxRequest.responseText;
     }
  }
  var prezime = document.getElementById('form1').getAttribute('value');
  var queryString = "?prezime=" + prezime ;

.PHP

echo '<input type="text" id="form1" class="button1" value="'. $row["prezime"] .'" 
name="'. $row["prezime"] .'" onclick="ajaxFunctionII()" >';
echo("</form>");

Id总是unique one element,你不应该对多个元素使用相同的id。即使你使用,getElementById 也会只选择 DOM 找到的第一个元素,它不会查找任何其他元素。

利用nameclass,并使用这些元素使用getElementsByNamegetElementsByClassName

参考

具有相同 ID 的多个元素是错误的、无效的,并且会导致问题。别这样。

为每个元素提供不同的 ID,如果您想将它们放在"组"中,请给它们一个name

要按名称获取元素集合,请执行以下操作:

var arrButtons = document.getElementsByName("detail");
ajaxDisplay = arrButtons[1];
ajaxDisplay.innerHTML = ajaxRequest.responseText;

在上面,您将分配第二个按钮。

理想情况下,我们应该在 DOM 中只有一个元素,具有任何给定的 id 值。

您可以尝试document.getElementsByTagNamedocument.getElementsByName

如果你使用的是jQuery,它应该非常简单$('#id') or $('.classname')它将返回所有匹配的元素。

你应该使用class而不是id.同样的问题在给定的链接上得到解决,请检查一下。

按 Id 获取多个元素