Как запретить отправку формы, если checkbox не установлен

sherxan-g

Новичок
Есть простая проблема, но для новичка, я не вижу, в чем проблема. По сути, я пытаюсь отключить кнопку отправки, пока не будет установлен флажок и надпись в форм текста, видела предупреждающие сообщения

HTML:
        <br>
        <span>Code:</span>
        <textarea name="code" id="taCode" style="width:100%;height:200px;"></textarea><br/>
        <input type="button" value=">>" onclick="exec();">
JavaScript:
function exec(){
//ProgressBar
$("#dialog1").dialog({autoOpen:true,modal:true,height:200,width:600, show: 'bounce'});
progress = setInterval(function() {
    $.get("other.php?"+new Date(), function(data) {
        $("#progressbar").progressbar({
          value: parseInt(data.percent)
        });
        $('#ui-dialog-title-dialog1').text('PROGRESS: '+data.percent+'%');
        $('#current').html('Status: '+data.url);
    },'json');
}, 600);
 
$("#progressbar").progressbar({
          value: 0
        });
   checkBoxs = [];
   $("input:checkbox:checked").each(function() {checkBoxs.push($(this).val());});
   checkBoxs = $.grep(checkBoxs, function(n) {
   return ( n !== 'on' );
   })
   code=encodeURIComponent($('#taCode').val());
   $.ajax({url:'exer.php',
         type:'POST',   
         data:'do=exec&code='+code+'&id='+checkBoxs.join(),
         success:function(result){
            $('#ajax').html(result);
            clearInterval(progress);
            $('#current').html('Status: Complete!').effect('slide');
            }
      });
 

fixxxer

К.О.
Партнер клуба
Начнём с того, что проверка должна висеть не на onclick кнопки, а на onsubmit формы. Я могу и не кнопку кликать, а enter нажать.
Чекбокса в приведённом html не наблюдаю. Проверки в джаваскрипте тоже не наблюдаю.
 

sherxan-g

Новичок
Начнём с того, что проверка должна висеть не на onclick кнопки, а на onsubmit формы. Я могу и не кнопку кликать, а enter нажать.
Чекбокса в приведённом html не наблюдаю. Проверки в джаваскрипте тоже не наблюдаю.
enter ничего не вызывает
 

fixxxer

К.О.
Партнер клуба
enter ничего не вызывает
Потому что у кнопки должен быть тип submit, а не button.
Да и в этом случае я могу tab-ом дотыкать до кнопки и нажать enter, а то, что это не работает, очень фигово. Может, я инвалид и мышкой мне тяжело.
 

Squats

Новичок
Важно не то, запретите вы отправку через js, важно то, есть-ли, запрет по тому-же принципу на стороне php.
И чтобы выдавало ошибки, сервер должен контролировать все эти ошибки и отдавать в ответе клиенту.
В большинстве случаев, не требуется писать в js все эти проверки, кроме посылки любого запроса, ответ от сервера может быть разным.
Ну, а флажки типо уже нажимали, отправляли или нет, это не долго поставить.
 
Сверху