我有以下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的用户输入。这是我的echo'ed 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。是否有一个var我没有正确解析以显示正确的增益数值?
感谢您的帮助。
答案 0 :(得分:2)
问题是此行中的语法不正确:
function changeBet(parseFloat(bet)) {
您需要将参数传递给该函数,如下所示:
function changeBet(bet) {
然后,当你调用函数时,你可以评估你想通过parseFloat发送的任何参数:
changeBet(parseFloat(strBet));
答案 1 :(得分:2)
您不能将函数调用放在需要参数名称的位置。
function changeBet(bet) {
bet = parseFloat(bet);
// rest of code
}
答案 2 :(得分: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 caclculations。 2.感谢所有澄清parseFloat
的人如果你知道var是int(或者我的情况下是double),那么就没有必要了。 3.感谢所有澄清parseFloat
的人都不属于函数参数。
希望这可以帮助其他人!