我正在动态创建3个发送查询按钮,其中3个隐藏字段具有不同的值。当我单击发送查询按钮时,我始终获得相同的隐藏字段值而不是不同的值。这是我的代码:
<html>
<head>
<script>
function f1()
{
var val1 = document.getElementById('para1');
var val2 = document.getElementById('really').value;
val1.innerHTML = val2;
}
</script>
</head>
<body>
<?php
mysql_connect('localhost', 'root', '');
mysql_select_db('advertising site');
$selectquery = "select * from business_ads";
$result = mysql_query($selectquery) or die(mysql_error());
$resultrows = mysql_num_rows($result);
while($row = mysql_fetch_array($result))
{
$companyname = $row['company_name']; ?>
<p id="company_name" name="company_name"><?php echo $companyname ?></p>
<input type="hidden" name="hidden_company_name" value="<?php echo $companyname ?>"id="really">
<input type="button" name="send_enquiry" id="send_enquiry" value="Send Enquiry" onclick="f1();">
<?php } ?>
<p id="para1"></p>
</body>
</html>
答案 0 :(得分:0)
编辑:
在不更改当前代码的情况下,您可以使用getElementsByName
函数通过javascript访问元素,该函数将返回包含具有相同名称的元素的数组。 (如果你给了他们唯一的ID,你可以通过getElementById
找到它们,它们会稍微快一些,并且可以向后兼容旧版浏览器 - 页面上的每个ID都应该是唯一的,这样你就可以了。用它来选择具有相同ID的多个元素
用法:
var companyarray = document.getElementsByName('hidden_company_name');
companyarray.forEach(function(element) {
//do something with each element
alert(element.value);
});