繁体   English   中英

yii2中的Javascript没有响应

[英]Javascript in yii2 is not responding

我是一个新的yii develeper。 我想列出我的数据库,然后在我的所有元素旁边放一个按钮,然后当clinet点击按钮时,计算机显示所有细节。 这是我的视图文件:

<h1> پایگاه داده ما </h1>
<script>
    function showUser(Id) {
        var xmlhttp;
        if (Id == 0) {
            document.getElementById("showmore").innerHTML = "Test";
            return;
        }
        if (window.XMLHttpRequest)
        {
            //  IE7+, Firefox, Chrome, Opera, Safari   کد لازم براي مرورگر هاي جديد
            document.getElementById("showmore").innerHTML = "Test2";
            xmlhttp = new XMLHttpRequest();

        }
        else
        {
            //  IE6, IE5         کد براي مرورگرهاي قديمي
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }

        xmlhttp.onreadystatechange = function  ( )
        {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
            {

                document.getElementById("showmore").innerHTML = xmlhttp.responseText;
            }
        }

        xmlhttp.open("GET", "localhost/datils.php?q=" + Id, true);
        xmlhttp.send ( );
    }
</script>
<style>
    span
    {
        color: white;
    }

</style>
<?php
use yii\widgets\LinkPager;
echo '<br>';
foreach($show as $k =>$v)
{

$Id= $v['id'];
//$Id=0;
    echo $Id.".";
    echo $v ['countryName'];
    echo '<ul>';

    echo '<li> پایتخت :';
    echo $v ['capital'];
    echo '</li>';

    echo '<li>'.'جمعیت :';
    echo '<span >i</span>'.(string)$v['population'];

    echo '</li>';

    echo '</ul>';
    echo "<button value=$Id , onclick=showUser(this.value)>More</button>";
    echo "<div id=showmore>   </div>" ;
    echo '<hr>';
}
echo LinkPager::widget([
    'pagination'=>$page
]);
?>

这是我的datils.php文件:

<?php


   $q=$_GET["q"];    


   //   این دستور مقدار پارامتر ارسالی از دستور ای جکس را دریافت می کند

    $con = mysqli_connect("localhost", "root" , '' ,'mydatabase1');             // ایج اد ارتباط با پایگاه داده مورد نظر   



    if ($con->connect_error) 
    {
        die("Connection failed: " . $con->connect_error);
    } 


    $sql="SELECT * FROM countries WHERE id = '".$q."'";              //    q    دریافت اطلاعات از جدول مورد نظر بر مبنای پارامتر 


    $result = mysqli_query($con,$sql);           //         result     ریختن نتیجه عملیات انتخاب اطلاعات از پایگاه داده در متغیر


    echo "<table border='1'>
         <tr>
              <th>countryName</th>
              <th>currencyCode</th>
              <th>population</th>
         </tr>";

     while($row = mysqli_fetch_array($result))           //    ساخت جدول در خروجی با نتیجه دریافتی از پایگاه داده
          {
                    echo "<tr>";
                        echo "<td>" . $row['countryName'] . "</td>";
                        echo "<td>" . $row['currencyCode'] . "</td>";
                        echo "<td>" . $row['population'] . "</td>";
                    echo "</tr>";
           }
      echo "</table>";

      mysqli_close($con);   /* //       قطع ارتباط با پایگاه داده*/
?>

我的问题是这不起作用! 这条线

 document.getElementById("showmore").innerHTML = "Test2";

工作正常,这意味着我的功能正常,但它没有响应。

来自details.php。 请指导我!

您的视图文件中需要进行少量更正:

1.代替

echo "<button value=$Id , onclick=showUser(this.value)>More</button>";

采用

echo "<button value='$Id' onclick='javascript:showUser(this.value)'>More</button>";

2.代替

xmlhttp.send ( );

它应该是

xmlhttp.send();

暂无
暂无

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

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