簡體   English   中英

變量和字符串的串聯錯誤

[英]Concatenation of variable and String wrong

我想將一個參數傳遞給另一個頁面,但事實證明它是未定義的。

getAccount()返回json列表。 首先,我在HTML上逐一顯示這些json對象,當用戶單擊每個json對象時,accDetail [i] .accNo設置為本地存儲,並將傳遞到下一頁。

var accDetail=getAccounts();


for(var i =0;i<accDetail.length;i++) {
  document.getElementById("demo").innerHTML+='<a href="accountdetails.html" onclick="getAcc('+accDetail[i].accNo+')">'+accDetail[i].accNo +'</a>'+' '+ accDetail[i].accType+' '+ accDetail[i].balance+'<br>';

}

這是將項目設置為本地存儲的功能。

function getAcc(item)
{
    localStorage.setItem("accNo",item); }

它不顯示我想要的值,我將其連接的方式錯誤嗎?

您的onclick處理程序實際上將 getAcc(accDetail[i].accNo) (嘗試在Inspect元素中查看),該方法將不起作用,因為事件處理程序中未定義accDetail 您需要更改Javascript,以使其寫入getAcc(0)getAcc(1)等,其中0、1是不同的accNo

這是我寫的一個小例子,希望您可以擴展它來解決您的問題:

var accNo = [1, 2, 3, 4];
  for(var i = 0;i < accNo.length; i++) {
    var line = '<a href="accountdetails.html" onclick="getAcc(' + accNo[i] + ')">' + accNo[i] + '</a> <br>';
    console.log(line);
    document.getElementById("demo").innerHTML += line;
  }

首先確保您的函數獲得正確的值

嘗試改為使用窗口對象

function getAcc(item)
{
    localStorage.setItem("accNo",item); 
}

Replace with 

函數getAcc(item)
{
console.log(item); // 請檢查您是否獲得了正確且未定義的項目
window.accNo =項目;
}

而只要您想使用window.accNo

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM