Kat*_*lle 0 javascript forms jquery if-statement function
我有一张表格.当用户单击列表项并选择"大小值"时,会给它一个选定的类,然后用户可以提交表单.
我想弄清楚的部分是,当没有选择大小时(因此没有列表项具有"已选择"类),表单将不会被提交,而是显示错误消息.我无法使用此工作并显示错误消息,因为表单仍然只是提交.
目前我收到一个错误,告诉我这document.getElementById("errormessage").show()不是一个功能.
有谁知道为什么会这样?任何人都可以帮助我使用我的代码让它以我想要的方式工作吗?
.on('click', '.modalAddToBagButton', function(e) {
e.preventDefault();
var x = document.getElementsByClassName("es-value");
var i = x.length;
var selected = false;
while (i--) {
if (x[i].hasAttribute("selected")) {
selected = true;
}
}
if (selected == false) {
//Displays error
document.getElementById("errormessage").show();
} else {
$(this).closest("#dialog-addToBag").find('form').submit();
}
});Run Code Online (Sandbox Code Playgroud)
<form>
<ul>
<li>
<ul>
<li class="size-value"></li>
<li class="size-value"></li>
<li class="size-value"></li>
<li class="size-value"></li>
</ul>
</li>
</ul>
</form>
<div id="errormessage">Please select a size</div>
<div class="mt10">
<input type="submit" class="modalAddToBagButton">
</div>Run Code Online (Sandbox Code Playgroud)
你正在混淆Javascript和Jquery功能.
更新自
document.getElementById("errormessage").show();
Run Code Online (Sandbox Code Playgroud)
至
$("#errormessage").show();
Run Code Online (Sandbox Code Playgroud)
要么
document.getElementById("errormessage").style.display = 'block';
Run Code Online (Sandbox Code Playgroud)