Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Отправка формы без перезагрузки


Автор: ludaq 22.9.2009, 14:44
При нажатии кнопки сабмит форма отправлячется нормально  без изменения хистори, при нажатии "enter" отправляется с перезагрузкой.
Как отправлять принажатии  "enter"  без перезагрузки?

Код

<script LANGUAGE="JavaScript" TYPE="text/javascript">


function loadHTML(sURL)
{
  var request=null;

  // пытаемся создать объект для MSXML 2 и старше
  if(!request) try {
    request=new ActiveXObject('Msxml2.XMLHTTP');
  } catch (e){}

  // не вышло... попробуем для MSXML 1
  if(!request) try {
    request=new ActiveXObject('Microsoft.XMLHTTP');
  } catch (e){}

  // не вышло... попробуем для Mozilla
  if(!request) try {
    request=new XMLHttpRequest();
  } catch (e){}

  if(!request)
    // ничего не получилось...
    return "";
 
  // делаем запрос
  request.open('GET', sURL, false);
  request.send(null);

  // возвращаем текст
  return request.responseText;
  
  
}


</SCRIPT>
<body>

<form id="form1"  onsubmit ="loadHTML('0.php?textfield='+document.getElementById('textfield').value);"  > 

 <input id="textfield" type="textfield" name="textfield" size="40"  /> 
 <input type=button onclick="loadHTML('0.php?textfield='+document.getElementById('textfield').value);"  value="submit" 
>
</form>




Автор: skyboy 23.9.2009, 09:16
кажися, тебе достаточно будет onsubm. onclick на input'e только отправляет форму второй раз(точнее, первый раз по порядку из двух).
в код для onsubmit добавь return false; или http://wdh.suncloud.ru/dhtml11.htm#mpreventdefault(не знаю, как у современных IE с этим методом).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)