我有一个html表单,其中包含一个textarea框和一个调用API的提交按钮(比如Google Translate API或Twitter API)。
现在我希望摆脱提交按钮,并在用户输入输入后自动调用API。 我还希望进行有限数量的API调用:理想情况下,一旦用户在该textarea中输入完成,就只需要一个API调用。
您的建议是什么:
任何指针都会受到赞赏。
编辑 - >关于“完成输入”部分:我永远不会知道用户是否已完成输入。我唯一知道的是,自x秒以来没有打字。如果我能在1或2秒后检测到不活动并触发API调用,那就太好了。这可能吗?怎么样?
答案 0 :(得分:1)
您可以在清除旧字段后将字段的keydown / keyup事件绑定到运行setTimeout
(延迟5秒)的某个函数。一旦调用了setTimeout中提到的函数 - 用户没有输入5秒钟 - 执行你的API调用。
更好的方法是在右侧显示一个倒计时器,让用户明白在5或10秒钟内会发生什么事情。
当然应该使用JavaScript完成 - 不需要服务器的额外请求
答案 1 :(得分:1)
PoltoS为您提供了有关keyUp和setTimeout的信息。你也可以处理onBlur()事件。表单使用表单的submit()方法提交。 See examples here。顺便说一句,你可能会在那里找到问题所有部分的样本。