Javascript 在HTML5输入字段的文本前面添加键入的数字的最佳方法?
对于输入字段,我需要实现插入的每个数字都必须位于输入字段的前面 示例:键入9、5、1应给出Javascript 在HTML5输入字段的文本前面添加键入的数字的最佳方法?,javascript,html,Javascript,Html,对于输入字段,我需要实现插入的每个数字都必须位于输入字段的前面 示例:键入9、5、1应给出159 我希望有一个HTML5解决方案(比如dir=“rtl”),但找不到 只有通过使用Javascript,才能找到解决方案: var elem = document.getElementById(elemId); elem.focus(); elem.setSelectionRange(0, 0); 我在Jquery中实现了: $('input').keyup( function(e) { $
159
我希望有一个HTML5解决方案(比如dir=“rtl”
),但找不到
只有通过使用Javascript,才能找到解决方案:
var elem = document.getElementById(elemId);
elem.focus();
elem.setSelectionRange(0, 0);
我在Jquery中实现了:
$('input').keyup( function(e) {
$(this)[0].setSelectionRange(0, 0);
});
注意:输入字段必须是type=“text”
。type=“number”
将不起作用
实现这一点的另一种方法是将焦点从场中移除,然后再次设置焦点
然而,我仍在试图找到一个完全基于HTML5的解决方案。给你:
input {
unicode-bidi:bidi-override;
direction: RTL;
}
我的感觉是对的。有一个纯HTML5解决方案真是太棒了。它工作得很好:–“unicode bidi CSS属性和direction属性一起决定文档中双向文本的处理方式。”现在我甚至可以使用输入类型
number
。啊,太高兴了,不能过早地使用。有一个问题。键入9、5、1将显示159
,但输入字段中的值是951
。在后端检索值时,是否可以对其进行操作?我不确定你是否可以在没有JS的情况下操纵实际的“值”。是的,后端也是我的主意。然而,我最近的解决方案是使用Javascript,前端有“正确的值”。如果你假设你要在后端获得正确的值,我会小心地使用JS来处理这些值,因为很明显,可能会有一些选择禁用JS的情况——也就是说,如果你仍然可以在没有JS的情况下提交表单。