Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   запрет кеширования данных формы в FF (https://javascript.ru/forum/css-html-firefox-mizilla/47030-zapret-keshirovaniya-dannykh-formy-v-ff.html)

faecker 05.05.2014 21:51

запрет кеширования данных формы в FF
 
Проблема: надо, чтобы при обновлении страницы браузером текстовое поле в форме очищалось. В Chrome и Opera это происходит само собой.
Firefox кеширует введенный текст, при обновлении страницы он остается в поле.
Можно как-то через js это запретить?

Octane 05.05.2014 21:52

autocomlete="off"

faecker 05.05.2014 22:15

Не работает эта конструкция. Тестируется в FF28.
Код:
<form id="add" method="post" action="">
<input type="text" id="order" value=" " autocomlete="off"/>
</form>
Если в это поле что-то вести, текст там и болтается. Ни обновлением, ни вперед-назад поле не очищается.

BETEPAH 05.05.2014 22:20

А если поставить на onload форме .reset()?

Vlasenko Fedor 05.05.2014 23:08

инициализируйте начальные параметры формы своим скриптом
var order = document.getElementById("order");
if (order) order.value = null;

faecker 05.05.2014 23:24

Да. Проблема частично решилась следующим образом:

<body onLoad="document.all.addcategory.reset()">

<form id="addcategory" method="post" action="">

<input id="order" type="text" value=""/>

</form>
</body>

Не знаю, насколько все это корректно, но теперь FF при обновлении страницы очищает форму.

Однако. При переходе по кнопке вперед-назад не очищает.
Какие будут предложения?

faecker 05.05.2014 23:44

****
инициализируйте начальные параметры формы своим скриптом
var order = document.getElementById("order");
if (order) order.value = null;
****


Я примерно так пробовал:

onKeyPress=

if ((event.keyCode<48)||(event.keyCode>57)){
event.returnValue=false;
document.getElementById("order").value=" ";
}

Никакой реакции у FF.
Chrome и Opera при таком коде вообще в поле значения не принимают, кроме цифр. А FF принимает любые символы, поле не очищает.

Vlasenko Fedor 05.05.2014 23:52

причем здесь нажатия
var clearvalue = function () {
  var order = document.getElementById("order");
  if (order) order.value = null;
};
window.onload = clearvalue;

faecker 06.05.2014 00:11

Цитата:

Сообщение от Poznakomlus (Сообщение 310537)
причем здесь нажатия
var clearvalue = function () {
  var order = document.getElementById("order");
  if (order) order.value = null;
};
window.onload = clearvalue;

Спасибо. Завтра это попробую.
Но на самом деле все началось с того, что нужно, если в поле вводят буквы вместо цифр, поле должно либо не принимать символы, либо очищаться после потери фокуса.
Проблема, что поле не очищается при обновлении страницы возникла в процессе.

Так вот:
onKeyPress = "function()"
{
if ((event.keyCode<48)||(event.keyCode>57)){
event.returnValue=false;
document.getElementById("order").value=null;
}
}

Это работает в Хроме и Опере (даже без последней строки), но не работает в FF (я планировал третью строку для FF).
Напишите, как сделать, чтобы работало везде.

рони 06.05.2014 00:17

faecker,
http://learn.javascript.ru/obtaining...решение


Часовой пояс GMT +3, время: 15:12.