Ajax PHP MYSQL при входе - PullRequest
       1

Ajax PHP MYSQL при входе

0 голосов
/ 24 июля 2010

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

У кого-нибудь есть идеи?

function ajaxFunction(){
 var ajaxRequest;
{
  // Opera 8.0+, Firefox, Safari
  ajaxRequest = new XMLHttpRequest();
 } catch (e){
  // Internet Explorer Browsers
  try{
   ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try{
    ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (e){
    // Something went wrong
    alert("Your browser broke!");
    return false;
   }
  }
 }
 ajaxRequest.onreadystatechange = function(){
  if(ajaxRequest.readyState == 4){
   var ajaxDisplay = document.getElementById('ajaxDiv');
   ajaxDisplay.innerHTML = ajaxRequest.responseText;
  }
 }
 var kw = document.getElementById('kw').value;
 var division = document.getElementById('division').value;
 var queryString = "?kw=" + kw + "&division=" + division;
 ajaxRequest.open("GET", "search/jsearch.php" + queryString, true);
 ajaxRequest.send(null); 
}

Код формы:

<form name='myForm'>
Keywords<input type='text' id='kw' /> <br />
<br />
<select id='division'>
  <option value='0' selected="selected">window & door</option>
  <option value="1">window</option>
  <option value="2">door</option>
</select>
<input type='button' onclick='ajaxFunction()' value='Query MySQL' />
</form>

Ответы [ 2 ]

0 голосов
/ 24 июля 2010

onclick срабатывает при нажатии кнопки.Вы нажимаете return, а не нажимаете кнопку.

Как упоминалось ранее, вы должны использовать onsubmit, который срабатывает при отправке формы.Вам нужно будет вернуть false, т. Е. Использовать onsubmit="ajaxFunction();return false;", чтобы предотвратить нормальную отправку.

0 голосов
/ 24 июля 2010

Где ваш код события для формы?Вы используете onclick вместо onsubmit?Я не думаю, что у нас достаточно кода / информации, чтобы ответить на этот вопрос, но из того, что вы описали, ваш первый шаг, чтобы убедиться, что вы используете событие onsubmit для формы, чтобы вы могли запустить xhr.

РЕДАКТИРОВАТЬ : Тогда ответ на эту проблему: «... невозможно получить форму для отправки при нажатии клавиши возврата», использовать onsubmit вместо onclick.Вам также нужно прикрепить событие к форме вместо кнопки и, если возможно, воздерживаться от использования встроенных js.

http://en.wikipedia.org/wiki/Unobtrusive_JavaScript

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