2016-09-14 30 views
1

我是一個新的yii develeper。 我想列出我的數據庫,然後把一個按鈕旁邊的所有元素,然後當clinet點擊按鈕時,計算機顯示我的所有細節。 這裏是我的視圖文件:yii2中的Javascript沒有響應

<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"; 

工作正常,這意味着我的功能正在工作,但它沒有迴應。

nse from details.php。 請指導我!

回答

0

一些修改需要在你的視圖文件:

代替

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

使用

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

2.代替

xmlhttp.send (); 

它應該是

​​