需要以某种方式重置PHP编辑表单中的字段

时间:2017-03-29 20:11:44

标签: javascript php

我有一个基于数据库的AMCharts表单/页面,用于绘制从该主页访问的单独编辑表单中输入的数字。后一个php编辑表单设置为始终显示每个字段中的当前条目集。此编辑表单有两个目的:一个是能够纠正先前的错误,另一个是输入一整套新的错误。新数据将输入此编辑页面,然后提交。一系列四组前几代保存在相同的表中,这些表也绘制在同一主页上。 JS div滑块脚本允许用户在同一空间中的5代独立图形之间进行比较。 MySql中内置的触发器允许将每个新集传递给较旧的集合,深度为5 gen。如果没有太多细节,则会写入触发器,以便在表单中的两个特定字段与前一个字段不同时激活它。因此,可以在不激活触发器的情况下纠正错误。和我一起到目前为止?我的问题不涉及事物的结构,它工作正常,但只有一个问题,似乎没有SO或任何其他谷歌搜索结果。具体来说,如果编辑表单用于输入一组全新的数字,您如何使用重置按钮激活一个清除输入中所有旧数字的脚本?我在SO上发现了许多使用纯JS或JQuery的答案,但它们并不用于PHP表单,而是HMTL表单。一些海报指出,这无论如何都是不可能的,因为除非使用了SUBMIT按钮,否则无法替换包含DB值的编辑表单。这个简单的设备是为了让新数字在空白时更容易输入,但到目前为止我还没有找到任何成功清除它们的脚本。简单的重置代码在HTML表单中工作,但在我的php表单中:

   <script>function resetform() {
   document.getElementById("myform").reset();}</script>

   <form action="" method="post" id="myform">

   <input value="RESET" onclick="resetform()">

enter image description here

3 个答案:

答案 0 :(得分:0)

由于没有人回答这个问题,我认为,正如我在问题中推测的那样,这是不可能的。我的解决方案是通过两种形式来解决这个问题。由于您可以使用此行调用DB值 -

  value="<?php echo $var;?>"

我创建的另一个表单几乎与编辑表单相同,减去了回显信息:

  value=""

所以我最终选择了两种形式 - &#34;编辑&#34;一个用于纠正错误的回声和一个新的&#34;没有echo指令的表单。因此,一种形式回忆DB值,另一种形式不回忆。请记住,使用相同的ID提交到表格,因为我想要最新的值,而超过5个gens的旧版本变得无关紧要。希望这对有类似问题的人有用。发布问题,也许我可以回答它们。

编辑:还要感谢@ miken32的建议,下面的文章可以解决这个问题,但我的解决方案虽然不是100%解决初始帖子中的问题,但对我来说是最好的: How can I use a reset button for php form?

答案 1 :(得分:0)

就像j08691所说的那样,您可能希望了解PHP的信息及其作用。

它会创建一个HTML页面,一旦创建,它就不再“触摸”它了。它完成了,finito。 PHP“修改”页面的唯一方法是再次创建(重新加载)它。

如果您希望与现成的加载HTML页面进行交互 - 例如在字段中输入值的表单,则必须使用其他技术,如Javascript。

现在,如果您的问题是“echo $ var”-part - 您可以通过清空$ var来避免使用值填充表单字段(在这种情况下,值将像在空表单中一样)或者如果你想打印旧值或者有空值,那就有一些“切换”嗅探:

$echo ($want_empty_form ? '' : $var);

...在这种情况下你可能会以某种方式使用GET或POST参数,在加载时告诉表单你想要一个空表单,导致......

$want_empty_form = true;

...因此表单字段为空。

答案 2 :(得分:0)

您想将所有表单值重置为初始值吗?这有什么问题:

$post_data = file_get_contents("php://input");

或者,如果你想参加1999年的聚会:

<button type="reset">Reset</button>