我遇到了表单中的一些代码问题。我试图从用户(美元金额)获取值并将其解析为整数。然后我需要执行计算以增加2.9%并且还将.30添加到产品中。
似乎问题在于解析...因为我在控制台中收到错误$sendAmount.val is not a function
[当我输入$sendAmount.val()
]时。但是,如果我提交$userAmount.val()
,它将返回用户提交的美元金额(以字符串形式)。
请注意,$userAmount
是用户输入的内容
$sendAmount
是发送给Paypal的内容。
任何对此的帮助都会非常感激......我一直试图让这个工作起来并且一直空着。我对parseInt没有多少经验。
这是我的代码:
var $sendAmount = $("#payAMT");
var $userAmount = $("#valInput");
//Update the Amount
function $convFee() {
$sendAmount = parseInt($userAmount) * 1.029 + 0.30;
};
$agree.keyup($convFee);
$agree.click($convFee);

<div id="paypalWrap">
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="new">
<input type="hidden" name="amount" id="payAMT" value="0.00">
<input type="hidden" name="currency_code" value="USD">
<p>
<label for="os0" type="hidden" name="on0" value="Name:">Name:</label>
<input type="text" name="os0" maxlength="30" id="name">
</p>
<p>
<label for="os1" type="hidden" name="on1" value="Invoice Number:">Invoice Number:
<br />
<i>(Reference must be correct to get credit applied to your account)</i>
</label>
<input type="text" name="os1" maxlength="50" id="invoice">
</p>
<p>
<label for="os2" type="hidden" name="on2" value="Amount:">Amount being paid:</label>
<input type="text" name="os2" id="valInput" maxlength="15" placeholder="ex: 10.00 (not $10.00)">
</p>
<p>
<input type="checkbox" name "agreeCheck" id="agreeCheck" />
<label for="agreeCheck" type="hidden" name="agreeStatement" id="agreeStatement">
I understand and accept that I will be charged a convenience fee ($0.30 + 2.9% of transaction).
</label>
</p>
<input id="send" type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_paynowCC_LG.gif" disabled="disabled" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
</form>
</div>
&#13;
答案 0 :(得分:1)
此行有两次相同的问题:
$ sendAmount = parseInt($ userAmount)* 1.029 + 0.30;
这两个变量都是DOM元素,而不是数字。您需要将它们作为项目进行交互,特别是它们的值元素(可以解析为数字的字符串)。
您需要从第一个值中检索值,并设置第二个值,例如:
$ sendAmount.val(parseInt($ userAmount.val)* 1.029 + 0.30);