我有一堆图像名称正在从我的数据库中检索并处于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?
答案 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。