gpt4 book ai didi

javascript - 实时计算进入下一步然后返回数字成为我最初设置的数字

转载 作者:行者123 更新时间:2023-11-28 07:00:15 29 4
gpt4 key购买 nike

我已经完成了实时计算的代码,这意味着当用户为所有字段输入数据时,结果将相应改变。然后我的页面有一个下一步按钮,让用户继续下一步。如果用户转到下一页并想要返回编辑他输入的内容,则结果将为 $0.00,但不是真实结果,除非用户在输入框中重新输入值。因此,我想要的是当用户返回页面时,结果将保持显示的内容。感谢您抽出时间。

<!doctype html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('input').keyup(function(){
var $rincome = parseInt($('#textfield1').val());
var $rate = parseInt($('#textfield2').val());
var $age = parseInt($('#textfield3').val());
var $rage = parseInt($('#textfield4').val());
var rmoney = fv($rate/100,$rage - $age ,0,$rincome,0);
$('#rmoney').html(rmoney);
});
});
</script>
<form action="process.php" method="post" autocomplete="on">
<b>Income (SGD):</b>
<input type="number" id="textfield1" value="<?php echo $_POST['rincome'];?>" name="rincome" min = "0" />
</p>

<p>
<b>Interest rate (%):
<input type="number" id="textfield2" value="<?php echo $_POST['rate'];?>" name="rate" min = "0" step = "0.1"/>
</p>

<p>
<b>Age:
<input type="number" id="textfield3" value="<?php echo $_POST['age'];?>" name="age" min = "0" max = "70"/>
</p>

<p>
<b>Life expectancy:
<input type="number" id="textfield4" value="<?php echo $_POST['rage'];?>" name="rage" min = "0"/>
</p>

<p>
<b>The total money you will have:$<span id = "rmoney">0.00</span>
</p>

<script>
function fv(r,n,p,pv)
{
var sum = pv;
for (var i=0;i<n;i++ )
{
sum += sum*r + p;
}
return sum.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,');
}
</script>


<p style="text-align:center" style="font-size:160%">
<input type="submit" name="submit" Value="Next"/>
<input type="reset" value="Reset" />
</p>
</form>

<?php

session_start();
$_SESSION["rate"] = $rate;
$_SESSION["rincome"] = $rincome;
$_SESSION["age"] = $age;
$_SESSION["rage"] = $rage;
?>

最佳答案

您需要做两件事:

  1. 将输入数据存储在 session 变量中:处理表单时,将输入数据存储在 session 变量中。当您返回页面时,检查是否设置了此 session 变量。如果设置了,请使用它重新填充表单。
  2. 在页面加载时,运行您的计算 jQuery 脚本一次:这是为了确保如果表单输入已经从上面的步骤 1 中预先填充,您的页面将从一开始就显示计算的输出。我会将“keyup”部分下的所有代码放入另一个函数中,并在页面加载和 keyup 时调用该函数。

干杯!

<小时/>

回答您的其他问题:

问)我应该如何告诉结果显示使用存储的数据?A) 在显示表单之前,在当前文件中检查 $_SESSION 变量是否已设置。如果设置了它们,则使 $_POST = $_SESSION。这将确保您存储的值得到使用。

问)当用户点击返回时,会显示用户在输入框中输入的内容,但结果仍然是0,除非用户重新输入至少一个值?A) 如果您在页面加载时运行 jQuery 计算(除了“Key up”之外),这个问题就会得到解决。

关于javascript - 实时计算进入下一步然后返回数字成为我最初设置的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32217595/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com