如何使用javascript从循环中的字段获取信息

时间:2012-10-16 19:56:57

标签: php javascript mysql

我有一堆图像名称正在从我的数据库中检索并处于while循环中。在这个循环中,我有一个带有图像名称的小表单。此表格用于其他目的。我想要的是将项目名称的字段信息获取到javascript。

示例:

while($row = mysql_fetch_array($query)) { 
    $itemname = $row['name'];
    echo "< input type='hidden' name='$itemname' value='$itemname'>
    <img src='source' onclick='getname()'  width='100%' height='100%' />"; 
}

我相信我点击的每个图片只给我数据库中的第一个信息是因为我的id被复制了。我的问题是如何在不使用getElementById的情况下将字段信息提供给javascript?

2 个答案:

答案 0 :(得分:2)

使用以下更改的PHP:

$i = 0;
while($row = mysql_fetch_array($query)) { 
    $itemname = $row['name']; 
     echo "<input type='hidden' name='".$itemname."[]' id='input$i' value='$itemname' />";
     echo "<img src='source' onclick=\"getname('input$i')\" width='100%' height='100%' />"; 
     $i++;
}

然后您可以在Javascript中检索输入值:

 function getname(id) {
   var theinput = $('#'+id).val(); // jQuery example
   // do something

(我还将输入名称更改为数组,您可以将其命名为您想要的名称,也许$itemname$i可能是一个想法,这取决于您是否以及是否要处理表单,但是名称应该是唯一的或数组用于良好实践)

以下是HTML / JS的一个工作示例:http://jsfiddle.net/fuHSv/1/

答案 1 :(得分:0)

如何使用jQuery 1.8.2如下:

$(document).ready(function() {
    var inputs = $('input').on('click', function() {
        var name = $(this).attr('name');
        var val = $(this).val();
        // do stuff
    });
});

有关详情,请参阅api.jquery.com