繁体   English   中英

将值从javascript中的按钮传递到创建localStorage变量的函数

[英]Passing a value from a button in javascript to a function that creates a localStorage variable

我有一个工作中的调查Web应用程序,用于从客户那里收集数据。 我正在尝试将十几种不同的功能(每个选项一个)转换为一个简单的功能。 “投票”作为localStorage变量存储,因此可以每天重新打开调查,而不会丢失数据。 这是我所拥有的:

<script>

function vote(choice)
{
   if (localStorage.choice)
   {
      localStorage.choice=Number(localStorage.choice)+1;
   }
   else
   {
      localStorage.choice=1;
   }
   alert("Thanks for your input!  Have a nice day");
}

</script>

然后,我的主体中的按钮如下所示:

<li class="li" onClick="vote(a);">choice 1</li>
<li class="li" onClick="vote(b);">choice 2</li>
<li class="li" onClick="vote(c);">choice 3</li>

如果每个函数都有单独的函数,则它们工作正常,将字母传递到新的localStorage变量中,我做错了什么?

要动态使用对象的属性,必须使用[]表示法

<script>

function vote(choice)
{
   if (localStorage[choice])
   {
      localStorage[choice]=Number(localStorage[choice])+1;
   }
   else
   {
      localStorage[choice]=1;
   }
   alert("Thanks for your input!  Have a nice day");
}

</script>

要将字母作为字符串传递,必须将它们引号

<li class="li" onClick="vote('a');">choice 1</li>
<li class="li" onClick="vote('b');">choice 2</li>
<li class="li" onClick="vote('c');">choice 3</li>

DEMO

abc是变量。 您应该使用字符串文字:

<li class="li" onClick="vote('a');">choice 1</li>
<li class="li" onClick="vote('b');">choice 2</li>
<li class="li" onClick="vote('c');">choice 3</li>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM