为什么这个javascript无法在html中运行,但是在控制台中工作?

时间:2018-05-09 13:29:50

标签: 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 +"; 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>

如果我直接做:

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

在控制台中,它可以很好地添加cookie。

我实际上并不知道发生了什么,但我需要这个项目才能完成。我试图在我的脑海中做所有的事情,但我无法做任何会改变这个功能的事情。

1 个答案:

答案 0 :(得分:2)

你需要解决三件事才能让它发挥作用。

  1. 将GetElementById更改为getElementById
  2. 正确使用用户周围的引号。用户单引号而不是双引号,因为您对整个onsubmit函数使用双引号。
  3. 您需要传递输入字段的值而不是输入元素本身。您可以通过document.getElementById('user')。value
  4. 来完成此操作