запрос ajax-php на той же странице - PullRequest
1 голос
/ 23 марта 2012

У меня есть такой HTML-файл:

<?
$q=$_REQUEST['???'];//sth. like that
echo $q;
?>

<form>
 <select name="users" onchange="showUser()">
 <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>

, и я хочу использовать выбранное значение onchange на той же странице в блоке php.

Я хочу выбрать только некоторыеопций и держать его в переменной php, как $ q, как я указал.как я могу сделать это на той же странице?

1 Ответ

0 голосов
/ 23 марта 2012

У вас должна быть функция в javascript, которая будет обрабатывать AJAX-запрос

ваш onchange="" вызов функции будет иметь аргумент как this.value, что означает, что оно будет переносить значение, выбранное в поле выбора, в функцию javascript

В javascript-функции showUser он создаст объект xmlhttp для выполнения методов ajax "open()" и "send()"

, например:

if (window.XMLHttpRequest)
  { //For Other browsers
  xmlhttp=new XMLHttpRequest();
  }
else
  { //For internet Explorer
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

Сейчассоздается функция, которую необходимо выполнить, когда ответ будет готов как

xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("yourcontainerID").innerHTML=xmlhttp.responseText;
//to display the response in the html container
        }
      }

. Теперь отправляется запрос в php-файл, и параметр можно получить с помощью строки запроса url или переменной post, а также с помощью open() method

здесь давайте предположим, что мы используем строку запроса url, следовательно,

xmlhttp.open("GET","urphpfile.php?q="+str,true);
xmlhttp.send();

не для получения переменной "q" в php-файле, которую вы можете сделать

$q=$_GET["q"];// here you may use $_REQUEST["q"] which can hadle both $_POST and $_GET

в urphp файл ....

и все готово ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...