我正在尝试创建一个同意条款和协议(protocol)。但是,当未选中该按钮并且用户点击“提交”时,我希望它向用户显示一条警报,告诉他同意这些条款。起初,当未选中复选框时,我什至无法单击提交按钮,但是,我希望用户能够单击它,以便可以向他发出错误警报。无论如何,我似乎都无法让我的代码工作。
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/>
最佳答案
I want the user to be able to click it so he can be alerted with an error
- 从提交按钮中删除
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");
}
};
注意,您可能希望在Click按钮上执行上述操作,不是,而是在formID.onsubmit上执行em>(即使没有点击按钮,也可以随时提交表单。没有看到您的表单,这就是我的建议。)
附注:
开发者控制台(通过 F12 访问并单击控制台)有助于调试此类错误,例如 &/&&
=/===
缺少 ;
等等...
P.S2:仅使用 JS 时,可以使用一个不错的小函数来实现通过 ID 快速获取元素的便捷功能,即:
function ID(id){return document.getElementById(id);} // ...and use like:
var submitBtn = ID("submit");
关于javascript - 单击提交按钮且取消选中复选框时显示文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26897578/