将计算的输出保存为计算器的新输入
Saving the output of calculation as the new input of a calculator
我想在PHP中制作一个计算器。我需要一种方法将计算结果保存为新的预定义输入。
示例:用户将 5 和 6 相乘,结果为 30。如果他们想将结果相乘,他们目前需要再次输入 30 并选择所需的运算。
我想保存每次操作的结果,以便用户可以继续计算结果。如果用户不想进一步使用结果,他们只需输入一个新数字并单击提交。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Kalkulator</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
if (isset($_POST["posalji_vrijednosti"]))
{
$b_1 = $_POST["broj_1"];
$op = $_POST["operacija"];
$b_2 = $_POST["broj_2"];;
}
// Varijabla koja ce sadrzavati rezultat
$rezultat = "";
// Program odradjuje svoje ispod
if ($op == "*")
{
$rezultat = $b_1 * $b_2;
}
elseif ($op == "/")
{
$rezultat = $b_1 / $b_2;
}
elseif ($op == "+")
{
$rezultat = $b_1 + $b_2;
}
elseif ($op == "-")
{
$rezultat = $b_1 - $b_2;
}
?>
<form method="post">
<table>
<tr>
<td>Unesi prvi broj</td>
<td><input type="text" name="broj_1"></td>
</tr>
<tr>
<td>Odaberi operaciju</td>
<td><select name="operacija">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
</td>
</tr>
<tr>
<td>Unesi drugi broj</td>
<td><input type="text" name="broj_2"></td>
</tr>
<tr>
<td><input type="submit" name="posalji_vrijednosti" value=" = "></td>
</tr>
<tr>
<td>
<td>
<?php
echo "Rezultat: $rezultat";
?>
</td>
</td>
</tr>
</table>
</form>
</body>
</html>
如果要将计算结果作为新输入提供给用户,只需将结果作为输入的新 value
。
最简单的解决方案和答案是:
<input type="text" name="broj_1" value="<?php echo $rezultat; ?>">
如果您希望用户最初能够从头开始,您仍然可以显示它,但要预先select 结果:
<?php
$rezultat = ""; // init that var
// your calculation
$rezultat = "30";
?>
<input type="text" id="inputField" value="<?php echo $rezultat; ?>">
<script>
input = document.getElementById('inputField');
input.select();
</script>
或者您不能在输入中显示结果,而是提供一个将结果插入该输入的按钮:
<?php
$rezultat = ""; // init that var
// your calculation
$rezultat = "30";
?>
<input type="hidden" id="result" value="<?php echo $rezultat; ?>">
<button onClick="copyValue()">re-use Result</button><br>
<input type="text" id="inputField">
<script>
function copyValue() {
result = document.getElementById('result');
input = document.getElementById('inputField');
input.value = result.value;
}
</script>
我想在PHP中制作一个计算器。我需要一种方法将计算结果保存为新的预定义输入。
示例:用户将 5 和 6 相乘,结果为 30。如果他们想将结果相乘,他们目前需要再次输入 30 并选择所需的运算。
我想保存每次操作的结果,以便用户可以继续计算结果。如果用户不想进一步使用结果,他们只需输入一个新数字并单击提交。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Kalkulator</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
if (isset($_POST["posalji_vrijednosti"]))
{
$b_1 = $_POST["broj_1"];
$op = $_POST["operacija"];
$b_2 = $_POST["broj_2"];;
}
// Varijabla koja ce sadrzavati rezultat
$rezultat = "";
// Program odradjuje svoje ispod
if ($op == "*")
{
$rezultat = $b_1 * $b_2;
}
elseif ($op == "/")
{
$rezultat = $b_1 / $b_2;
}
elseif ($op == "+")
{
$rezultat = $b_1 + $b_2;
}
elseif ($op == "-")
{
$rezultat = $b_1 - $b_2;
}
?>
<form method="post">
<table>
<tr>
<td>Unesi prvi broj</td>
<td><input type="text" name="broj_1"></td>
</tr>
<tr>
<td>Odaberi operaciju</td>
<td><select name="operacija">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
</td>
</tr>
<tr>
<td>Unesi drugi broj</td>
<td><input type="text" name="broj_2"></td>
</tr>
<tr>
<td><input type="submit" name="posalji_vrijednosti" value=" = "></td>
</tr>
<tr>
<td>
<td>
<?php
echo "Rezultat: $rezultat";
?>
</td>
</td>
</tr>
</table>
</form>
</body>
</html>
如果要将计算结果作为新输入提供给用户,只需将结果作为输入的新 value
。
最简单的解决方案和答案是:
<input type="text" name="broj_1" value="<?php echo $rezultat; ?>">
如果您希望用户最初能够从头开始,您仍然可以显示它,但要预先select 结果:
<?php
$rezultat = ""; // init that var
// your calculation
$rezultat = "30";
?>
<input type="text" id="inputField" value="<?php echo $rezultat; ?>">
<script>
input = document.getElementById('inputField');
input.select();
</script>
或者您不能在输入中显示结果,而是提供一个将结果插入该输入的按钮:
<?php
$rezultat = ""; // init that var
// your calculation
$rezultat = "30";
?>
<input type="hidden" id="result" value="<?php echo $rezultat; ?>">
<button onClick="copyValue()">re-use Result</button><br>
<input type="text" id="inputField">
<script>
function copyValue() {
result = document.getElementById('result');
input = document.getElementById('inputField');
input.value = result.value;
}
</script>