热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

需要一个好的方式让用户选择“to”发送电子邮件-Needagoodwayforusertoselect“To”foremailsending

Ihaveawebsitewhereausercansendoutemailsfrom.Ihavekindofmimicsbasicformwith:我有一个网

I have a website where a user can send out emails from. I have kind of mimics basic form with:

我有一个网站,用户可以从那里发送电子邮件。我模仿了一些基本的形式

To: 
Subject:
Attachments: 

I have a list of email address in a database table and it's easy for me to retrieve this. I am trying to find the slickest way to support the following use cases:

我在数据库表中有一个电子邮件地址列表,我很容易检索到它。我正试图找到最巧妙的方法来支持以下用例:

  1. Allow users to send email to everyone in list.
  2. 允许用户向列表中的每个人发送电子邮件。
  3. Allow users to select specific members of group
  4. 允许用户选择组的特定成员。

What would be a good way to do this? Do some code samples exist?

有什么好办法呢?是否存在一些代码示例?

One way I thought of is to mimic Gmail when you can just start typing and it will do an inline search for emails in the list. I guess I would have a separate button to "Select All" users in this case.

我想到的一种方法是模仿Gmail,当你可以开始输入时,它会对列表中的电子邮件进行内联搜索。我想在这种情况下,我会有一个单独的按钮来“选择所有”用户。

That is just one idea. I am open to suggestions.

这只是一个想法。我愿意接受建议。

3 个解决方案

#1


2  

The jQuery plugin I referenced in my answer below has been replaced by a jQuery UI component.

我在下面的回答中引用的jQuery插件已经被jQuery UI组件所取代。


I'd definitely recommend the autocomplete approach. Something like this jQuery plugin would be a good start. You'd need to modify the code to treat commas as a trigger for a new autocomplete search though.

我绝对推荐自动完成方法。类似jQuery插件的东西将是一个好的开始。您需要修改代码,将逗号作为新的自动完成搜索的触发器。

As for the all members, yup, an "All Members" checkbox seems the most straightforward. If you wanted, you could also include keyword triggers in your To field processing so that words like "All" or "Everyone" would be equivalent to selecting the checkbox.

对于所有的成员,yup,一个“所有成员”复选框似乎是最直接的。如果需要,还可以在To字段处理中包含关键字触发器,这样“All”或“Everyone”等词就相当于选择复选框。

Edit: jQuery is one step ahead of me and the autocomplete plugin already supports multiple entries:

编辑:jQuery领先我一步,自动补全插件已经支持多个条目:

$("#suggest3").autocomplete(cities, {
    multiple: true,
    mustMatch: true,
    autoFill: true
});

#2


1  

How 'bout a simple select list. All Group1 Group2 Group3 ...

如何选择一个简单的选择列表。第一组第三组…

If a group is selected, load a multiple select with the group members in it.

如果选择了一个组,则在其中装入多个select。

#3


1  

I'd make 'send to all' just a checkbox, and the server determines that list (so it's not displayed client side).

我将'send to all'设置为一个复选框,服务器将确定该列表(因此它不显示客户端)。

With specific users, I'd allow the person who choose ID's from a list (not actual email addresses). If it's not mail client, you probably shouldn't be listen these peoples' emails publically. How you present this depends on how many people are in your database, etc. But autocomplete may be nice, or a simple tree-based selection. (Listing groups > people).

对于特定的用户,我允许从列表中选择ID的人(而不是实际的电子邮件地址)。如果不是邮件客户,你可能不应该公开地听这些人的电子邮件。如何呈现这取决于数据库中有多少人,等等,但是自动完成可能很好,或者是一个简单的基于树的选择。(清单人群>)。


推荐阅读
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 本文介绍了一道网络流题目hdu4888 Redraw Beautiful Drawings的解题思路。题目要求以行和列作为结点建图,并通过最大流算法判断是否有解以及是否唯一。文章详细介绍了建图和算法的过程,并强调在dfs过程中要进行回溯。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
author-avatar
ha遗忘的密
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有