单击提交按钮时会显示文本,并取消选中复选框

时间:2014-11-12 22:08:12

标签: javascript jquery html

我正在努力建立对条款和协议的同意。但是,当取消选中按钮并且用户点击提交时,我希望它向用户显示警告,告诉他同意这些条款。首先,当我取消选中该复选框时,我进入了用户甚至无法单击提交按钮的位置,但是,我希望用户能够单击它以便他可以收到错误警报。无论如何,我似乎无法让我的代码工作。

var checker = document.getElementById('checkme');
var sendbtn = document.getElementById('submit');
checker.onchange = function(){
if(this.checked){
    sendbtn.disabled = false;
} else {
    sendbtn.disabled = true;
}
if(document.getElementById('submit').click() & document.getElementById("myCheck").checked = false;){
            alert("Hello! I am an alert box!!");
}

}


<input type="checkbox" id="checkme"/>
I agree to the terms & service<br />

<input type="submit" name="sendNewSms" class="md-trigger blue-texture postbit-button-big md-pointer" data-modal="modal-five" id="submit" value=" Send "  onclick="$('.md-modal').removeClass('md-show');" disabled/>

3 个答案:

答案 0 :(得分:1)

document.getElementById("myCheck").checked = false;正在将其分配给false。如果你想检查它是否为假,你需要这个

document.getElementById("myCheck").checked === false;

答案 1 :(得分:1)

  

我希望用户能够点击它,以便他收到错误警告

  • 从提交按钮中删除disabled
  • 删除checker.onchange = function(){
  • 确保event.preventDefault();浏览器触发表单提交或其他默认的evett操作

您所需要的一切:

var checker = document.getElementById('checkme');
var sendbtn = document.getElementById('submit');

sendbtn.onclick = function( event ){
  event.preventDefault();
  if(!checker.checked){
    alert("You must agree to our terms of service");
  }
};

注意您可能希望按钮上的而不是点击,但在 formID.onsubmit (即使没有按钮点击也可以提交表单。没有看到您的表单,这是我可以建议的。)

<强> P.S:
开发者控制台(通过F12访问并单击控制台)有助于调试&/&& =/===缺少;等错误...


P.S 2 :当只使用JS时,可以用一个很好的小函数来实现一个方便的函数来快速获取一个元素,即:

function ID(id){return document.getElementById(id);} // ...and use like:
var submitBtn = ID("submit");

答案 2 :(得分:0)

从提交和其他js中删除disabled并使用:

$('#submit').click(function(e) {
    if (!$('#checkme').is(':checked')) {
        e.preventDefault();
        alert('Check the box!');
    } else {
        $(e.currentTarget).parent('form').first().submit();
    }
});