2011-10-21 13 views
2

私は自分の基金の寄付を受け入れるフォームを使用しているサイトで作業しています。 「$」が実際の金額に含まれている場合、支払いゲートウェイはエラーを返します。

フォームを送信する前に入力フィールドから「$」を取り除く簡単な方法はありますか?

ありがとうございました。クライアント側(jqueryの/ javascriptの)提出の

var fieldvalue = {...get from input field...}; 
fieldvalue = fieldvalue.replace(/\$/,""); 
サーバー側で

(提出後、PHP、)

$fieldvalue = $_POST['fieldname']; 
$fieldvalue = str_replace("$", "", $fieldvalue); 
+1

データが送信され、どのようにすればよいですか?いずれにせよ、[文字列から文字を削除する]を見てください(http://stackoverflow.com/questions/4846978/remove-characters-from-a-string) –

+4

'.replace(/ [^ \ d。 ]/g、 "") 'この関数は、数字とドットを除く各文字を削除します。 –

答えて

3
$('#donationform').submit(function() { 
    //get amount value 
    var CurrencyField = $("input[name='chargetotal']").val() 
    //return amount without $ 
    $("input[name='chargetotal']").val(CurrencyField.replace('$', '')); 
}); 

はトリック:)

+0

Marco、#targetをフォームのIDに変更しますか? –

+0

はい#targetはフォームのIDです。#amountは$ amountの入力フィールドのID /クラスです。 –

+0

Marco、#targetを#donationformに変更しました。このフォームはドルの金額をname = "chargetotal" –

1

、上の "replace" メソッドを使用しますtrueを返す前にフィールドの内容。

2
$('form').submit(function() { 

    $('input[type=text]', this).each(function() { 
     $(this).val($(this).val().replace(/\$/g, '')); 
    }); 

    return true; 
}); 
+0

Mike、あなたの方法を試しました - 私はフォームのIDに 'フォーム'を変更する必要がありますか?また、入力[type-text]を[name = 'chargetotal']を入力するように変更しますか?動作していないようです –

+0

はい。あなたは、あなたが目標とするフォームに適したセレクターにフォームを変更したいと思うでしょう。また、私がtype = textをしたのは、すべてのテキストフィールドに対抗するためです。セレクタに引用符を追加しないでください。 –

0

あなたは、文字列から任意の部分文字列を削除するためにString.replaceを使用することができます。

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

amountはそれで最初のドル記号なしid="amount"でフォームフィールドの値が含まれているようになります。

関連する問題