Главная

Контакты

Спички

Другие работы 1 2 3 4

 

Иногда возникает необходимость отправки данных с предварительной обработкой. Приведу небольшой пример. Пусть нам необходимо сделать возможность проверки количества проиндексированных страниц сайта на google.

Строка такого запроса выглядит следующим образом:

http://www.google.com.ua/search?q=site:webobzor.net

Разумеется, если пользователь захочет использовать для создания запросов форму, ему необходимо написать приблизительно следующее:

<form action="http://www.google.com/search">
<input type="text" name="q">
</form>

При этом, пользователю придется вводить вместе с адресом сайта и приставку site:

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

Что бы избежать этого, можно отправлять запрос с предварительной обработкой:

<script language="JavaScript">
function Enter(evt) {

var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode == 13) {

document.getElementById("q").value = "site:" + document.getElementById("query").value;
document.getElementById("forma").submit();

}
else
return true
}
</script>

<input type="text" name="query" id="query" onKeyDown="Enter(event)">

<form action="http://www.google.com/search" id="forma">
<input type="hidden" name="q" id="q">
</form>

В данном случае отправка формы будет осуществляться при нажатии на Enter в эдитбоксе.

При этом, мы используем данный объект вне формы. Сама форма у нас остается невидимой. Таким образом, данным форме (объекту hidden) присваивается уже обработанный запрос site:имя_сайта. Разумеется, если вы хотите отправлять данные формы не только по нажатию на Enter, вам достаточно всего лишь присвоить соответствующий код клавиши в функции Enter (charCode).

 

Совершенная во всём школа танцев не разочаруетесь ; На пианино, среди прочего, лежат суши и роллы, пока мама не видит.

© 2007 ABV-Design. Раскрутка сайта ООО "СЕО"

карта