newb here。
网站网址:http://school.max-o-matic.com/itc250.php#011
我的学生门户网站上有两个已完成的作业,两个都是表格,我希望能够重置/清除它们。我知道我可以创建一个按钮来清除它们,将用户从“http://school.max-o-matic.com/itc250.php#011”发送到“http://school.max-o-matic.com/itc250.php”,这将删除锚标记并重新加载页面清除/重置表单中的处理。但它也需要滚动。我还可以创建第二个锚标签('#011b')并将其放在一个不可见的元素中并重新加载页面以保持/阻止滚动但这似乎是对我的欺骗/肮脏的黑客与良好的程序化练习。
我试图用它来重置表单('echo''),但它似乎没有做任何事情。所以我希望有人可以帮我找到一个很好的方法来实现我的最终目标,那就是有一个可重复的工具来清除/重置页面,这样我就可以测试多个场景而无需连续滚动/重新滚动。
<?php
//Constant never changes, 100% available everywhere- almost always simple datatypes (T or F, num, string)
//define('THIS_PAGE', $_SERVER['PHP_SELF']);//shows webroot
define('THIS_PAGE', basename($_SERVER['PHP_SELF']));//shows app root - gets name of the file basically
define('TAX_RATE', .095); //current tax rate us => .095 => is 9.5%
//echo THIS_PAGE;// shows this pagefile
//VAR_DUMP - we love it cause we can see everything
if (isset($_POST['submit'])) {//if data, do processing
$purch01 = (float) $_POST['purchase01'];//float before floats data after
$purch02 = (float) $_POST['purchase02'];//float before floats data after
$subtotal = $purch01 + $purch02;
$amountTax = TAX_RATE * $subtotal;
$amountTotal = $amountTax + $subtotal;
echo "<br /><br />";
echo 'First Purchase: $' . round($purch01, 2) . '<br />';//standard
echo 'First Purchase: $' . round($purch02, 2) . '<br />';//standard
echo '<hr />';
echo 'Subtotal before tax: $' . round($subtotal, 2) . '<br />';//standard
echo 'Tax: $' . round($amountTax, 2) . '<br />';//standard
echo '<hr />';
echo 'Washington state tax: %' . TAX_RATE . '<br />';
echo '<hr />';
echo 'your purchase amount is $' . round($amountTotal, 2) . '<br /><br />';//risky double dollar sign
/*
echo '<pre>';
var_dump($_POST); //shows everything the post knows
echo '</pre>';
*/
echo '<input type="reset" "reset the form." /><br /><br /><hr />';
}else{//show Output
echo
'
<form method="post" action="itc250.php#011">
Enter Purchase Amount:
<input type="text" name="purchase01" />
<br />
<br />
Enter Purchase Amount:
<input type="text" name="purchase02" />
<br />
<input type="submit" name="submit" />
';
}//if you dont' need else, do a 'print and die statement' so if else happens you know else happened.
?>
答案 0 :(得分:2)
重新加载页面以清除表单是不好的做法,您想要的功能是内置的:
<input type="reset" value="Clear" />
进一步阅读:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input
答案 1 :(得分:1)
为什么不做一些简单的事情:
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="submit" name="reset" value="reset">
</form>
工作而且很干净,我真的没有看到“不良做法”吗?
答案 2 :(得分:0)
我找到了一个解决方案如下:
在头脑中我补充道:
<script> function reloadPage() { location.reload(); } </script>
我补充说:
<input type="button" value="Reload page" onclick="reloadPage()">
这就是我想要的,而且我可以一遍又一遍地巧妙地应用这些东西,这样很酷。