2013-06-27 4 views
0

У меня есть яваскрипт функция:Форма не отправляется после отправки с недопустимым вводом?

function validateInput() { 
     var search_text = document.getElementById('search_text').value; 
     var size = document.getElementById('size').value; 
     var submitButton = document.getElementById('sb_search'); 
     document.getElementById('sb_search').disabled=false; 
     var filter = /^[\x20-\x7E]*$/; 

     if (filter.test(search_text) && search_text.length>0){ 
        return true; 
     } 

     else{ 
      submitButton.setAttribute('disabled'); 

      } 

     } 

После того, как я нажимаю кнопку отправки без значения и не удовлетворив регулярное выражение кнопки не представленную после этого.

+1

ваш вопрос v неясно. когда регулярное выражение не выполняется, а ввод пуст, кнопка отправки ** должна ** отключиться. это ваш код! –

+0

Да, теперь, когда после удовлетворения регулярного выражения и после того, как ввод не пуст, форма даже не отправлена. – pynovice

+0

поставить предупреждение внутри 'if' и проверить, идет ли оно или нет. –

ответ

-1

Это потому, что search_text.length == 0 и, таким образом, вы попадаете в else и отключить кнопку отправки

+0

downvoting без комментариев является хромым! – alfasin

0

вы отключаете кнопку отправки, когда вход равен нулю или не в соответствии с регулярным выражением!

также вы не возвращаете истину, которая держит его от подчинения!

+0

Вот что мне нужно. Это прекращается с подачи формы в первый раз. Но после этого, даже если я введу значение, форма не будет отправлена. – pynovice

+0

вы должны пойти с ответом @Rhea – Ali

0
  • положить return false в состояние else.
  • вместо document.getElementById('sb_search').disabled=false; попробовать document.getElementById('sb_search').removeAttribute('disabled')
0

Put вернуть ложь в другом заявлении

function validateInput() { 
    var search_text = document.getElementById('search_text').value; 
    var size = document.getElementById('size').value; 
    var submitButton = document.getElementById('sb_search'); 
    document.getElementById('sb_search').disabled=false; 
    var filter = /^[\x20-\x7E]*$/; 

    if (filter.test(search_text) && search_text.length>0){ 
       return true; 
    } 

    else{ 
     submitButton.setAttribute('disabled'); 
     return false; 
     } 

    }