单击按钮后,PHP变量未更新

时间:2018-06-22 03:33:44

标签: javascript php html

我想要实现的是用文本显示输入的名称。允许用户单击“编辑”按钮对其进行编辑。表单将替换文本,并且表单必须具有名称的默认值。

我的代码能够执行所述过程。问题是当我单击“保存”按钮时,显示的文本仍然是旧值。它不会更新。

function edit(firstname){
        document.getElementById("firstname-div").innerHTML='First Name:<input type="text" name="firstname" value="'+firstname+'">';
      }

function save(firstname){
        document.getElementById("firstname-div").innerHTML= 'First Name:'+firstname;
        }
<div id="firstname-div">
        <?php echo "First Name: $firstname<br>"; ?>
</div>
      
      <button type="button" onclick="edit('<?php echo $firstname ?>')">edit</button><br>

      <button type="button" onclick="save('<?php echo $_POST['firstname']?>')">save</button><br>

我知道它与<button type="button" onclick="save('<?php echo $_POST['firstname']?>')">save</button>有关。 $_POST['firstname']的值仍然相同。

关于如何解决此问题的任何想法?还是其他使用纯JavaScript的实现?

1 个答案:

答案 0 :(得分:1)

当您刚接触Web开发时,最好尝试更多有关javascript和php的教程,以了解它们如何在客户端和服务器端工作。

  1. 为什么这不起作用?
    为了访问$_POST,您必须从客户端向服务器提交http发布请求。

  2. 回答您的问题。
    (请记住,我只会在客户端显示用户输入,这不会更改您的数据库或任何服务器端变量。)

<button type="button" onclick="save()">save</button><br>

function edit(firstname){
   var firstname_old = document.getElementById("firstname-div")

   //Set id="FirstName" to your input field
   firstname_old.innerHTML= 'First Name:<input type="text" id="FirstName" name="firstname" value="'+ firstname +'">';
}

function save(){
  var firstname_new = document.getElementById("FirstName").value

  document.getElementById("firstname-div").innerHTML = firstname_new

}

希望这将有助于在不重新加载页面的情况下进行修复。