Показать сообщение отдельно
  #1 (permalink)  
Старый 16.04.2014, 23:02
Новичок на форуме
Отправить личное сообщение для OldBob Посмотреть профиль Найти все сообщения от OldBob
 
Регистрация: 16.04.2014
Сообщений: 5

submit только после второго клика
Доброго всем времени суток. Вообщем вот такой код
var name;
  var email;
  var phone;

 function nameChange(element,timeOut)
      {
              clearTimeout(this.tOut);
              this.tOut=setTimeout(function(){


        $('#userName').removeClass();
        var nameV =  $('#userName').val();
        var nameLngth = $('#userName').val().length;
        var filterName = /^[a-zа-я]+$/i;
        if(filterName.test(nameV)&& nameLngth > 2)
         {
            $('#userName').addClass('valid');
            $('#userName').prev().text('');
            name=1;

           if(name==1)
           {

            $('#submit').html('<a href="javascript: void(0)" onclick="formSend.submit()">Заказать</a>');
            }

         }
         else
        {
            $('#userName').addClass('notValid');

            $('#userName').prev().text('Имя  может содержать только буквы и быть не короче 3-х знаков');
            $('#submit').html('<ins>Заказать</ins><br><font color=\"red\">Не заполнено </font>');
            name='';

        }


      });
    }




jQuery(function(){


     $('.text').val('');
     var nameLngth = $('#userName').val().length;
     if(nameLngth <= 1)
     {
       $('#submit').html('<ins>Заказать</ins><br><font color=\"red\">Не заполнено... </font>');
        }

    $('#userName').blur(function(){
        $('#userName').removeClass();
         var nameV =  $('#userName').val();
        var nameLngth = $('#userName').val().length;
        var filterName = /^[a-zа-я]+$/i;
      if(filterName.test(nameV)&& nameLngth > 2)
       {
            $('#userName').addClass('valid');
            $('#userName').prev().text('');
            name=1;
           if(name==1)
           {
           $('#submit').html('<a href="javascript: void(0)" onclick="formSend.submit()">Заказать</a>');
           }

         }
         else
        {
            $('#userName').addClass('notValid');
            $('#userName').prev().text('Имя  может содержать только  буквы и быть не короче 3-х знаков');
            name='';
            $('#submit').html('<ins>Заказать</ins><br><font color=\"red\">Не заполнено...</font>');
        }

      });

});
</script>


<form method=POST action=cart.htm  name=formSend ><input type=hidden name=step value=2>
<table width=100% border=0 cellspacing=0 cellpadding=0>

     <tr>
    <td width=50% align=left>Имя *</td>
   <td width=50% align=right><div class="error"></div><INPUT type="text" name="name" maxlength="255" size="60" value="" class="text" id="userName" onkeyup="nameChange(this,100)"></td>
    </tr><tr><td colspan=2 height=5></td></tr><tr>
    <td width=50% align=left>Фамилия </td>
   <td width=50% align=right><div class="error"></div><INPUT type="text" name="f_name" maxlength="255" size="60" value="" class="text" id="userFName"></td>
    </tr><tr><td colspan=2 height=5></td></tr><tr><td></td><td aligh="right"><div id="submit" style="text-align:right;"></div></td></tr><script>

</script>

</table>
</form>

Проблема в том что если ссылка "Заказать" активируется по событию keyup то нажимать на неё нужно два раза. Т.е. хоть она и активировалась но всё равно нужно ждать blur. Понятно что огород нагородил, но уж не обезсутьте Подскажите в каком месте косяк.
Заранее благодарен за вашу помощь.
Ответить с цитированием