2012-04-06 52 views
0

我创建图像的动态列表,以下是代码如何让图片ID

<?php 
for ($counter = 0; $counter < $obj1->id; $counter ++) 
{ ?> 
<tr><td> Week <?php echo($counter+1); ?> 
</td><td><?php echo" <a href=\"#hiddenDiv\" rel=\"facebox\";>";?> 
<img src="tue.png"/ id="image" value="<?php echo $counter+1;?>" > 
</a></td></tr> 
<?php } ?> 

当用户单击窗体打开图像上。每个图像代表一周,所以我需要唯一标识用户在哪一周插入数据。我需要通过该图像的身份证件来识别一周。 在单击图像下面的函数被调用

function pc(){ 
var temp = document.getElementById("image"); 
alert(temp.value); 
} 

但我得到“未定义”。有人可以帮助我吗?

感谢

在此先感谢

+0

当你得到它的ID应该是这样的变种临时=的document.getElementById(“像你有问题“); – Altrim 2012-04-06 14:52:28

+0

如果你想用传递给函数的参数'getElementById'的ID,那么你需要减肥的报价...'的getElementById(ID)'... – keithhatfield 2012-04-06 14:53:52

+0

后生成的HTML,而不是产生PHP它。另外,函数pc在哪里被调用? – j08691 2012-04-06 14:55:31

回答

-1

你必须通过标签的ID。像document.getElementById("image").

function pc(id){ 
var temp = document.getElementById("image"); 
alert(temp.value); 
} 
+2

这怎么解决什么? OP生成了一堆具有相同ID的图像。这个问题必须先解决。 – jfriend00 2012-04-06 15:13:08

2

你会发现,我改变了ID的img标签,这意味着每一个新的形象将有电流计的ID。

我还添加了一个onclick事件的联系,并通过在柜台的js函数。

<?php 
for ($counter = 0; $counter < $obj1->id; $counter ++) 
{ ?> 
<tr><td> Week <?php echo($counter+1); ?> 
</td><td><?php echo" <a href=\"#hiddenDiv\" onclick=\"pc(<?php echo $counter;?>)\" rel=\"facebox\";>";?> 
<img src="tue.png"/ id="<?php echo $counter;?>" value="<?php echo $counter+1;?>" > 
</a></td></tr> 
<?php } ?> 

此外,删除围绕“ID”的行情在你的js函数:

 

    function pc(id){ 
    var temp = document.getElementById(id); 
    alert(temp.value); 
    } 

+0

你应该解释一下你与模板的变化做什么来为每个图像的唯一ID。 – jfriend00 2012-04-06 15:12:15

+0

好点,一秒钟,我会更新。 – 2012-04-06 15:18:25

+0

只是为了让事情变得简单我正在这样做 和在JS函数中,我在做这个 函数pc(){ var temp = document.getElementById(“image”); alert(temp.value); } 它仍然没有工作 – talhaMalik22 2012-04-06 15:19:16