输入字段总是提示输入,而不是显示占位符文本
input field always prompts for input rather than showing placeholder text
我有一个input
框,用户可以在其中键入:
<input id="entry" type="text" onkeypress="BeginTest(event)" placeholder="To start the test, begin typing here." class="focus">
在这个输入框中,他们键入的所有内容都将存储在一个变量中,但当他们进入空格或回车时会被清除。
var entry = document.getElementById("entry");
function BeginTest(event) {
if (event.which == 32 || event.which == 13) {
//store entry.value or do whatever
entry.value = "";
}
}
问题是,当他们在输入框中输入新内容时,在他们输入之前,输入框已经是一个空格。所以如果我执行:
- 在输入框中键入"abcd"
- 命中空间
然后我现在必须按下退格键才能看到那里的entry.placeholder文本。每当按下空格键或回车键时,如何使其不包括该空格?
这也很烦人,因为我目前必须使用entry.value.trim()
来删除起始空间。
捕获keyup
而不是keypress
,然后确保取消按键处理,这样在处理程序完成后不会将其添加到空值中。
var entry = document.getElementById("entry");
function BeginTest(event) {
if (event.which == 32 || event.which == 13) {
entry.value = "";
event.stopPropagation();
event.preventDefault();
return false;
}
}
<input id="entry" type="text" onkeyup="BeginTest(event)" placeholder="To start the test, begin typing here." class="focus">
之所以有空格,是因为直到调用事件侦听器之后,字符才会添加到输入的值中。如果要取消该事件,则不会添加该角色。
event.preventDefault();
http://plnkr.co/edit/KDcvkXZ1dyxpNPcw8i9D?p=preview
相关文章:
- 根据输入显示窗体
- 无法根据用户在编辑窗口中的输入显示/隐藏jtable jquery字段
- 仅显示一条通用消息,而不是每个输入显示一条
- 如何从文本区域输入显示回车
- HTML 文本输入 * “值”;以不同的文本输入显示
- 轻量级 Javascript 表过滤器,以最少的字符输入显示结果
- 根据选定的单选按钮输入显示/隐藏 DIV
- 将表单输入显示为样式化字符串-Javascript
- 纸张输入显示输入和标签在彼此的顶部
- nvd3图表的csv输入显示错误(与时间格式有关)
- 输入显示不同的值在ng模型
- 在其他元素上进行输入显示
- 输入显示所有建议和强制选择建议
- 如何使输入显示在输出上
- 编程网页的建议,其中用户输入显示选定的图像
- 如何使两个不同的范围滑块输入显示相同的值,每当用户更新其中一个
- 为不同的用户输入显示不同的正则表达式消息
- 在Code Behind/ASP.net中基于用户输入显示模态对话框/确认框
- 如何使用预先输入显示图像.js
- Javascript:根据用户输入显示随机图像