Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当表单提交未被接受时,依赖选择器会出错_Javascript_Jquery - Fatal编程技术网

Javascript 当表单提交未被接受时,依赖选择器会出错

Javascript 当表单提交未被接受时,依赖选择器会出错,javascript,jquery,Javascript,Jquery,我有一个带有选择器/下拉菜单的页面,它依赖于另一个选择器。换句话说 -选择器1包含一定数量的类别,选择器2包含选择器1中每个类别的一定数量的子类别 -加载页面时,选择器1的所有类别都可用,选择器2的所有子类别都可用 -在选择器1上进行选择时,选择器2上可用子类别的数量通过$('selector1')缩小(根据选择器1上所选选项的情况而定) 问题是,当用户提交表单时,表单未被接受(即字段中包含错误、未填写字段等),由于“更改”功能未被重新触发,选择器2上的子类别的完整数量将变为可用,这使得用户可以

我有一个带有选择器/下拉菜单的页面,它依赖于另一个选择器。换句话说

-选择器1包含一定数量的类别,选择器2包含选择器1中每个类别的一定数量的子类别

-加载页面时,选择器1的所有类别都可用,选择器2的所有子类别都可用

-在选择器1上进行选择时,选择器2上可用子类别的数量通过$('selector1')缩小(根据选择器1上所选选项的情况而定)


问题是,当用户提交表单时,表单未被接受(即字段中包含错误、未填写字段等),由于“更改”功能未被重新触发,选择器2上的子类别的完整数量将变为可用,这使得用户可以通过恶作剧或事故,选择不适用于选择器1上所选类别的子类别。关于如何最好地处理这个问题,有什么建议吗?谢谢大家!

没有看到您的代码的外观,我只能猜测一下。听起来您需要一个函数,根据列表1中当前选定的项目加载第二个列表的项目。如果你已经有了这个功能,只需在页面加载时调用它,只要表单“不被接受”就有意义了?

“听着,我的车发出了这种笨重的声音,可能是发动机?变速器。总之,我不知道。你知道问题出在哪里吗?”。。。从机修工那里停下来。。。。“你得把车开进来让我们看看”。。。代码在哪里!!正如在文章中所述,问题很可能与以下事实有关:当表单不被接受时,javascript“change”函数不会被重新触发。伪代码在文章的第三个要点中。表单本身是通过web2py的sqlform功能自动生成的。当然,但我想知道是否有现成的解决方案可以在重新加载时保留表单的先前状态。好的,使用此选项。谢谢