gpt4 book ai didi

javascript - 表单无法提交并给出错误消息

转载 作者:行者123 更新时间:2023-12-01 01:52:06 25 4
gpt4 key购买 nike

我有一个包含服装尺码的表格。当用户选择尺寸时,他们可以提交表单。

我的问题是,无论用户是否选择了尺寸,都可以提交表单。代码要复杂得多,但下面是表单的分解,下面有“添加到包”按钮。

<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 class="mt10">
<input type="submit" class="modalAddToBagButton">
</div>

当用户选择尺寸时,类 selected添加,因此它会显示 class="size-value selected" 。这个功能运行良好。在我的.js文件我想添加 if/else语句,其中 if <li class="size-value">已被授予类(class)selected (用户点击了这个尺寸),那么表单将被提交,但是如果NO <li>有类(class) selected ,表单将抛出错误消息。下面是我的函数部分,我认为我应该添加 if/else声明:

}).on('click', '.modalAddToBagButton', function(e) {
e.preventDefault();
// Add if/else statement here. if list items have a class selected, form can be submitted. if no list items have class selected, then display this error message.
$(this).closest("#dialog-addToBag").find('form').submit();
});

我的问题是:我该怎么写这个if/else陈述?我不知道如何从我的输入按钮访问表单和列表项,因为它们位于 div 之外并且非常嵌套,并监听是否有任何列表项被赋予类 selected以便可以提交表单,如果不提交则抛出错误消息。谁能帮忙解决这个问题吗?

<小时/>

更新:

此功能的作用是在未选择尺寸时不提交表单并显示错误消息,但是即使选择了尺寸,错误消息仍然出现并且表单不会提交。谁能找出原因吗?

.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
$("#errormessage").show();
} else {

$(this).closest("#dialog-addToBag").find('form').submit();
}
});

最佳答案

.on('click', '.modalAddToBagButton', function(e) {
e.preventDefault();
$form = $(this).closest("#dialog-addToBag").find('form');
if( $( ".size-value.selected" ).length ) { //ho
$form.submit();
} else {
$("#errormessage").show();
}
});

试试这个

关于javascript - 表单无法提交并给出错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51396735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com