php - 如何在 javascript 和 php 之间协作

标签 php javascript

我正在单个页面上调用图像库的 javascript 和 php。 让我向您展示一些代码以使事情变得清楚:

PHP

echo "<form method = post action = 'user_submit.php'>";

// get possible answers using question ID
$query = "SELECT aid, atitle FROM answers WHERE qid = '$qid' ORDER BY aid ASC";
$result = mysql_query($query) or die("ERROR: $query.".mysql_error());

if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_object($result)) {
echo "<div id=captionbox style='width: 110px;float:left;color:#FFF;text-align:center;'>";
echo "<a href='#' class='thumb' ><img class='thumb-img' src='images/roadies/th".$row->aid.".jpg' /> </a>";
echo "<input  type = hidden name = aid id = rd".$row->aid." value = ".$row->aid.">".$row->atitle."</input>";
        echo "</div>";
                    }

echo "<input type = hidden name = qid value = '".$qid."'>";
echo "<br/>";
echo "<input type = submit name = submit value = 'Vote!'>";
                }

  echo '</form>';

}

上面的代码获取对象 ID 并相应地放置 jpeg 图像(缩略图)。 现在,当我单击这些缩略图时,JavaScript 将打开一个覆盖层以显示大版本。我想将 $row->aid 的值传递给 javascript。

然后,我想从 javascript 填写一个表单,并将 $row->aid 和表单传递给 user_submit.php 以将其添加到数据库中。

我是 php 新手。请帮帮我。

最佳答案

您可以将变量、对象或数组文字声明写入 javascipt 文件或 <script> HTML 文件中的元素,正如 kiamlaluno 正确所说的那样。但我建议,(1)使用 var关键字和 (2) 考虑使用单独的命名空间。

如果您有几件事要告诉 JS,将它们放入 PHP 哈希和 json_encode() 中会很方便。然后将编码后的字符串写入输出。这负责命名空间和数据的正确转义。例如:

<?php
$jsdata = array(
    'this' => "It\"s gone.\nWhat?",
    'that' => array(1,3,2),
    'another' => 0x2f );
$jsdata = json_encode($jsdata);
?>
<html>
<head></head>
<body>
<script type="text/javascript">
    var thedata = <?php echo "$jsdata;" ?>
    window.console.log(thedata);
</script>
</body>
</html>

尝试一下并查看 JavaScript 控制台,看看它是否有效。

编辑:我喜欢这种方法的另一个原因是因为您可以使用 PHP 的数组处理便利性来构造任意复杂的 $jsdata同时不用担心转义问题,只消耗一个全局 JS 对象名称。

关于php - 如何在 javascript 和 php 之间协作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1934820/

相关文章:

javascript - 使用php使用json发送联系信息失败

javascript - 滚动到聊天窗口的底部

javascript - 如何在 mxgraph 中固定拖动步骤

javascript - 随着时间的推移改变三 Angular 形 div 的颜色

php - 解析错误: syntax error, unexpected '[' when uploaded into the hosting server [closed]

php - Laravel Eloquent Dirty 检查碳日期

php - 更新 SQL 多行,删除字符串的一部分

php - Docker:--link tag:db 和--link tag:mysql 有什么区别

php - 计算数据库列文本值 - Laravel

javascript - 两个具有相同操作的提交按钮,其中一个为同一表单添加了功能/操作