Как фаерфоксе сделать так что бы поля формы не сбрасывались просле возврата return false?
Сделал форму.
На кнопку повесил скрипт поверки на корректность данных.
напимер:
<script>
...
if (check)
}
thisForm.submit();
} else {
return false;
}
...
</script>


при return false все заполненые поля в форме сбрасываются. Под ИЕ все работает корректно.
Помогите плиз...

приведи что-ли более полный код...

<form name="createForm"  width="100%" enctype="multipart/form-data" method="post">

<b>Имя</b><input type="text" maxlength="20" style="text-align:left;width: 300px" id="id_name" name="n_name" value="">
<b>Фамилия</b><input type="text" maxlength="40" style="text-align:left;width: 300px" id="id_namef" name="n_namef" value="">

<scriprt>
function controlT() {
var id_name = document.getElementById('id_name');
var id_namef = document.getElementById('id_namef');
if (id_name.value!=null || id_name.value != "" || trim(id_name.value != "") ) {
  if (id_namef.value!=null || id_namef.value != "" || trim(id_namef.value != "") ) {
     createForm.submit();
  } else {
     return false; 
  }
} else {
return false;
}

}
</scriprt>

<button onClick="controlT();">Создать</button>

Добавлено Пнд 20 Ноя 2006 14:31:14 :
интересно такая проблема только у меня ....

violator
Поля не сбрасываются, просто всё равно происходит отправка формы.
По стандарту элемент <button> по умолчанию должен отправлять форму:

17.5 Элемент BUTTON
...
Определения атрибутов
...
type = submit|button|reset  [CI]
    Объявляет тип кнопки. Возможные значения:

        * submit: Создает кнопку отправки. Это значение используется по умолчанию.
        * reset: Создает кнопку сброса.
        * button: Создает другую кнопку.

Чтобы предотвратить отправку формы, можно:
1. Указать кнопке тип button:

<button type="button" onClick="controlT();">Создать</button>

Тогда return false в controlT можно будет вообще убрать.
2. Сделать через return false, как Вы и хотели, но нужно указать return в onClick:

<button onClick="return controlT();">Создать</button>

Добавлено Пнд 20 Ноя 2006 15:35:54 :
Кстати, вот эта конструкция вообще лишена смысла:

Выделить код

Код:

if (id_name.value!=null || id_name.value != "" || trim(id_name.value != "") )

1. id_name.value!=null будет всегда true, т.к. value у текстового поля не может принимать значение null.
Получается, что эта конструкция никакой проверки не производит.
2. Вместо trim(id_name.value != "") наверно имелось в виду trim(id_name.value) != ""
Но до этого места проверка даже не дойдёт, т.к. перед этим Вы проверяете id_name.value != "", и при любом непустом value вся конструкция опять таки примет значение true.

Короче, правильно будет записать:

Выделить код

Код:

function controlT() {
  var id_name = document.getElementById('id_name');
  var id_namef = document.getElementById('id_namef');
  if ((trim(id_name.value)!= "")&&(trim(id_namef.value)!= "")) {
     createForm.submit();
  } else {
     return false; 
  }
}

(Я предполагаю, что функция trim обрезает лишние пробелы.)

Большое спасибо!!!
простите меня за этот код просто очень большой шаблон и пытался просто суть отразить :)
все работает корректно, просто на кнопке не был указан type="button". В FF если для кнопки не указан type , то интерпритируется как type="submit".