checkout opencart上的必填复选框

时间:2018-05-14 12:42:34

标签: javascript checkbox opencart

我想在opencart 2.1.0.1版本的结帐页面添加自定义REQUIRED复选框(使用期刊主题)。 我将使用此<input type="checkbox"轻松创建它 但我如何使用javascript使其成为必需品?

1 个答案:

答案 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>