为什么这个javascript不能在html中工作,而是在控制台中工作?

为什么这个javascript不能在html中工作,而是在控制台中工作?,javascript,html,Javascript,Html,这是我的html,它似乎没有添加此cookie <?php $cookie_name="user"; $cookie_value="anony"; setcookie($cookie_name, $cookie_value, time() + (86400 * 7), "/"); ?> <script> function ChangeCookie(loginuser){ document.cookie = "user="+ loginuser +

这是我的html,它似乎没有添加此cookie

<?php
  $cookie_name="user";
  $cookie_value="anony";
  setcookie($cookie_name, $cookie_value, time() + (86400 * 7), "/");
?>

<script>
  function ChangeCookie(loginuser){
    document.cookie = "user="+ loginuser +"; expires=Thu, 18 Dec 2018 12:00:00 UTC; path=/";
    return 1;
  }
</script>

<html>
  <head>
    <title>Login</title>
  </head>
  <body>
    Please enter your username
    <form name="myForm" action="/index.html" onsubmit="return ChangeCookie(document.GetElementById("user"))" method="post">
      <input type="text" id="user">
      <input type="submit" value="Submit">
    </form>
  </body>
</html>
在控制台中,它可以添加cookie


我不知道到底发生了什么,但我需要一个相当大的项目。我已经试着去做我想做的每一件事,但是我无法做任何事情来改变这个特性。

为了让它工作,你需要在这里解决三件事

  • 将GetElementById更改为GetElementById
  • 正确使用用户周围的引号。在整个onsubmit函数中使用双引号时,请使用单引号而不是双引号
  • 您需要传递输入字段的值,而不是输入元素本身。您可以通过document.getElementById('user').value来实现这一点

  • 要让它正常工作,需要解决三件事

  • 将GetElementById更改为GetElementById
  • 正确使用用户周围的引号。在整个onsubmit函数中使用双引号时,请使用单引号而不是双引号
  • 您需要传递输入字段的值,而不是输入元素本身。您可以通过document.getElementById('user').value来实现这一点

  • 解释“我脑海中的每一件事”,这样我们就知道什么是错的。将脚本放在结束
    正文
    标记之前。可能还有
    文档。GetElementById(“用户”)
    不是您应该传递给
    ChangeCookie()
    的内容。。您应该获取输入值,而不是试图在cookie中保存DOM元素。document.GetElementById解释“我脑子里的每一件事”,这样我们就知道什么是错的。将脚本放在关闭
    正文
    标记之前。可能
    文档。GetElementById(“用户”)
    不是您应该传递给
    ChangeCookie()的内容
    。。您应该获取输入值,而不是尝试在cookie.document.GetElementById中保存DOM元素
    function ChangeCookie(loginuser){
    document.cookie = "user="+ loginuser +"; expires=Thu, 18 Dec 2018 12:00:00 UTC; path=/";
      return 1;
    }