Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.03.2009, 20:54
Новичок на форуме
Отправить личное сообщение для MAX_NS Посмотреть профиль Найти все сообщения от MAX_NS
 
Регистрация: 23.03.2009
Сообщений: 2

Помогите не работает скрипт
Два скрипта у меня стоят на странице первый проверяет количество введёных символов для textarea второй заполнение текстовых полей

Всё это работает в Фаер фокс но не работает в IE

Как я понял IE ругается на

строку в первом коде

document.getElementById(ide).innerHTML = limit_text;

И строку во втором коде

document.getElementById("alert").innerHTML = "";

IE выдаёт ошибку


Code: 0
Error Message: Неизвестная ошибка выполнения

Как заставить работать скрипты под IE?


<script type="text/javascript">

   var ns6=document.getElementById&&!document.all
      function restrictinput(maxlength, e, placeholder)
      {if (window.event && event.srcElement.value.length >= maxlength)
         return false;
      else if (e.target && e.target == eval(placeholder) && e.target.value.length >= maxlength)
         {
         var pressedkey = /[a-zA-Z0-9\.\,\/]/;
         if (pressedkey.test(String.fromCharCode(e.which)))
            e.stopPropagation();
         }
      }

   function countlimit(maxlength, e, placeholder)
           {
      var theform = eval(placeholder);
      var lengthleft = maxlength-theform.value.length;
      var placeholderobj = document.all ? document.all[placeholder] : document.getElementById(placeholder);
      if (window.event || e.target&&e.target == eval(placeholder))
             {
         if (lengthleft < 0)
             theform.value = theform.value.substring(0, maxlength);
         placeholderobj.innerHTML = lengthleft
             }
           }

   function displaylimit(thename, theid, thelimit, ide)
           {
      var theform = theid != "" ? document.getElementById(theid) : thename;
      var limit_text = 'ìîæíî ââåñòè <span id="' + theform.toString() + '">' + thelimit + '</span> ñèìâîëîâ';
      if (document.all || ns6)
           document.getElementById(ide).innerHTML = limit_text;



      if (document.all)
             {
         eval(theform).onkeypress = function(){ return restrictinput(thelimit, event, theform)}
         eval(theform).onkeyup = function(){ countlimit(thelimit, event, theform)}
              }
      else if (ns6)
             {
         document.body.addEventListener('keypress', function(event) { restrictinput(thelimit, event, theform) }, true);
         document.body.addEventListener('keyup', function(event) { countlimit(thelimit, event, theform) }, true);
             }
            }

    displaylimit("document.preview.skills", "", 300, "skills");
    displaylimit("document.preview.finres", "", 300, "finres");
    displaylimit("document.preview.matres", "", 400, "matres");
    displaylimit("document.preview.offers", "", 400, "offers");

</script>





<script type="text/javascript">


	function text (str) { return /[0-9_;:'!~?=+<|>]/g.test(str); }
    function text2 (str) { return /^[_;:'!~?=+<|>]/g.test(str); }
   function numeric (str) { return /^[0-9-\+\(\)\s]+z/.test(str + "z"); }


   function mail (str) { return /^[a-z0-9_\.]+@[a-z0-9_\.]+.[a-z]{2,3}$/.test(str); }

   function checkForm ()
      {
      var title;
      var elem;
      var dutyField = "Íå çàïîëíåíî ïîëå ";
      var wrongField = "Íåêîðåêòíîå çíà÷åíèå ïîëÿ ";
      var check = true;




      function checkError (field, str)
         {
         document.getElementById("alert").innerHTML = str;
         document.forms.preview.field.focus();
         check = false;
         }

      document.getElementById("alert").innerHTML = "";



      if (check)
         {
         title = '"Ô.È.Î"';
         elem = document.preview.name.value;
         if (elem.length == 0) checkError('name', dutyField + title);
         else if (text(elem)) checkError('name', wrongField + title);
         }

      if (check)
         {
         title = '"Íèê â ñåòè"';
         elem = document.preview.nikname.value;
         if (elem.length == 0) checkError('nikname', dutyField + title);
         else if (text2(elem)) checkError('nikname', wrongField + title);
         }

         if (check)
         {
          title = '"Ïîë"';
         elem = document.preview.floor.value;
         if (elem == 'íåóêàçàí') checkError('floor', dutyField + title);
         }

         if (check)
         {
         title = '"Äåíü ðîæäåíèÿ"';
         elem = document.preview.day.value;
         if (elem.length == 0) checkError('day', dutyField + title);
         else if (!numeric(elem)) checkError('day', wrongField + title);
         }



         if (check)
         {
          title = '"Ìåñÿö ðîæäåíèÿ"';
         elem = document.preview.month.value;
         if (elem == 'íåóêàçàí') checkError('month', dutyField + title);
         }

      if (check)
         {
         title = '"Ãîä ðîæäåíèÿ"';
         elem = document.preview.age.value;
         if (elem.length == 0) checkError('age', dutyField + title);
         else if (!numeric(elem)) checkError('age', wrongField + title);
         }

      if (check)
         {
         title = '"Ìåñòî æèòåëüñòâà"';
         elem = document.preview.residence.value;
         if (elem.length == 0) checkError('residence', dutyField + title);
         else if (text(elem)) checkError('residence', wrongField + title);
         }



      if (check)
         {
         title = '"E-mail"';
         elem = document.preview.email.value;
         if (elem.length == 0) checkError('email', dutyField + title);
         else if (!mail(elem)) checkError('email', wrongField + title);
         }



      if (check)  { document.preview.submit(); }

      return check;
      }
</script>
Ответить с цитированием
  #2 (permalink)  
Старый 24.03.2009, 16:02
Аспирант
Отправить личное сообщение для evgen28 Посмотреть профиль Найти все сообщения от evgen28
 
Регистрация: 21.01.2009
Сообщений: 38

ie какой версии?
Ответить с цитированием
  #3 (permalink)  
Старый 24.03.2009, 16:25
Новичок на форуме
Отправить личное сообщение для MAX_NS Посмотреть профиль Найти все сообщения от MAX_NS
 
Регистрация: 23.03.2009
Сообщений: 2

Как можно вообще адаптировать под все IE браузеры этот код?
Проверял работоспособность на IE 7.0.6

Или может кто подскажет более работоспособный ява скрипт работающий со всеми браузерами.

Мне надо проверять заполненность полей анкеты и количество вводимых в textarea символов
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт не работает в опере, работает в IE XpycTuk Общие вопросы Javascript 9 06.03.2009 15:50
Скрипт меню-гармошки работает выборочно Extern Элементы интерфейса 2 23.02.2009 15:32
Простой скрипт не работает в Firefox'e... Aik Firefox/Mozilla 2 03.02.2009 22:30
Скрипт, который должен листать объекты не работает. Mike Abasov jQuery 4 12.08.2008 11:16
Новости на сайте! Не работает скрипт! neurostep Общие вопросы Javascript 1 11.04.2008 14:18