2 回答
TA贡献1876条经验 获得超5个赞
需要解决的几个问题:
你用
settype()
错了。它改变了变量,它不返回新值。你可以用intval()
它。而且您不应该转换screen1
为整数;to 的第一个参数base_convert
必须是一个字符串(如果将其转换为整数,它将被解析为十进制,但重点是在特定的基数中解析它)。您应该使用
if
,而不是do-while
来测试表单是否已提交。您不能像现在这样在 JavaScript 中使用 PHP 变量。在 PHP 脚本完成后,JavaScript 在客户端上运行。因此,您
onclick
将显示上一个表单提交的值。相反,将结果变量回显到输出字段的值中。这必须在执行基本转换的代码之后。
该按钮需要是一个提交按钮,以便提交表单。如果您不想提交表单并重新加载页面,则需要学习使用 AJAX,我不会在本答案中展示如何操作。
您在对 的调用中拼错
$screen3
为$creen3
(missings
)base_convert()
。您需要
$_SERVER['PHP_SELF']
在action
属性中回显。
<?php
if (isset($_POST['conver'])) {
$screen1 = $_POST['screen1'];
$screen2 = intval($_POST['screen2']);
$screen3 = intval($_POST['screen3']);
$converted= base_convert($screen1,$screen2,$screen3);
} else {
$screen1 = $screen2 = $screen3 = $converted = "";
}
?>
<form method="POST" name="btnN" id="chr"class="myfm" action=" <?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>">
<span style="color:white">From number:</span> <br><input type="text" name="screen1" value="<?php echo $screen1; ?>" ><br><br>
<span style="color:white">From base:</span> <br><input type="text" name="screen2" value="<?php echo $screen2; ?>"><br><br>
<span style="color:white">To base:</span> <br><input type="text" name="screen3" value="<?php echo $screen3; ?>"><br><br>
<span style="color:white">Result:</span> <br><input type="text" name="screen" value="<?php echo $converted; ?>" ><br><br>
<input name="conver" type="submit" value="Convert" style="width:50%" >
</form>
TA贡献1898条经验 获得超8个赞
我认为您必须重新创建代码,因为它确实令人困惑:
<form method="POST" name="btnN" id="chr"class="myfm" action=" <?php htmlspecialchars($_SERVER['PHP_SELF']);?>">
<span style="color:white">From number:</span> <br><input type="text" name="input" ><br><br>
<span style="color:white">From base:</span> <br><input type="text" name="type-from"><br><br>
<span style="color:white">To base:</span> <br><input type="text" name="type-to">
<?php
if(isset($_POST['submit'])){
$result = base_convert(trim($_POST['input']),strtolower($_POST['type-from']),strtolower($_POST['type-to']));
}
?>
<span style="color:white">Result:</span> <br><input type="text" name="screen" value="<?php echo $result; ?>" ><br><br>
<input name="conver" type="submit" value="Convert" style="width:50%" >
</form>
- 2 回答
- 0 关注
- 207 浏览
添加回答
举报