gpt4 book ai didi

javascript - 自制计算器不行

转载 作者:行者123 更新时间:2023-11-30 12:05:15 25 4
gpt4 key购买 nike

我用 JS 和 PHP 编写了小型计算器脚本。如我所见,一切都是正确的,但在输出服务器中显示空白('0')值。我找不到2个小时的解决方案。JS 脚本,通过操作“calc.php”打开与 POST 方法的连接:

  <script type="text/javascript">
function getXmlHttp() {
var xmlhttp;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function summa() {
var how0 = document.getElementById("how0").value;
var xmlhttp = getXmlHttp();
xmlhttp.open('POST', 'calc.php', true);
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlhttp.send("how0=" + encodeURIComponent(how0));
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
if(xmlhttp.status == 200) {
document.getElementById("how").value = xmlhttp.responseText; //
}
}
};
}
</script>

计算形式:

<input type="number" required name="how0" id="how0" min="100" max="999999" placeholder="100">
<input type="number" required readonly name="how" id="how" min="200" max="999999" placeholder="200">
<input type="button" value="Calcul" onclick="summa()" />

用于检查的 Calc.php:

<?php
$a = is_numeric($_POST["how0"]);
$a = floor($a);
if ($a>1) {
$a = $a * 2;
}
if ($a>10000) {
$a = $a * 3;
}
echo $a;

?>

最佳答案

这一行:

$a = is_numeric($_POST["how0"]);

分配 is_numeric 的返回值到 $a - 例如,truefalse。然后你使用 $a 就好像它包含发布到脚本的值,但它没有。

您可能打算使用 intvalfloatval或类似的:

$a = intval($_POST["how0"]);

请注意,除非您需要支持真正的旧浏览器,否则不需要您的getXmlHttp 函数。所有现代浏览器都支持 new XMLHttpRequest

关于javascript - 自制计算器不行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35426803/

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