php表单上有个输入框,一个下拉列表(包含6种转换),以及一个按钮“转换”。实现可灵活进行进制转换的功能。
时间: 2024-10-23 15:10:13 浏览: 10
在 PHP 中,你可以通过 HTML 表单结合 JavaScript 和 PHP 动态处理来实现这个功能。首先,设置基本的HTML结构:
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<title>进制转换</title>
</head>
<body>
<form id="conversionForm" method="post" action="convert.php">
<label for="input">请输入数字:</label><br>
<input type="text" name="number" id="number"><br>
<label for="select">选择转换类型:</label><br>
<select name="conversionType" id="conversionType">
<option value="binary">二进制</option>
<option value="octal">八进制</option>
<option value="decimal">十进制</option>
<option value="hexadecimal">十六进制</option>
<!-- 可能还有其他选项,如十六进制 -->
</select><br>
<button type="submit">转换</button>
</form>
<script>
// JavaScript 部分,用于前端验证或预处理数据(可选)
document.getElementById('conversionForm').addEventListener('submit', function(e) {
e.preventDefault(); // 阻止表单默认提交,防止刷新页面
// 获取用户输入并发送到服务器
var number = document.getElementById('number').value;
var conversionType = document.getElementById('conversionType').value;
// 发送到 convert.php (替换为 AJAX 或 XMLHttpRequest)
fetch('/convert.php', {
method: 'POST',
body: JSON.stringify({number, conversionType}),
headers: {'Content-Type': 'application/json'}
})
.then(response => response.text())
.then(data => console.log(data)); // 在这里显示结果或者更新UI
});
</script>
</body>
</html>
```
接下来,创建一个 PHP 脚本来处理请求并完成转换:
**convert.php**
```php
<?php
// 引入json扩展
if (!function_exists('json_decode')) {
die('PHP json扩展未开启');
}
// 接收并解析 POST 数据
$data = json_decode(file_get_contents('php://input'), true);
$number = $data['number'];
$conversionType = $data['conversionType'];
// 根据选择的类型进行相应转换
switch ($conversionType) {
case 'binary':
$convertedNumber = decbin($number);
break;
case 'octal':
$convertedNumber = decoct($number);
break;
case 'decimal':
$convertedNumber = $number;
break;
case 'hexadecimal':
$convertedNumber = dechex($number);
break;
// 添加其他转换类型的支持...
}
echo $convertedNumber;
//
阅读全文