我想在opencart 2.1.0.1版本的结帐页面添加自定义REQUIRED复选框(使用期刊主题)。
我将使用此<input type="checkbox"
轻松创建它
但我如何使用javascript使其成为必需品?
答案 0 :(得分:1)
只需检查复选框的checked
属性即可。据此,提交您的表格或阻止其提交。
function validate() {
var checkbox = document.querySelector('#check');
if (!checkbox.checked) {
alert("Please check the checkbox!");
return false;
}
return true;
}
<form onsubmit="return validate()" action="">
<input type="checkbox" id="check">
<button>Send</button>
</form>
修改强>
如果您的HTML中没有form
,则可以禁用提交按钮,直到选中此复选框为止:
function enableSubmit() {
var button = document.querySelector('#btn');
var checkbox = document.querySelector('#check');
if (checkbox.checked == false) {
button.setAttribute('disabled', '');
} else if (checkbox.checked == true) {
button.removeAttribute('disabled');
}
}
<input type="checkbox" id="check" onclick="enableSubmit()"><button type="submit" id="btn" disabled>Submit</button>
修改2
如果您只想显示错误消息,则可以选择切换div的可见性:
function validate() {
var checkbox = document.querySelector('#check');
var errorDiv = document.querySelector('#error');
if (checkbox.checked == false) {
errorDiv.style.display = "block";
} else if (checkbox.checked == true) {
errorDiv.style.display = "none";
}
}
#error {
width: 100%;
height: 20px;
background-color: #f44b42;
}
<input type="checkbox" onclick="validate()" id="check"><button id="btn">Send</button>
<div id="error" style="display: block">Please check the checkbox.</div>