Php 如何使用javascript从循环中的字段获取信息
我有一堆从数据库中检索的图像名称,它们处于一个while循环中。在这个循环中,我有一个带有图像名称的小表单。此表格正用于其他目的。我想要的是将带有项目名称的字段信息发送到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($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
});
});