jQuery 在提交时更改值

标签 jquery forms paypal

我在使用 PayPal 捐赠按钮时遇到问题。

PayPal 的货币格式是用一个点定义的。在欧洲,我们的货币使用逗号。这会导致一个问题,即在提交表单后,PayPal 表示金额格式错误。

通常简单地使用 str_replace(',','.', $_POST['amount']) 不会有问题,但表单将直接发送到 PayPal,以便没有机会使用 php 验证/替换输入。

这就是我需要使用 jQuery 的原因。

基本思想是检查值中是否有逗号,如果有则用点替换逗号并返回 true 以发布表单。

$(function() {
    $('#paypal').submit(function() {
           if ($('#amount') contains a comma) {
              replace comma with dot;
           }
      }
        return true; 
    });
});

我通常不使用 jQuery。因此,如果有人可以帮助我,我将不胜感激。

提前致谢。

最佳答案

您可以使用 replace()regex如果数量中会有多个,

$(function() {
    $('#paypal').submit(function() {
        $('#amount').val($('#amount').val().replace(/,/g, '.'));
        return true;
    });
});

g 标志将确保替换所有出现的 ,


如果只有一个你可以使用replace而不用regex(更快)

$('#amount').val($('#amount').val().replace(',', '.'));

关于jQuery 在提交时更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31534240/

相关文章:

javascript - jQuery 触发器 ('click' ) 不适用于 Jasmine-jquery

javascript - 使用 jQuery.each 获取多个 ajax,当 (jQuery.when) 全部完成时执行某些操作

java - 带有 foreach 的 Spring MVC 表单

wpf 数据绑定(bind)网格行可见性

database - 多属性模型EAV数据库设计(其他模型)

php - paypal IPN 不发送任何通知

javascript - 单击 jquery/javascript 中的 div 更改单选按钮值

javascript - 在数组中 & 在字符串中

java - 将paypal的curl获取访问 token 请求转换为Java中的http请求

paypal - 启动 Paypal 商家帐户