当我在Firefox中使用document.write(onClick)时页面重新加载
Page reloads when I use document.write(onClick) in Firefox
我用PHP为一个基本的计算器制作了一个代码,我不得不使用JavaScript在屏幕上显示它。但是,当我尝试在Firefox中进行任何计算时,页面会以空白代码重新加载,并且仅显示0。
在谷歌浏览器中,一切看起来都很好。
我尝试将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();">
谢谢!
你不需要 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>
相关文章:
- 创建新数据和加载现有数据需要单独的视图吗
- 钛 - HTTPClient:打开新的控制器加载
- 保持 JavaScript 在浏览器控制台中运行,即使在新的页面加载之后也是如此
- 路由到新页面时加载不起作用
- 如何在新窗口完成加载后执行某些内容
- 使用新标题重新加载 html 页面
- Primefaces在打开新页面时加载数据消息
- Wordpress音频播放器和平滑状态.在新页面重新加载播放器时调用什么回调函数
- 用新数据重新加载renderer3d
- 文本不被渲染后,新的页面加载- JQuery移动
- 需要在新标签中加载pdf/doc文件,而不是下载,只是想在浏览器中阅读
- 用新参数重新加载页面
- Js和CSS不检测新页面何时加载
- 在新页面上加载一个flash视频,它在上一页上的位置
- 在新窗口中加载代码编写器视图
- 在控制台中使用新脚本重新加载页面
- 如何在加载新页面后加载AJAX数据
- 如何使用jQuery在新窗口中加载页面,然后关闭它们
- Jquery没有看到新的HTML加载到对话框中
- 无法用新值重新加载JGrid