2

我有以下 javascript:

<script type="text/javascript">
function changeBet(parseFloat(bet)) {
var moneyline = parseFloat(<?php echo json_encode($win) ?>);
var gain = parseFloat(bet * moneyline);
document.getElementById("PotentialGain").value = gain;
}
</script>

php 变量 $win 成功地 var_dump'ed 作为浮点数。当变量gain=bet时,PotentialGain 按预期显示来自 BetAmount 的用户输入。这是我的回显 php 代码:

echo '<tr>';
echo '<td>type="text" name="BetAmount[]" id="BetAmount" onkeyup="changeBet(this.value);" ></td></tr><tr><td>Potential Gain:<input type="text" name="PotentialGain[]"  id="PotentialGain" ></td></tr><tr><td><input type="Submit" name="send" value="Submit"></td>';
echo '</tr>';

但是,我希望将增益(作为 PotentialGain 值输入)作为用户输入bet* var moneyline

结果是 NaN。是否有一个变量我没有正确解析以显示正确的增益数值?

谢谢你的帮助。

4

3 回答 3

2

问题是这一行中的语法不正确:

function changeBet(parseFloat(bet)) {

您需要将参数传递给函数,如下所示:

function changeBet(bet) {

然后,当您调用该函数时,您可以评估要通过 parseFloat 发送的任何参数:

changeBet(parseFloat(strBet));
于 2012-11-28T01:25:09.543 回答
2

您不能将函数调用放在需要参数名称的位置。

function changeBet(bet) {
    bet = parseFloat(bet);
    // rest of code
}
于 2012-11-28T01:25:10.533 回答
0

这是我使用的最终 javascript:

<html>
<script type="text/javascript">
function changeBet(bet) {
var moneyline = <?php echo $win ?>;
var gain = (bet * moneyline).toFixed(2);
document.getElementById("PotentialGain").value = gain;
}
</script>
</html>

我最后的笔记是: 1. 要记住将 javascript 函数放在代码之后,并使用 php 计算。2.感谢所有澄清的人,parseFloat如果您知道 var 是 int (或在我的情况下为 double ),则没有必要。3.感谢大家澄清parseFloat不属于函数参数。

希望这可以帮助其他人!

于 2012-11-28T01:59:27.817 回答