PHP:提交给self的清除/重置表单

PHP:提交给self的清除/重置表单,php,forms,postback,reset,Php,Forms,Postback,Reset,我是新手 网站网址: 我的学生门户上有两个作业,我已经完成了,都是表格,我希望能够重置/清除它们。我知道我可以创建一个按钮来清除它们,该按钮将用户从“”发送到“”,这将删除锚定标记,并在过程中重新加载页面清除/重置表单。但它也需要滚动。我还可以创建第二个锚定标记(“#011b”)并将其放在一个不可见的元素中,然后将页面重新加载到该标记以保持/防止滚动,但这对我来说似乎是欺骗/肮脏的攻击,而不是良好的编程实践 我试图用它来重置表单('echo'),但它似乎没有任何作用。所以我希望有人能帮我找到一个

我是新手

网站网址:

我的学生门户上有两个作业,我已经完成了,都是表格,我希望能够重置/清除它们。我知道我可以创建一个按钮来清除它们,该按钮将用户从“”发送到“”,这将删除锚定标记,并在过程中重新加载页面清除/重置表单。但它也需要滚动。我还可以创建第二个锚定标记(“#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.

?>
<script> function reloadPage() { location.reload(); } </script>

我找到了如下解决方案:

在标题中,我补充道:

<input type="button" value="Reload page" onclick="reloadPage()">
函数重载页面(){location.reload();}
我在正文中补充说:

<input type="reset" value="Clear" />


这正是我想要的,我可以一遍又一遍地巧妙地使用它,这样很酷。

我找到了一个解决方案,如下所示:

在标题中,我补充道:

<input type="button" value="Reload page" onclick="reloadPage()">
函数重载页面(){location.reload();}
我在正文中补充说:

<input type="reset" value="Clear" />


这正是我想要的,我可以一遍又一遍地巧妙地使用它,这样很酷。

我找到了一个解决方案,如下所示:

在标题中,我补充道:

<input type="button" value="Reload page" onclick="reloadPage()">
函数重载页面(){location.reload();}
我在正文中补充说:

<input type="reset" value="Clear" />


这正是我想要的,我可以一遍又一遍地巧妙地使用它,这样很酷。

我找到了一个解决方案,如下所示:

在标题中,我补充道:

<input type="button" value="Reload page" onclick="reloadPage()">
函数重载页面(){location.reload();}
我在正文中补充说:

<input type="reset" value="Clear" />


这正是我想要的,我可以一遍又一遍地巧妙地应用它,这很酷。

重新加载页面以清除表单是一种不好的做法,您想要的功能是内置的:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="submit" name="reset" value="reset">
</form>


进一步阅读:

重新加载页面以清除表单是一种不好的做法,您想要的功能是内置的:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="submit" name="reset" value="reset">
</form>


进一步阅读:

重新加载页面以清除表单是一种不好的做法,您想要的功能是内置的:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="submit" name="reset" value="reset">
</form>


进一步阅读:

重新加载页面以清除表单是一种不好的做法,您想要的功能是内置的:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="submit" name="reset" value="reset">
</form>


进一步阅读:

你为什么不做一些简单的事情,比如:


为什么不做一些简单的事情,比如:


为什么不做一些简单的事情,比如:


为什么不做一些简单的事情,比如:


要在不刷新页面的情况下清除表单,请使用javascript。这会清除post数据并返回输入元素吗?要在不刷新页面的情况下清除表单,请使用javascript。要清除post数据并返回输入元素吗?要在不刷新页面的情况下清除表单,请使用javascript。这会清除输入元素吗发布数据并返回输入元素?若要在不刷新页面的情况下清除表单,请使用javascript。这会清除发布数据并返回输入元素吗?我尝试了此方法,但在提交表单(返回到自身)后,此方法似乎无法清除/重置表单。我在前面的部分中使用了它,但是一旦我们返回了回显值,它就不起作用了。@Chezshire根据上面发布的逻辑,如果它被发布了,表单甚至不应该打印出来,所以我不清楚您正在经历什么样的行为。这就是说,重新加载页面永远不会是一个好的做法-你强迫客户端下载所有内容两次,服务器生成所有内容两次,等等。如果你想要一个纯JS解决方案,你可以尝试类似$('form').find('input[type=“text”]')).val('');我试过了,但在提交(发回自身)后,似乎无法清除/重置。我在前面的部分中使用了它,但是一旦我们返回了回显值,它就不起作用了。@Chezshire根据上面发布的逻辑,如果它被发布了,表单甚至不应该打印出来,所以我不清楚您正在经历什么样的行为。这就是说,重新加载页面永远不会是一个好的做法-你强迫客户端下载所有内容两次,服务器生成所有内容两次,等等。如果你想要一个纯JS解决方案,你可以尝试类似$('form').find('input[type=“text”]')).val('');我试过了,但在提交(发回自身)后,似乎无法清除/重置。我在前面的部分中使用了它,但是一旦我们返回了回显值,它就不起作用了。@Chezshire根据上面发布的逻辑,如果它被发布了,表单甚至不应该打印出来,所以我不清楚您正在经历什么样的行为。这就是说,重新加载页面永远不会是一个好的做法-你强迫客户端下载所有内容两次,服务器生成所有内容两次,等等。如果你想要一个纯JS解决方案,你可以尝试类似$('form').find('input[type=“text”]')).val('');我试过了,但在提交(发回自身)后,似乎无法清除/重置。我在前面的部分中使用了它,但是一旦我们返回了回显值,它就不起作用了。@Chezshire根据上面发布的逻辑,如果它被发布了,表单甚至不应该打印出来,所以我不清楚您正在经历什么样的行为。这就是说,重新加载页面永远不会是一个好的做法-你强迫客户端下载所有内容两次,服务器生成所有内容两次,等等。如果你想要一个纯JS解决方案,你可以尝试类似$('form').find('input[type=“text”]')).val('');如果你是refe