gpt4 book ai didi

yii2 中的 JavaScript 没有响应

转载 作者:行者123 更新时间:2023-11-28 05:34:12 24 4
gpt4 key购买 nike

我是一名新的 yii 开发者。我想列出我的数据库,然后在所有元素旁边放置一个按钮,然后当 clinet 单击按钮时,计算机会向我显示所有详细信息。这是我的 View 文件:

<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的nse。请指导我!

最佳答案

您的 View 文件中需要进行一些更正:

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();

关于yii2 中的 JavaScript 没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39484069/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com