Меню

Контакты

+ 996 312 46 07 70
(прямой)
+ 996 555 55 03 11
Мы рады вашему звонку!

Авторизация




Формы и javascript. FORM
Как я могу использовать select box как навигационное меню?
При использовании простого JavaScript, вы можете использовать select box для передвижения по сайту. Рассмотрите этот пример:
<FORM name="navForm">
<select name="menu"
onChange = "self.location =
document.navForm.menu[document.navForm.menu.selectedIndex].value;">
<option value="home. Html">Home</option>
<option value="links.html">Links</option>
<option value="contact.html">Contact Info</option>
</select>


Просто сохраните URL различных страниц в option value. Обработчик события OnChange вызовет перенаправление расположения, когда значение в поле изменено.

Вы могли бы использовать этот код, чтобы изменить расположение другого фрейма изменением 'self.location =' на 'top.framename.location ='

 

Как я могу использовать картинку для кнопки submit?
Часто возникает вопрос: "Как инициировать форму по картинке, а не по кнопке submit?" Решение столь же просто, как этот пример:
<form>
<input type="image" name="cancel" src="cancel. GIF" alt="Cancel!" border=0>
<input type="image" name="continue" src="continue.gif"
alt="Click to Continue" border=0>
</form>

 

Когда нажимается любая кнопка, форма инициируется и координаты x/y щелчка мыши на кнопке загружаются в объект запроса. Например, если пользователь выбрал Cancel!, объект запроса будет содержать переменные cancel.x и cancel.y. Точно так же щелчок на Continue привел бы к переменным continue.x и continue.y.

Здесь важно отметить, что элементы .x и .y - не переменные объектов continue или cancel, а фактически часть имени "continue.x". Следовательно, нельзя использовать типичный метод для определения существования одного из дочерних объектов запроса:

if (request.normalItem)
act();
if (request.continue.x) // Noooo! Produces horrible error messages!
doContinuingThings();


Тем не менее рассмотрите это:

if (request['normalItem'])
 act();
if (<B>request['continue.x']</B>) // Much better :)
 doContinuingThings();

 

Благодаря названным массивам JavaScript, можно проверить какая картинка инициировала форму.

Для некоторых приложений, полезно знать координаты курсора на нажатой картинке. Эта информация, конечно, содержится в парах image_element.x и image_element.y. Следующий серверный JavaScript мог бы использоваться для этого:

x=0;
y=0;
if ((request['my_submit_image.x']) (request['my_submit_image.y'])) {
x = parseInt(request['my_submit_image.x']);
y = parseInt(request['my_submit_image.y']);
}

 

Передача данных между формами на различных страницах

В качестве простого примера, предположите, что ваша "домашняя" страница запрашивает имя пользователя, затем использует это имя, чтобы обратиться к пользователю на следующих страницах. Вы можете взять имя, используя форму, затем использовать JavaScript для передачи имени пользователя в следующую страницу, используя URL. Последующая страница могла бы затем анализировать имя пользователя из URL, используя информацию в document.search.
home.html

<html> <head> < Script language="JavaScript">
function nextPage() {
self.location = "next.html?name=" +
escape(document.theForm.userName.value);
// Use escape() any time there might be spaces or
} // non-alpa characters
</script>
</head>
<body>
<form onSubmit = "nextPage();return false;">
Enter your name: <input type=text name=userName>
<input type=submit>
</form>
</body>
</html>

 

next.html

userName = document.search;
userName = userName.substring(userName.indexOf("=")+1);
document.write("Greetings, " + userName + "<P>");
 
Почему document.formName.selectObject.value не отражает значение выбранного пункта в списке?

Потому что объект работает не таким образом. Правильный и полный синтаксис для доступа к VALUE только что выбранным полем в списке - это:

Document.form.selectObject[document.form.selectObject.selectedIndex].value

 

Как мне получить значение выбранной в данный момент radio button в radio group или группе checkboxes?

Существует свойство, созданное в объекте form для каждой radio buttons или checkboxes с тем же самым именем. Например, следующий HTML код:

<form name='theForm'>
<input type=radio name="gender" value="Male">Male
<input type=radio name="gender" value="Female">Female
<input type=radio name="gender" value="Evasive">Not Specified
</form>

 

приводит к созданию 3-х элементов массива, вызываемых с помощью document.theForm.gender. Чтобы определить значение выбранной кнопки (или checkbox'а), вам нужно проверить свойство checked каждого из элементов. Например:

function checkIt() {
theGroup = document.theForm.gender;
 for (i=0; i< theGroup.length; i++) {
   if (theGroup[i].checked) {
 alert("The value is " + theGroup[i].value);
 break;
 }
  }
   }
 
Как мне получить форму, чтобы инициировать процесс запуска клавишей Enter?

Форма отправляется, если нажата клавиша enter, в то время как единственный входной текстовый элемент формы имеет фокус. Вы можете вызывать подобное поведение в форме, имеющей более одного элемента, разбивая форму на ряд отдельных форм, так, чтобы каждая форма имела только один текстовый элемент. Используйте обработчик события onSubmit (или action="javascript:myFunction();") для накопления данных из других форм в вашей странице и инициируйте их все сразу.

 
Как я могу отключить поле текстового ввода?
Используйте обработчик onfocus для вызова функции blur():
<INPUT TYPE="text" NAME="aTextField" ONFOCUS="this.blur()">

 

Если вы хотите динамически отключать/включать поле, используйте функцию skip (e)

{ this.blur(); }
  <A HREF="javascript:document.formName.aTextField.onfocus = skip; void
0">disable text field</A>
  <A HREF="javascript:document.formName.aTextField.onfocus = null; void
0">enable text field</A>
 
Как сделать загрузку страницы при выборе флажка?

Используйте обработчик OnChange для вызова функции submit():

<form method=get OnChange='this.submit();'>
  <input type=checkbox name="fnew">Только новые
</form>

 

 

Новости антивируса Dr. Web


Наши партнёры