2016-03-12 2 views
2

У меня есть страница php, которую я хочу дать динамически из выпадающего списка, который я выбираю. Подробная информация о выбранном параметре сохраняется в базе данных. Таким образом, в основном, чтобы получить детали из БД динамически, когда я выбираю вариант.предупреждение (статус) в javascript всегда приводит к нулю

Первая страница, откуда я выбора данных (здесь данные являются события)

<form name="ParticularFest" action="" method="post"> 
<table align="center"> 
<tr> 
<tr><td><br/></td></tr> 
<td><h4>Fest Name: </h4></td> 
<td> 
<select name="EventId" id="EventId" onchange="javascript: return ParticularValidate();"><option>Select Event</option> 
<?php 
$sql="Select EventName,MEventId from Tbl_Main where Status=0 and CategoryId=1"; 
$stmnt=sqlsrv_query($conn,$sql); 
while($row = sqlsrv_fetch_array($stmnt,SQLSRV_FETCH_BOTH)) 
{ 
echo'<option value="'.$row["MEventId"].'">'.$row["EventName"].'</option>'; 
} 
?> 
</select> 
</td> 
</tr> 
</table> 
<div id="display"></div> 
</form> 
<script type="text/javascript"> 
function ParticularValidate() { 
    var errorMessage = null; 
    var MEventId = document.ParticularFest.EventId.value 
    var status = null; 
    if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp = new XMLHttpRequest(); 
    //alert("firefox"); 
    } else { // code for IE6, IE5 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange = function() { 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
     status = xmlhttp.responseText; 
     document.ParticularFest.display.innerHTML = status; 
    } 
    } 
    xmlhttp.open("GET", "ParticularValidate.php?MEventId=" + MEventId, true); 
    xmlhttp.send(); 
} 

</script> 

Следующая страница является тот, к которому я перенаправлении, то есть ParticularValidate.php

<?php 
include_once("Db.php"); 
$MEID=$_REQUEST['EventID']; 
$obj=new Db; 
?> 
<table align="center"> 
<tr> 
<th width="200" align="center"><br/><h3><b>Program Name</b></h3></th> 
<th width="340" align="center"><br/><h3><b>Name</b></h3></th> 
<th width="200" align="center"><br/><h3><b>Mobile No.</b></h3></th> 
<th width="200" align="center"><br/><h3><b>Email</b></h3></th> 
<th width="200" align="center"><br/><h3><b>College Name</b></h3></th> 
<tr><td><br></td></tr> 
</tr> 
<?php 
$sql="select distinct na.ProgramName,ma.Name,ma.Mob,ma.Email,ma.CName from Tbl_Main as sa inner join Tbl_UserProgram as ra on sa.MEventId=ra.EventId inner join Tbl_UserReg as ma on ma.UserId=ra.UserId inner join Tbl_Program as na on ra.PgmId=na.ProgramId and sa.MEventId='$MEID'"; 
$stmnt=sqlsrv_query($conn,$sql); 
while($row = sqlsrv_fetch_array($stmnt,SQLSRV_FETCH_BOTH)) 
{ 
echo 
'<tr align="center"> 
<td>'.$row["ProgramName"].'</td> 
<td>'.$row["Name"].'</td> 
<td>'.$row["Mob"].' </td> 
<td>'.$row["Email"].'</td> 
<td>'.$row["CName"].'</td> 
<tr><td><br></td></tr> 
</tr>'; 
} 
?> 
</table> 

Оба сохраняются как .php

Данные, полученные из БД (запрос выбора), отлично работают в запросе БД.

Всегда статус null.

Я попытался выяснить, является ли состояние выборкой данных, является ли это просто частью дисплея, что является проблемой. Но всегда результат к ним - Null. Я в них нуб, поэтому, пожалуйста, бросьте мне предложения.

Благодарю вас заранее.

Edit 1: Я пытался проверить это:

var MEventId=document.ParticularFest.EventId.value 

является получение MEventId, и это да. Он также отправляет MEventId. Проблема, похоже, находится на второй странице php. Я не получаю никакого возврата с этой страницы. (Я попробовал оповещение (статус) почти везде на первой странице php, и он показывает, что Null всплывает всегда: D)

Редактировать 2: Это делается на локальном хосте. Это мини-проект колледжа

+1

'OnChange = "JavaScript: возвращение ParticularValidate();"' 'должны быть OnChange = "ParticularValidate();"' –

+0

Нет, это все та же. – Albirt

ответ

0

ваше предупреждение происходит немедленно, прежде чем запрос завершится.

Попробуйте что-нибудь подобное.

<script type="text/javascript"> 
(function() { 
    var httpRequest; 
    document.getElementById("ajaxButton").onclick = function() { makeRequest('test.html'); }; 

    function makeRequest(url) { 
    httpRequest = new XMLHttpRequest(); 

    if (!httpRequest) { 
     alert('Giving up :(Cannot create an XMLHTTP instance'); 
     return false; 
    } 
    httpRequest.onreadystatechange = alertContents; 
    httpRequest.open('GET', url); 
    httpRequest.send(); 
    } 

    function alertContents() { 
    if (httpRequest.readyState === XMLHttpRequest.DONE) { 
     if (httpRequest.status === 200) { 
     alert(httpRequest.responseText); 
     } else { 
     alert('There was a problem with the request.'); 
     } 
    } 
    } 
})(); 
</script> 
Смежные вопросы