Отключить кнопку «Отправить» и запускать предупреждение, если не установлен флажок - PullRequest
0 голосов
/ 18 декабря 2011

Здесь есть довольно много других вопросов, которые говорят вам, как отключить отправку, если не установлен флажок. Я могу легко достичь этого.

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

Вот одна из многих версий, которые я пробовал. (это упрощено) Спасибо, ребята!

<!DOCTYPE HTML>
<html>
<head>
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
</script>
<script type="text/javascript">
  $(document).ready(function(){

        $("form").submit(function(e){
        if($("#terms").not(':checked')){
            e.preventDefault();
            alert('Please check the first checkbox!');
        } 
                         return true;
    }
});



});
</script>
</head>
<body>
<form method="post" action="http://google.com">
    <input type="checkbox" name="cb1" id="terms" value="a" /> A<br />

    <!-- disable our submit button by default -->
    <input type="submit" id="submitButton" value="submit"/>
</form>
</body>
</html>

Ответы [ 2 ]

1 голос
/ 19 декабря 2011
$(document).ready(function ()
{
    $("form").submit(function (e)
    {
        if ($("#terms:not(:checked)").length > 0)
        {
            e.preventDefault();
            alert('Please check the first checkbox!');
            return false;
        }

    });
});
0 голосов
/ 19 декабря 2011

Это должно работать:

 $(document).ready(function(){ 

        $("form").submit(function(e){ 
        if(!$("#terms").is(':checked')){ 
            e.preventDefault(); 
            alert('Please check the first checkbox!'); 
        }  
                         return true; 
    } 
); 
...