Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: очистка полей формы
 
 автор: Andchir   (17.10.2007 в 16:36)   письмо автору
 
 

Люди, помогите. Очень надо!

Как при нажатии на ссылку очищать нужные поля формы?

Нашел тут такой скрипт, очищает поля при нажатии на поле формы. А как сделать чтобы поля очищалиь при нажатии на ссылку "очистить"?


<script language="JavaScript"> 
function fclear(idf) {
idf.value=""; 

</script> 

<table>
<form name="subform" action="action.php" method="post" target="sub">
<tr><td><input id="post" type="textbox" name="name" value="Ваше имя" onClick="fclear(this);"></td>
</tr>
<tr><td><input type="textbox" name="email" value="Ваш e-mail" onclick="fclear(this);"></td>
</tr>
<tr><td><input type="submit" value="Subscribe" class="tf"></td></tr> 
</form> 
</table>

<a href="javascript:fclear('post')">очистить</a>

   
 
 автор: coloboc66   (17.10.2007 в 17:12)   письмо автору
 
   для: Andchir   (17.10.2007 в 16:36)
 

Так по идее:
<a href="javascript:fclear(document.forms['subform'])">очистить</a>
function fclear(form) {
idf.value="";
for(i=0;i<form.elements.length;i++)
{
form.elements[i].value="";
}
}

   
 
 автор: Andchir   (17.10.2007 в 17:31)   письмо автору
 
   для: coloboc66   (17.10.2007 в 17:12)
 

Не могу это применить. Не работает. Не могли бы вы дать полный код (с формой и полями)? Чтобы очистить, например, два поля из трех

   
 
 автор: bronenos   (17.10.2007 в 17:26)   письмо автору
 
   для: Andchir   (17.10.2007 в 16:36)
 

<a href="#" onClick="document.forms['subform'].reset()">Очистить</a>

   
 
 автор: coloboc66   (17.10.2007 в 17:32)   письмо автору
 
   для: bronenos   (17.10.2007 в 17:26)
 

О - так проще.

   
 
 автор: Andchir   (17.10.2007 в 17:33)   письмо автору
 
   для: bronenos   (17.10.2007 в 17:26)
 

Спасибо! А где тут имя поля?

   
 
 автор: Andchir   (17.10.2007 в 17:37)   письмо автору
 
   для: Andchir   (17.10.2007 в 17:33)
 

bronenos, можно хоть какие-то комментарии? Очень прошу помоч.

   
 
 автор: bronenos   (17.10.2007 в 18:31)   письмо автору
 
   для: Andchir   (17.10.2007 в 17:37)
 

очищаются все поля формы - то есть, форма приобретает тот самый вид, который был сразу после загрузки страницы, а тем кодом, что было самым первым - даже кнопки потеряют текст

   
 
 автор: Andchir   (18.10.2007 в 09:18)   письмо автору
 
   для: bronenos   (17.10.2007 в 18:31)
 

Тогда это не подходит. Нужно очистить только некоторые поля формы. В этом и (как оказалось) сложность. Всю форму очищать не нужно.

   
 
 автор: sim5   (18.10.2007 в 09:22)   письмо автору
 
   для: Andchir   (18.10.2007 в 09:18)
 

А чего сложного то? Можете поставить рядом кнопочку с полем которое требует очистки, щелчек по ней и очистили.

PS. Да и вообще, двойной клик еще никто не отменял, потому можно прописать для полей требующих очистки:


<input type="text" name="as" onDblClick="this.value=''">

и дать инфу об этом пользователю.

   
 
 автор: Andchir   (18.10.2007 в 10:41)   письмо автору
 
   для: sim5   (18.10.2007 в 09:22)
 

Заказчик хочет чтобы нужные поля (не все) очищались именно по клику одной ссылки.

   
 
 автор: sim5   (18.10.2007 в 10:49)   письмо автору
 
   для: Andchir   (18.10.2007 в 10:41)
 

Ну тогда по onsubmit формы, вызывайте функцию, в которой очищайте значения конкретных полей.

   
 
 автор: bronenos   (18.10.2007 в 11:18)   письмо автору
 
   для: Andchir   (18.10.2007 в 10:41)
 

function clear(form, fields)
{
  form = document.forms[form];
  for (var i=0; i<fields.length; i++) form[fields[i]].value = "";
}

clear(formname, [field1, field2, ...]);

   
 
 автор: Andchir   (18.10.2007 в 14:34)   письмо автору
 
   для: bronenos   (18.10.2007 в 11:18)
 

Большое спасибо!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования