2 回答

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個(gè)贊
需要解決的幾個(gè)問題:
你用
settype()
錯(cuò)了。它改變了變量,它不返回新值。你可以用intval()
它。而且您不應(yīng)該轉(zhuǎn)換screen1
為整數(shù);to 的第一個(gè)參數(shù)base_convert
必須是一個(gè)字符串(如果將其轉(zhuǎn)換為整數(shù),它將被解析為十進(jìn)制,但重點(diǎn)是在特定的基數(shù)中解析它)。您應(yīng)該使用
if
,而不是do-while
來測試表單是否已提交。您不能像現(xiàn)在這樣在 JavaScript 中使用 PHP 變量。在 PHP 腳本完成后,JavaScript 在客戶端上運(yùn)行。因此,您
onclick
將顯示上一個(gè)表單提交的值。相反,將結(jié)果變量回顯到輸出字段的值中。這必須在執(zhí)行基本轉(zhuǎn)換的代碼之后。
該按鈕需要是一個(gè)提交按鈕,以便提交表單。如果您不想提交表單并重新加載頁面,則需要學(xué)習(xí)使用 AJAX,我不會(huì)在本答案中展示如何操作。
您在對 的調(diào)用中拼錯(cuò)
$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貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊
我認(rèn)為您必須重新創(chuàng)建代碼,因?yàn)樗_實(shí)令人困惑:
<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 關(guān)注
- 230 瀏覽
添加回答
舉報(bào)