2015-07-21 48 views
0

我使用PayPal捐贈按鈕時遇到問題。jQuery在提交時更改值

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。所以如果有人能幫助我,我真的很感激。

在此先感謝。

回答

4

如果amount中有多個,,則可以使用replace()regex

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

g標誌將確保的,所有出現將被替換。


如果將只有一個,可以使用replace沒有regex更快

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

您可以用String replace()方法。

var str = '190,89'; 
var res = str.replace(",", "."); 
1

您可以使用replace所有出現的逗號點。

if ($('#amount').val().indexOf(',')!=-1) { 
     $('#amount').val()=$('#amount').val().replace(/,/g,'.') 
}