JQuery货币格式,但只提交数字

时间:2014-06-10 11:05:56

标签: jquery forms currency number-formatting

我找到了jQuery的这个插件,你可以输入一个数字(让我们说" 650")输入字段会自动将它改为€650, - 。
< / p>

但是当我提交表格时,表格价值是&#34;€650, - &#34; (不是很令人惊讶)
我想要的是插件将其更改回&#34; 650&#34;提交表格。输入应该只接受整个欧元,所以&#34; 650,40&#34;是不允许的。

有谁知道如何做到这一点?

4 个答案:

答案 0 :(得分:2)

这就是我以前回答这个问题的原因:

$('form').submit(function(){
    var form = $(this);
    $('input').each(function(i){
        var self = $(this);
        try{
            var v = self.autoNumeric('get');
            self.autoNumeric('destroy');
            self.val(v);
        }catch(err){
            console.log("Not an autonumeric field: " + self.attr("name"));
        }
    });
    return true;
});

感谢:

autoNumeric.js remove formatting before submitting form

答案 1 :(得分:1)

您必须手动提交form,例如,如果您有form这样的话......

<form name="f1">
<input type="text" id="autoNum"/>
<input type="button" value="submit" onclick="onsubmit()"/>
</form>
<script>
 $(function()
 $("#autoNum").autoNumeric();
 });
  function onsubmit(){
    $("#autoNum").val($("#autoNum").autoNumeric("get"));
    document.f1.submit();
  }
</script>

我们可以使用autoNumeric公开方法get获取货币符号的值。

答案 2 :(得分:1)

在服务器端尝试此代码,这可行。

string x = "€650,-";
x = Regex.Replace(x, "[^0-9,]", "");
x = x.Split(',')[0];

<强>输出:

650

答案 3 :(得分:1)

现在可以使用插件默认选项了。

new AutoNumeric(".money-val", { unformatOnSubmit: true  });

提交表单后,它会在鼠标悬停在输入字段上时自动重新格式化。

unformatOnHover:true