我有一個下拉選擇列表和一個按鈕,其中我插入了一個onclick事件,以便每當有人點擊該按鈕時它將調用一個基本包含一個Ajax和執行它時將包括一個PHP文件。在我的php文件中,它將從選定的下拉列表中獲取值,然後它將顯示一個警報選項,但它不顯示任何警報。當在ajax中包含php文件時,Javascript不起作用
下面是我的代碼: -
<html>
<head>
<script>
function showUser(str)
{
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","user.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>
<form>
<select name="users1" onchange="showUser(this.value)">
<option value="">Select a person:</option>
<option value="1">Peter Griffin</option>
<option value="2">Lois Griffin</option>
<option value="3">Glenn Quagmire</option>
<option value="4">Joseph Swanson</option>
</select>
</form>
<br>
<div id="txtHint"><b>Person info will be listed here.</b></div>
</body>
</html>
user.php的
<?php
$q=$_GET["q"];
if($q ==1)
{
echo '<script type="text/javascript">
alert("Hello")
</script>';
}
else {
echo "No";
}
?>
任何幫助將是非常讚賞,並感謝您的幫助提前:)
你能看到' user.php?q = 1'在地址欄中? – Amir 2013-03-16 09:16:56
不,我無法在我的地址欄中看到它bcoz user.php通過ajax加載,這就是爲什麼頁面不刷新 – 2013-03-16 09:19:07
請參閱http://stackoverflow.com/questions/2067472/what-is-jsonp-all上的第二個答案 - 大概 - 它解釋了你需要做的一切。 – 2013-03-16 09:21:46