繁体   English   中英

从回显的 php 传递数据

[英]Passing data from an echoed php

我目前正在尝试将数据从我的服务器传递到我的主页。 我目前有我的 php 回显每个返回的结果:

while($row = mysql_fetch_array($result))
{
    echo "<img class='s' id=" . $row['id'] . " src=QR/" . $row['src'] ".png>";

}

当我尝试在 id 之后添加一个字段 num 时:

<img class='s' id=(rowid) num=".$row['num']." .......

我使用时不确定

alert(this.num)

alert(this.id)

作品。 我怎样才能传递 num 值呢?

编辑:

嘿大家,谢谢你的帮助,我已经包含了一个关于我如何解决这个问题的jsfiddle。 http://jsfiddle.net/3yzcx/4/

我不得不使用 jQuery 和 used.attr() 来定义我自己的名为 num 的属性并将其调用。

很简单。 idimg标签的有效属性。 num不是。 您不能将任意属性分配给标签并期望它起作用。

如果您想将 PHP 数据传递给 javascript,请使用隐藏的表单元素或更简单的方式:

<?php
echo '<script type="text/javascript">';
echo 'var num = ' . $num . ';';
echo '</script>';
?>

当然我知道你在循环中,这只是一个例子。 你可以很容易地把它变成一个数组或其他东西。

添加属性不起作用。 您需要在<div>中添加<input type=hidden value='num'>或其他内容,其中num是您的数字数据。 您还需要通过给它一个 ID 来使输入字段可寻址:

echo("<input type=hidden id=\"$row[id]-num\" value='num'>");

此外,我看到一个结束div标记,但没有开始标记。 你会想要解决这个问题!

从技术上讲,您不应该分配自定义属性。 由于讨论了数据前缀,Jcolebrand 的原始帖子值得一票。 但是,即使它在技术上不正确,您也应该能够使用 getAttribute() function 获取该值。

this.getAttribute("num");

这将在 Firefox 中工作,但在其他浏览器中不能保证。

我没有在 jQuery 之外尝试过这个,但在那个框架内你会使用

alert(this.attr("num"));

检索非标准属性。 也可以与普通的 javascript 一起使用,但我还没有尝试过。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM