亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

document.cookie() 函數在 Javascript 中不起作用

document.cookie() 函數在 Javascript 中不起作用

交互式愛情 2023-03-24 14:52:12
當用戶在文本框中輸入時,我試圖在 JavaScript 中設置 cookie,但它似乎無法正常工作。當我嘗試警報或 console.log 時。我得到“”值。請幫我解決這個問題。HTML 代碼:<form action="confirm.html" id="interestForm" onsubmit="storeInHidden1()">  <input type="text" name="userName">  <input type="submit" value="Register"></form>JS代碼:function storeInHidden1(){   const queryString = window.location.search;   const urlParams = new URLSearchParams(queryString);   var queryStringDetails = urlParams.get("userName");   document.cookie = "name=" + queryStringDetails;   alert(document.cookie);}
查看完整描述

1 回答

?
catspeake

TA貢獻1111條經驗 獲得超0個贊

問題

像這樣設置一個cookie

document.cookie = "name=" + variable

根據w3schools 的說法,這是一種有效的方法。但是問題是您正在嘗試訪問不存在的 url 參數,這就是您的 cookie 為空的原因。假設example.com/index.html你有以下形式:

<form action="confirm.html" id="interestForm" onsubmit="storeInHidden1()">

  <input type="text" name="userName">

  <input type="submit" value="Register">

</form>

onsubmit代碼運行storeInHidden1()試圖獲取window.location.search仍然為空的函數的函數,因為您的代碼中沒有任何內容設置window.location.searchon example.com/index.html。


接下來根據action="confirm.html"表格,所有數據都隨GET請求發送到(例如)example.com/confirm.html。這個 url 現在有 的參數?userName=JohnDoe。如果您現在要storeInHidden1在此頁面上運行,您實際上會在 cookie 中獲得一些內容。


解決方案

為了將用戶名保存在 cookie 中,index.html您只需更改storeInHidden1. 您可以直接從表單中獲取用戶名,而不是從 url 中獲取用戶名document.getElementsByName("userName")[0].value。完整的代碼可以在下面找到:


function storeInHidden1() {

  var user = document.getElementsByName("userName")[0].value;

  document.cookie = "name=" + user;

  alert(document.cookie);

}

<form action="confirm.html" id="interestForm" onsubmit="storeInHidden1()">

  <input type="text" name="userName">

  <input type="submit" value="Register">

</form>


查看完整回答
反對 回復 2023-03-24
  • 1 回答
  • 0 關注
  • 270 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號