Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   сохранение информации в инпут без сабмит (https://javascript.ru/forum/css-html/39073-sokhranenie-informacii-v-input-bez-sabmit.html)

devote 14.06.2013 13:51

Цитата:

Сообщение от danik.js
А это то зачем?

на всякий случай, если мышкой вставили что-то.. хотя в идеале нужно на onpaste повесить вместо onmouseup

danik.js 14.06.2013 14:03

onmouseup не срабатывает при вставке. С чего бы вдруг. И при d'n'd тоже не срабатывает. В идеале нужно onpropertychange использовать, но с ним тоже не все так просто.

devote 14.06.2013 14:07

Цитата:

Сообщение от danik.js
onmouseup не срабатывает при вставке. С чего бы вдруг. И при d'n'd тоже не срабатывает. В идеале нужно onpropertychange использовать, но с ним тоже не все так просто

Да я вкурсе, у меня вот эта либа отлавливает любое изменение инпутов, будь то вставка из буфера или драг-дроп, хотя драг-дроп дерьмого работает во всех браузерах, поэтому у меня на него просто заглушка.

najrobi 15.06.2013 00:22

danik.js, а можно пример? а то в ie9 что-то не работает, а нужно, чтобы работало во всех версиях.

спасибо!

devote 15.06.2013 00:26

Цитата:

Сообщение от najrobi
а то в ie9 что-то не работает

что именно не работает? тока что запустил в ИЕ9 все норм

najrobi 15.06.2013 00:42

просто не сохраняется введённая инфа... пустое поле показывает.

может быть, это из-за настроек безопасности браузера? при открытии страницы ie выдаёт сообщение, что запрещено выполнение скриптов и элементов управления "эктив х".

najrobi 15.06.2013 00:45

сорри, это блокируется первый вариант, который вы дали.

второй вариант не блокируется, но и не запоминается введённая инфа.

Deff 15.06.2013 00:59

<!DOCTYPE HTML>
<html>
  <head>
<script> function setcookie(a,b,c) {if(c){var d = new Date();d.setTime(d.getTime()+c);}if(a && b) document.cookie = a+'='+b+';path=/'+(c ? '; expires='+d.toUTCString() : '');else return false;}
 function getcookie(a) {var b = new RegExp(a+'=([^;]){1,}');var c = b.exec(document.cookie);if(c) c = c[0].split('=');else return false;return c[1] ? c[1] : false;}
</script>
 </head>
  <body>

<input id="myinput" />

<script>
    var input = document.getElementById('myinput');
    var a = getcookie('dataForMyInput') 
    input.value = '';if(a)input.value=a;
    input.oninput = input.onkeyup = input.onmouseup = function() {
        var a = input.value;
        var t = 1000*60*60*24*31;
        if(!a){a=1;t=-10;} //Нет значений - стираем кук;
        setcookie('dataForMyInput',a,t);
    }
</script>



  </body>
</html>

najrobi 15.06.2013 01:08

Deff, огромное спасибо! под ff работает идеально, никаких ошибок не выдаёт. но под ie снова выскакивает сообщение о блокировке работы "эктив х". отключил в настройках все запреты, но не помогает. и инфа в инпуте не сохраняется.

devote 15.06.2013 01:11

Цитата:

Сообщение от najrobi
но под ie снова выскакивает сообщение

да у вас там на странице что-то еще мешает.. Потому что мой скрипт идеально работает в IE8,IE9,IE10,Opera,FF,Chrome,Safari тока что проверил.


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