javascript - Variable和那个值如何在PHP->HTML->JS->PHP的循环中自由移动

标签 javascript php html

我正在添加每篇 XML-RSS 文章的评论输入框。 当我选择 RSS 网址时,结果通常如下

PHP 代码

for ($i=0; $i<=19; $i++) {
  $item_title=$x->item($i)->getElementsByTagName('title')
  ->item(0)->childNodes->item(0)->nodeValue;
  $item_link=$x->item($i)->getElementsByTagName('link')
  ->item(0)->childNodes->item(0)->nodeValue;
  $item_desc=$x->item($i)->getElementsByTagName('description')
  ->item(0)->childNodes->item(0)->nodeValue;
  $item_date=$x->item($i)->getElementsByTagName('pubDate')
  ->item(0)->childNodes->item(0)->nodeValue;

  echo ("<p><a href='" . $item_link
  . "' target=\'_blank\'>" . $item_title . "</a>");
  echo ("<br>");
  echo ($item_desc . "<br>".$item_date."</p>");

  $item_link1 = str_replace('http://','',$item_link);
  $item_link2 = str_replace('https://','',$item_link1);
  $item_link3 = str_replace('/','-',$item_link2);
  $item_link4 = str_replace('?','-',$item_link3); 

  $content = $item_title."--". $item_link."--".$item_desc."--".$item_date;   
  file_put_contents("./comments/".$item_link4.".txt",$content);

  //Next line is something wrong or not??
  echo "<option id=".$item_link4." onclick=\"showComment(this.value)\" value=".$item_link4."> Show Comments </option> <div id=\"".$item_link."\"></div>";  

接下来,我可以看到如下图所示的结果。 enter image description here

我正在编写具有 showComment 函数的 JS,如下所示。

 function showComment(str) {
    if (str.length == 0) { 
        document.getElementById(""+item_link4+"").innerHTML = "";
        return;
     } else {
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                document.getElementById(""+item_link4+"").innerHTML = this.responseText;
            }
        };

         var q = document.getElementById(""+item_link4+"").value;
        xmlhttp.open("GET", "showComment.php?q=" + q, true);
        xmlhttp.send();
     }
    }

接下来,我将如下所示对 showComment.php 进行编码以查看“q”值。 但, 注意:E:\xampp\htdocs\code\v1\showComment.php 第 5 行中未定义索引:q。

第一部分如下。

// line 5 is $q = html... 
$q = htmlspecialchars($_GET['q']);
global $result;
echo $q;

最终,我在收到 item_link4 的 JS 代码中出现了问题 如何更改源自 php-HTML 代码的 JS 变量? 请您多多关照。

最佳答案

我已经尝试过很多次了。最终我取得了向更好的方向迈进的好成绩。 PHP 代码是

 echo " <option  id=".$i." onclick=\"showComment".$i."(this.value)\" value=".$item_link4."> Show Comments </option>";  

enter image description here

我更改了 JS 代码,如下所示。

<script>
    function showComment0(str) {
if (str.length == 0) { 
    document.getElementById("0").innerHTML = "";
    return;
 } else {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            document.getElementById("0").innerHTML = this.responseText;
        }
    };

     var q = document.getElementById("0").value;
    xmlhttp.open("GET", "showComment.php?q=" +q, true);
    xmlhttp.send();
 }
}
</script>
    ....

  <script>
    function showComment22(str) {
if (str.length == 0) { 
    document.getElementById("22").innerHTML = "";
    return;
 } else {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            document.getElementById("22").innerHTML = this.responseText;
        }
    };

     var q = document.getElementById("22").value;
    xmlhttp.open("GET", "showComment.php?q=" +q, true);
    xmlhttp.send();
 }
}
</script>
  <script>
    function showComment23(str) {
if (str.length == 0) { 
    document.getElementById("23").innerHTML = "";
    return;
 } else {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            document.getElementById("23").innerHTML = this.responseText;
        }
    };

     var q = document.getElementById("23").value;
    xmlhttp.open("GET", "showComment.php?q=" +q, true);
    xmlhttp.send();
 }
}
</script>

所以我制作了Id 0到18的脚本。即,需要19个脚本。 我正在等待更好的答案。

关于javascript - Variable和那个值如何在PHP->HTML->JS->PHP的循环中自由移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50181624/

相关文章:

java - 使用 Java 提取 HTML 标签

javascript - 调用 Javascript 内部函数

javascript - 调用 Javascript 函数后的括号是做什么用的?

javascript - 有没有办法用 Javascript 阻止 HTTP 请求?

php - 对字谜解算器实现空白平铺搜索的最佳实践

php - 将 MySQL 解析为 JSON 数组,并在 PHP 中进行数据操作

javascript - Tomcat WebSocket 中的 "Failed to decompress a compressed WebSocket frame"错误

php - javascript 或 jquery 中的函数,如 php 中的 nl2br

javascript - 调用特定类实例中方法的 HTML 按钮无权访问实例值

php - 数据库行更新失败,PHP 没有任何错误