2017-10-10 208 views
-5

我有一个自动生成的选择框(基于其他领域的用户决定)。我在“onlick”事件中使用“onclick”事件。的Javascript:如何强制用户点击选择

计划:

  1. 如果此我必须禁用其他一些领域和选择(下拉菜单),用户点击打开。理想的做法是,如果用户以前的决定后,该选择开启全自动but looks like我无法打开选择由JS,要提出的是在每一个浏览器类型的工作,所以我必须让用户做到这一点。

  2. 在谢胜利,点击我要得到什么用户选择,并用它做什么价值。但用户可能不会选择它,或者从选择中错过并关闭它(它可能会混淆启用/禁用其他字段)。所以我想强制用户点击一个值,如果选择已经被用户打开。

下面是代码:

document.getElementById("infodropdown").onclick = (function() //the select opens + I disable other fields 
{ 
    document.getElementById("infodropdown").onclick = (function() //the user should choose a value 
    { 
    //do something with the input, and enables other fields 
    }); 
}); 

如果有任何其他更先进的方法,使他/她打开下拉非常欢迎用户选择。非常感谢您的任何建议!

+1

首先,如果这是一个网站,那么像这样的下拉是一个可怕的用户体验。如果你想要一个用户点击某个东西,只需向他们提供一个选择列表,然后继续浏览网站的新部分。 – Mouser

+0

为什么?你在做什么/建立什么?第2位。点击并不是改变选择框值的唯一方法;不要过多地关注点击。不要让这样的用户烦恼。如果有必要选择一个值来完成手头的任务,您的用户将会这样做;如果他们不想,他们会离开。如果你试图像这样推动你的用户,你只会转移离开页面的机会。 – Thomas

+0

这有点难以解释。我有多个下拉菜单。第一个是使用“sharepointservice”从简单文本框生成的“自动完成”下拉菜单。用户可以在那里选择一个名称,我应该根据外部Sharepoint列表中的名称找到一个ID。但名称并不是唯一的,因此可能会有多个ID参考。所以我生成这个下拉菜单,我想让用户选择正确的ID到名称。之后,我必须从名称+ ID +日期生成一个新类型的ID,并且只有完成此操作,用户才能继续下一步,以便他们必须选择最终结果。 – Nefri

回答

-1

我认为最好的办法是通过制作一个自定义,以取代下拉列表。那么你会完全控制它。 使用一些叠加层甚至可能会阻止用户执行其他任何操作,而不是在列表中选择一个项目。

+0

这不回答这个问题。你还没有足够的代表评论。请不要添加没有完全回答问题的答案。 – Liam

+0

这是一个XY问题的完美例子--OP想要做一些事情,并决定使用select来做,而select并不像预期的那样工作,因此会在select中提出问题。答案是:回到实际问题并重新考虑替代方案。 –

+0

这不提供问题的答案。一旦你有足够的[声誉](https://stackoverflow.com/help/whats-reputation),你将可以[对任何帖子发表评论](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要提问者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- I-DO-代替)。 - [来自评论](/ review/low-quality-posts/17584399) –