我在PHP中为基本计算器编写代码,我不得不使用JavaScript在屏幕上显示它。但是,当我尝试在 Firefox 中进行任何计算时,页面将重新加载空白代码并且仅显示0。
在Google Chrome中,一切看起来都不错。
我尝试了document.open()
和document.close()
,这在Chrome中运行良好,但在Firefox中没有任何反应。
有人有解决方案吗?
这是我的功能:
<?php
function calcular(){
$n1 = isset($_POST["val1"])?$_POST["val1"]:0;
$n2 = isset($_POST["val2"])?$_POST["val2"]:0;
$op = isset($_POST["operacao"])?$_POST["operacao"]:1;
switch ($op) {
case 'subtracao':
$res = $n1 - $n2;
break;
case 'multiplicacao':
$res = $n1 * $n2;
break;
case 'divisao':
$res = $n1 / $n2;
break;
default:
$res = $n1 + $n2;
break;
}
echo $res;
}
?>
表格上的代码:
<input type="text" name="resultado" value="<?php calcular(); ?>">
<input type="submit" name="botao" value="Calcular" onclick="document.open();document.write('<?php calcular(); ?>');document.close();">
谢谢!
答案 0 :(得分:1)
您不需要JavaScript。保持你的PHP功能,这应该工作:
<?php
function calcular() {
// your function...
}
?>
<form method="post">
<p><input type="text" name="val1"></p>
<p><input type="text" name="val2"></p>
<p><input type="text" name="operacao"></p>
<p><input type="submit"></p>
</form>
<div>
<?php calcular(); ?>
</div>