Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用javascript从循环中的字段获取信息_Php_Javascript_Mysql - Fatal编程技术网

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

Php 如何使用javascript从循环中的字段获取信息,php,javascript,mysql,Php,Javascript,Mysql,我有一堆从数据库中检索的图像名称,它们处于一个while循环中。在这个循环中,我有一个带有图像名称的小表单。此表格正用于其他目的。我想要的是将带有项目名称的字段信息发送到javascript 例如: while($row = mysql_fetch_array($query)) { $itemname = $row['name']; echo "< input type='hidden' name='$itemname' value='$itemname'>

我有一堆从数据库中检索的图像名称,它们处于一个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%' />"; 
}
while($row=mysql\u fetch\u array($query)){
$itemname=$row['name'];
echo“
"; 
}

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

使用以下修改过的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++;
}
(我还将输入名称更改为数组,当然,您可以根据需要对其命名,也许
$itemname$I
可能是一个想法,这取决于您如何处理表单,以及您是否希望处理表单,但是名称应是唯一的或数组,以获得良好的实践)


下面是一个HTML/JS的工作示例:

使用一些jQuery 1.8.2怎么样,如下所示:

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

有关详细信息,请参阅。

这不起作用。当我将名称添加为数组时,我收到一个错误(解析错误:语法错误,意外的“]”,在第119行的C:\xampp\htdocs\member\products.php中需要T_字符串或T_变量或T_NUM_字符串)。如果没有作为数组的名称,它什么也做不了。@Bryan正确,你不能创建这样的输入数组。我在上面的例子中改变了它。这里还添加了一个生成HTML的示例和一个工作的JS示例:我已经做了这个调整,但仍然不工作。当我看你的例子时,我注意到所有的id都是不同的。示例中的项目不在循环中。我的问题是获取循环中的信息。@Bryan在JSFIDLE中,不可能模拟服务器端脚本。相反,我只是生成了一个类似的结果代码,但是项目的数量可以是任意长度,并且仍然有效。您的PHP循环仍然是相同的。您是否有任何错误,哪些不起作用?我现在可以看到您的更新代码了吗?谢谢您的示例。唯一的一点是,对于“onclick=\”getname('input$I')\“,我将更改为“onclick=\”getname('.input$I.)\”,这很有效……谢谢大家!实际上,您的字段在上述代码中不包含id。
$(document).ready(function() {
    var inputs = $('input').on('click', function() {
        var name = $(this).attr('name');
        var val = $(this).val();
        // do stuff
    });
});