问题标签 [maskedinput]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - 用于格式化输入的 jQuery 插件
我想接受以下任何格式的值:
- -$5
- -$5.00
- 5 美元
- 5.00 美元
是否可以使用Masked Input Plugin做到这一点?
如果没有,我在寻找什么插件?
如何指示字符是可选的?
到目前为止我得到的代码
asp.net - AjaxControlToolkit MaskedEditExtender - 自定义掩码外观
我正在使用 MaskedEditExtender 向用户展示他们应该使用什么格式将日期输入到文本框中。如何将掩码更改为dd/MM/yyyy
而不是__/__/____
?
jquery - 如何自定义 Masked Input jQuery 插件
我正在使用来自的 jQuery 掩码插件
http://digitalbush.com/projects/masked-input-plugin/
我想自定义我的插件,并已尽力做到这一点,但我做不到。
我想要的是
- 我只能输入数字。
- 所有数字将在每 3 个数字后自动格式化 (,)。
- (.) 后面只有两位数
我正在使用这个面具:
这样做的问题是,如果我只需要输入 150.50,我需要将光标放在确切的位置并输入。
例如,在上面的掩码中,如果我输入 150.50,文本框如下所示:
[][][],[][][],150.50
其中 [] 是一个空格。我想要的是只显示 150.50,没有额外的 (,)s。
如果我输入 1150.50 然后显示 1,150.50,但我希望在我完成输入后自动进行格式化并且不想显示额外的任何 (,)。
c# - 表单提交后如何从输入掩码中删除文字?
我在 ASP.NET 3.5 Webform 应用程序中为 jQuery 使用 Josh Bush 的 MaskedInput 插件。
表单提交后如何摆脱代码隐藏文件中的文字?
例如:带有掩码的电话输入$("#txtPhone").mask("(99)9999-9999");
在代码隐藏中:
哪个返回我:(12)3456-7890
但这就是我想要的:1234567890
在插件更改日志页面中,它说我可以使用mask()
不带参数的方法来归档它。但是如何从代码隐藏中做到这一点?!
编辑
我的问题不清楚,所以:我想向服务器发送未屏蔽的值。怎么做?
jquery - jQuery屏蔽输入插件在智能手机上不起作用
很长一段时间以来,我一直在使用 jQuery 的屏蔽输入插件。
http://digitalbush.com/projects/masked-input-plugin/
直到昨天我收到了一张关于插件在 Driod 手机上表现不正常的支持票。
例如,当用户尝试在演示选项卡上的电话号码中输入电话号码 (123)345-9646 时,会出现 (321)345-4696 或类似的内容。
我没有智能手机,因此我无法真正进行测试。
我不确定我最好的方法是解决这个问题。智能手机上的此插件是否存在已知问题?
谢谢
jquery - 如何克隆使用 Masked Input 插件的输入?
我正在使用 jQuery 的Masked Input 插件来帮助用户为日期、邮政编码、电话号码等字段输入有效输入。(我还使用Validate来确保除非事情正确并提供提示。)
我的问题是我需要能够克隆一行输入,其中包括那些使用 Masked Input 的输入。通常,jQueryclone(true)
将复制任何绑定的事件以及克隆的 DOM 节点,但由于某种原因,这不适用于 Masked Input:单击克隆的输入会导致它专注于原始输入。
看到插件作者也有这个问题,但据我所知,还没有解决。
有人有解决方法吗?我想我可以调用unmask()
新的输入,然后mask()
再次应用原始规则,但我不想硬编码这些规则是什么;我希望它们从原始输入中确定,这样我只需将它们编码在一个地方。
jquery - jQuery Validate 和 Masked Input 之间的冲突
我有一个表单,它同时使用jQuery Validate和Masked Input来输入电话号码和美国邮政编码字段。
例如,对于美国邮政编码,Masked Input 只允许输入数字,并强制使用“99999”或“99999-9999”格式(其中 9 可以是任何数字)。验证规则要求相同。但在某些情况下,Validate 将字段标记为无效,而实际上它应该是有效的。
代码细节
jQuery Validate 在邮政编码字段上使用的正则表达式是^\d{5}$|^\d{5}\-\d{4}$
.
我使用 Masked Input 应用的掩码是.mask('99999?-9999')
重现步骤
当我执行以下操作时,它们之间会产生冲突:
- 填写无效的邮政编码(例如,三位数字)
- 远离田野。Masked Input 擦除输入(预期行为),jQuery Validate 将其标记为无效,因为它是空白的(也是预期的)。
- 返回 zip 字段并填写有效的5 位数zip。
- 远离田野。它仍然被标记为无效。这是意料之外的。
如果我填写 9 位 zip,则不会发生此问题。
假设
我认为这个错误是因为在 5 位 zip 的情况下,Masked Input 临时插入了“-____”以向用户显示他们可以选择输入一个破折号和另外四位数字。这在模糊时被删除,但在被删除之前,该字段已验证并失败,因为不允许使用下划线。
这一假设得到了以下事实的支持:如果表单随后重新验证,则 zip 字段将通过。我已经做到了这两种方式:
通过提交表格;单击提交按钮、zip 字段通过并提交表单时,所有字段都将重新验证。
通过设置
blur
重新验证该特定字段的事件。例如:$("#zipcode").blur(function(){ $(this).closest('form').validate().element($(this)); });
这可以作为一个hacky解决方案,但不是很令人满意,因为1)默认设置已经在模糊上重新验证,所以这是重复的,2)除了正常的验证规则之外,它还需要额外的代码。
有没有其他人遇到过这个问题?您有比设置额外的模糊事件侦听器更优雅的解决方案吗?
更新:应用 hacky 解决方案
即使应用上面的 hacky 解决方案也没有我想要的那么好。例如,这不起作用:
...也不是这样:
...但这确实:
由于这些元素是由 AJAX 加载的,因此.each
每次加载表单部分时都必须运行该版本。
jquery - jquerytools & $.maskedinput 冲突
我需要一些关于一个奇怪问题的帮助。
我正在使用 jQueryTools,对此我很满意,但我认为 maskedinput 插件的 $.mask() 方法与 jQueryTools 的 .mask() 属性冲突。当我同时使用它们时,控制台说“对象没有诸如 load() 之类的方法”。如果我从文档中删除掩码输入 js,则所有内容都可以叠加。
$.maskedInputs
jQueryTools .mas()
你有这样的想法吗?
谢谢
jquery - Masked Input 插件在移动设备上的行为很奇怪?
我正在使用来自以下网站的屏蔽输入插件。对于笔记本电脑,掩码适用于 MAC 地址,例如,当我输入 e1 时,它会跳过冒号并继续输入,但是,如果我从移动设备访问该页面,我的意图是输入 11 :22:33:44:55:66,光标始终停留在最前面,输入为 66:55:44:33:22:11。
jquery - 当我提交页面时,屏蔽的输入电话号码会清除文本框
我有两个问题:
1)我有这样的电话格式:
所以当我提交表单时,我想验证用户是否输入了所有 10 个数字,所以我尝试了这样的操作,但是
但不知何故,我得到了面具字符,我怎么能只有菲号码?
2)当我提交表单时它会清除电话文本框,我怎样才能将电话号码保留在文本框中?