我正在构建一个web应用程序,将有一个相当多的表单。html表单是使用php生成的。
我遇到的一件事是:
我有一个下拉框供用户选择他的国家。一旦他选择了国家,就会调用服务器获取国家内部的状态列表,并将其填充到下拉框中。
起初,我想我可以提供两种选择:
但是,onChange()需要javascript。因此,如果有人在没有启用javascript的情况下访问表单,我们就无法处理第二个选项,因为javascript需要使用onChange()提交表单。
有什么办法能解决这个问题?我目前唯一的解决方案就是强制使用javascript。没有启用javascript的用户将看到一条消息,表示页面将不能正常工作。
一些地点:
除了"javascript是必需的message"
要求用户在当前网络状态(2011年8月)启用javascript是否可以接受?
刚刚发现了一个可能的解决方案:http://cita.disability.uiuc.edu/html-best-practices/auto/onchange.php
我也许可以添加一个按钮,用户可以使用它来选择他们的国家。这应该允许我们重新加载表单,并在没有任何javascript的情况下呈现状态下拉的表单。
发布于 2011-10-10 05:22:54
最后我做的是在下拉列表旁边添加一个按钮,上面写着“选择国家”。没有javascript的用户将看到这个按钮。单击它后,页面将重新加载呈现的状态列表。
对于没有javascript的用户,这个按钮是隐藏的,选择一个国家将自动呈现一个包含相关状态的新下拉列表。
发布于 2011-09-09 05:04:18
您可以提供状态的下拉列表,并告诉用户如果不适用,则将其保留为空白。如果启用了JavaScript,它可以删除下拉菜单,直到选择了适用的国家为止。
不,要求JavaScript是不可接受的;例如,许多具有安全意识的用户使用NoScript,并且不愿意关闭它。
发布于 2011-09-09 05:09:22
默认情况下,您应该将所有可能的值加载到第二个下拉列表中,然后用Javascript清除页面加载中的值。这样,没有启用Javascript的人仍然可以选择正确的选项。
我保证会为此受到谴责,但你是否支持不-JS应该是你的决定。如果你认为你的用户基础可能有相当一部分的人禁用JS,那么你应该给他们一个网站,但不是最优的。如果您认为大多数浏览器将运行在“正常”(air引号在那里很重要)浏览器,那么您可能会考虑放弃对非JS用户的支持。
https://stackoverflow.com/questions/7357308
复制相似问题