2014-11-21 8 views
-2

Я попытался написать js для моей html-формы. js работает нормально с логически. Но если логика терпит неудачу, я имею в виду, что если какое-либо условие не удается, она перезагружает страницу, чего я не хочу. Я предоставляю код. Пожалуйста, укажите мне ошибку в js, если таковая имеется.javascript, который я написал неправильно (может быть)

window.onload = function() { 
    document.getElementById('submitlink').onclick = function() { 

    var bflag = document.addpro.brandflag; 
    var brand = document.addpro.brand1.value; 
    var cflag = document.addpro.catflag; 
    var cat = document.addpro.cat1.value; 
    var color1 = document.addpro.color1.value; 
    var color2 = document.addpro.color2.value; 

    if(cb_validation(bflag,brand)) 
    { 
     if(cb_validation(cflag,cat)) 
     { 
      if(colorcheck(color1,color2)) 
      { 
       document.getElementById('addproform1').submit(); 
       return false; 
      } 
     } 
    } 
} 
function cb_validation(flag,field) 
{ 
    if(flag[0].checked) 
    { 
     if(field==0) 
     { 
      alert('Please Select Both Brand And Category'); 
      field.focus(); 
      return false; 
     } 
     else 
     return true; 
    } 
    else 
    return true; 
} 
function colorcheck(c1,c2) 
{ 
    if((c1==0) && (c2==0)) 
    { 
     alert('Please Select Both Colours'); 
     document.addpro.color1.focus(); 
     return false; 
    } 
    else if((c1==0)) 
    { 
     alert('Please Select 1st Colour'); 
     document.addpro.color1.focus(); 
     return false; 
    } 
    else if((c2==0)) 
    { 
     alert('Please Select 2nd Colour'); 
     document.addpro.color2.focus(); 
     return false; 
    } 
    else 
    return true; 
} 
} 

Я новичок в js. Пожалуйста, скажите мне, если я совершил какую-либо ошибку.

ответ

2

return false - это то, что удерживает страницу от перезагрузки. Сейчас он находится в вашем окончательном состоянии проверки цвета. Если вы никогда не захотите перезагрузить страницу, это должно быть после вашего первого cb_validation.

1

Отправить() вызывает обновление страницы, которое находится ниже строки document.getElementById ('addproform1'). Submit();

Также и ваша функция возвращает true, потому что вы возвращаете true в блоке else. Надеюсь, что это указывает вам на правильном направлении ....

удачи ....

+0

Вы пропустили истинную причину, и это не представить ... – epascarello

+0

Могу ли я знаю, что еще это ???? – Ashwath

+0

Основная функция не отменяет щелчок, она делает это только для одного случая, а не для всех, которые терпят неудачу. Следовательно, почему он всегда подает/обновляет. – epascarello

Смежные вопросы