单击输入时自动编辑用户输入

时间:2015-09-29 19:10:23

标签: javascript jquery

这似乎是一个简单的问题 - 但是我无法理解它! 基本上问题是,当客户在我的网站上输入“付款金额”时,我试图将他们的输入转换成这样的东西......

CUSTOMER输入类似于: £175.98

我希望将其转换为以下内容: 175.98

或者如果客户进入19803 我希望能够附加小数和逗号位置并删除任何无效字符,如下所示: 19,803.00

我在互联网上搜索和搜索了大约2天,找不到这样的东西!

对不起,我没有提供任何代码,但我想如果我找不到这样的东西,我相信其他人会遇到同样的问题。

我正在使用的表格:

<form action="https://myaccount.mysite.com/s/customer/payment/new-payment/action.do" method="post">
    <input type="text" name="pamt" id="payment_amount" />
    <input type="submit" value="Continue to PayPal" />
</form>

1 个答案:

答案 0 :(得分:1)

你应该尝试数字.js。我过去曾将它用于类似的格式化任务。

http://numeraljs.com/

例如:

var string = numeral(1000).format('0,0.00');

那么,您可以使用onblur事件将值更改为您希望的值:

<form action="https://myaccount.mysite.com/s/customer/payment/new-payment/action.do" method="post">
    <input type="text" name="pamt" id="payment_amount" onblur="try{this.value = numeral(this.value).format('0,0.00') }catch(e){};" />
    <input type="submit" value="Continue to PayPal" />
</form>

<强>更新

以下版本的numeral.js

中似乎存在错误
<script src="//cdnjs.cloudflare.com/ajax/libs/numeral.js/1.4.5/numeral.min.js"></script>

然而,我使用名为numeral.js的版本取得了圆满成功,可以在这里下载:

https://github.com/adamwdraper/Numeral-js/zipball/master