2015-10-24 2 views
0

Я работаю с переключателями и кнопкой отправки, чтобы посылать входы радиокнопок в файл javascript, называемый script.js. Всякий раз, когда я нажимаю кнопку отправки, не выбирая данные с радиокнопками, предупреждающее сообщение «Пожалуйста, заполните все поля» не отображается.javascript не отображает предупреждающее сообщение

мой код index.php

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
    <script src="script.js"></script> 
    <script> 
     $(document).ready(function() { 
      setInterval(function(){ 
       _path = $('img').attr('src'); 
       _img_id = _path.replace('img/img', ''); 
       _img_id = _img_id.replace('.jpg', ''); 

       _img_id++; 

       $('img').attr('src', 'img/img' + _img_id + '.jpg'); 
      }, 15000); 
     }); 
    </script>  
</head>  
<body id="page-top"> 
    <header> 
     <h1><img src="img/img1.jpg" alt="image" style="width:738px;height:444px;"></h1> 
     <hr> 
     <label>Alignment: </label> 
     <input type="radio" name="group1" value="5"> 5 
     <input type="radio" name="group1" value="4"> 4 
     <input type="radio" name="group1" value="3"> 3 
     <input type="radio" name="group1" value="2"> 2 
     <input type="radio" name="group1" value="1"> 1 
     <hr> 
     <label>Blend: </label> 
     <input type="radio" name="group2" value="5"> 5 
     <input type="radio" name="group2" value="4"> 4 
     <input type="radio" name="group2" value="3"> 3 
     <input type="radio" name="group2" value="2"> 2 
     <input type="radio" name="group2" value="1"> 1 
     <hr> 
     <label>Warp: </label> 
     <input type="radio" name="group3" value="5"> 5 
     <input type="radio" name="group3" value="4"> 4 
     <input type="radio" name="group3" value="3"> 3 
     <input type="radio" name="group3" value="2"> 2 
     <input type="radio" name="group3" value="1"> 1 
     <hr> 
     <label>Overall: </label> 
     <input type="radio" name="group4" value="5"> 5 
     <input type="radio" name="group4" value="4"> 4 
     <input type="radio" name="group4" value="3"> 3 
     <input type="radio" name="group4" value="2"> 2 
     <input type="radio" name="group4" value="1"> 1 
     <hr> 
     <input type="submit" id="submit" name="submit" value="Submit"> 
    </header> 
</body> 
</html> 

мой код script.js

$(document).ready(function() { 
    $("#submit").click(function() { 
     var radio1 = $("input[name=group1]:checked").val(); 
     var radio2 = $("input[name=group2]:checked").val(); 
     var radio3 = $("input[name=group3]:checked").val(); 
     var radio4 = $("input[name=group4]:checked").val(); 
     // Returns successful data submission message when the entered information is stored in database. 
     var dataString = '&submit1=' + radio1 + '&submit2=' + radio2 + '&submit3=' + radio3 + '&submit4=' + radio4; 

     if (radio1 == '' || radio2 == '' || radio3 == '' || radio4 == '') { 
      alert("Please Fill All Fields"); 
     } else { 
      // AJAX Code To Submit Form. 
      $.ajax({ 
       type: "POST", 
       url: "ajaxsubmit.php", 
       data: dataString, 
       cache: false, 
       success: function (result) { 
        alert(result); 
       } 
      }); 
     } 
     return false; 
    }); 
}); 
+0

Я предполагаю, что вы никогда не нажимаете на ваш обратный вызов успеха? Можете ли вы остановиться, чтобы узнать? – AdamJeffers

+0

не отображается «Пожалуйста, заполните все поля» – marse

+0

Не могли бы вы использовать радио1 || Radio2 || radio3 || radio4 –

ответ

0

я только видел, что они радиоприемники, проверьте falsy значений, а также, например, !radio1 || !radio2 и т.д ..

Specificical jQuery пытается выбрать радиостанцию ​​checked, но ни один из них не может быть проверен, поэтому объект пуст, поэтому .val() вернет значение falsy (например, null или undefined).

+2

' .val() 'на пустые объекты jQuery возвращает' undefined' –

0

Вашего HTML не соответствую - см входной тег без тега формы:

<form onsubmit="yourfunction(); return false;"> ... 

или просто использовать кнопку тега:

<button id="submit">Submit</button> 
0

Вы можете проверить вход радио для неопределенного, как этого https://jsfiddle.net/2Lzo9vfc/6/

if (radio1 == undefined || radio2 == undefined || radio3 == undefined || radio4 == undefined) { 
     alert("Please Fill All Fields"); 
    } else { 
     // AJAX Code To Submit Form. 

    }