|
|
|
| Здравствуйте!
При вводе в первое поле формы данных, и при переходе в другое поле, чтобы в первом шла проверка введенной инфы, до нажатия на кнопку "отправить!"
Т.е. есть можно реализовать срабатывание поля без нажатие на кнопку, а только по вводу или переходу в другое поле. | |
|
|
|
|
|
|
|
для: ronin
(15.07.2008 в 16:29)
| | используй событие onChange="" - срабатывает после потери фокуса, или перемещении фокуса на другой объект. | |
|
|
|
|
|
|
|
для: ronin
(15.07.2008 в 16:29)
| | onchange (или onblur) вам помогут | |
|
|
|
|
|
|
|
для: PAT
(15.07.2008 в 16:47)
| | Спасибо!
Еще вопрос что исравить в єтом скрипте, чтобы он реагировал на onchange(),а то он реагирует только на кликанье на кнопку.
<script>
var req;
function getName()
{
url = 'http://localhost/ajax/vasya/getName.php';
if (window.XMLHttpRequest)
{
req = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
req = new ActiveXObject("Microsoft.XMLHTTP");
}
if (req)
{
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
req.send();
}
}
function processReqChange()
{
ab = window.setTimeout("req.abort();", 5000);
if (req.readyState == 4)
{
clearTimeout(ab);
// only if "OK"
if (req.status == 200)
{
document.form1.state.value =(req.responseText); }
else
{
alert(":\n" + req.statusText);
}
}
}
</script>
<form name="form1" >
<input type="text" name="state" onchange='getName()'><br>
|
| |
|
|
|
|
|
|
|
для: ronin
(15.07.2008 в 16:58)
| | Имейте ввиду, что событие onChange срабатывает только в том случае, если поле с типом "text" было изменено. Если его выбрать (навести фокус), ни чего там не написать, и сменить фокус, то событие onChange не сработает. | |
|
|
|
|
|
|
|
для: Dr Lines
(15.07.2008 в 19:19)
| | этот скрипт не срабатывает и пре переходе в другое поле(которое я для экономии не показал) а реагирует только на клик по кнопке. | |
|
|
|
|
|
|
|
для: ronin
(16.07.2008 в 10:26)
| | Скрипт срабатывает - и вы можете это проверить, поставив в начало обеих функции простейший alert ('Работаю!')
Видимо, вы просто не дожидаетесь 5-ти секунд (=5000 миллисекунд). Или ответа от PHP-скрипта у вас вовсе нет. | |
|
|
|
|
|
|
|
для: PAT
(16.07.2008 в 18:11)
| | да действительно! Глюк! у меня в смысле:) спасибо! | |
|
|
|
|
|
|
|
для: ronin
(16.07.2008 в 19:27)
| | Другой вопрос:
Как ответ разместь не в поле, а - рядом, и почему не передаеться $_POST[state]?
Т.е. в файле обработчике передаеться в поле, что нет переменной
<?php
header("Content-type: text/html; charset=windows-1251");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
if (isset($_POST[state]))
{
echo "Есть переменная";
}
else
{
echo "Нет переменной";
}
?>
|
| |
|
|
|