我会使用Ajax还是PHP来更改var值


Would I use Ajax or PHP to change var value?

我正试图为新访问者(使用cookie)做一个小的下拉调查,这样我就可以收集数据,但我对如何编译它有点困惑

如果单击了一个按钮,单击就会变成var answer1 = answer1 +1,或者类似的东西。

我遇到的问题是指出它应该在哪里更改变量考虑到javascript是在本地运行的,它无法更新服务器值

有人能告诉我在按钮上添加什么吗?点击向答案变量添加一个,无论是PHP还是ajax,以及向服务器本身添加什么

如果你需要一个小调查本身的例子,这里是小提琴。

这是原始代码:

HTML:

<body>
<div class="poll-box">
    <div class="poll-text">
            <h1>Sorry, quick question!</h1>
            <h2>Insert Question Here</h2>
        <p>
            <button onClick=""></button>&nbsp;&nbsp;&nbsp;&nbsp;Answer 1
            <br />
            <br />
            <button onClick=""></button>&nbsp;&nbsp;&nbsp;&nbsp;Answer 2
            <br />
        </p>
    </div>
</body>

CSS:

html {
    font-family:Lato, sans-serif;
}
.poll-box {
    width:60%;
    background-color:#648FBD;
    height:40%;
    margin-left:auto;
    margin-right:auto;
    vertical-align:middle;
    position:absolute;
    border-radius: 16px 16px 16px 16px;
    -moz-border-radius: 16px 16px 16px 16px;
    -webkit-border-radius: 16px 16px 16px 16px;
    border: 0px solid #000000;
}
.poll-box h1 {
    padding-top:2%;
    font-size:24px;
}
.poll-box h2 {
    padding-top:2%;
    font-size:18px;
}
.poll-box p {
    padding-top:2%;
    font-size:14px;
}
.poll-text {
    left:5%;
    position:absolute;
}
.poll-text button {
    padding-right:3%;
    padding-top:3%;
}

与其使用按钮并对JavaScript变量进行计数,不如使用HTML复选框。这些复选框不会触发后台操作(如果没有明确要求的话),因为在使用按钮时需要这些操作。当你继续使用这里的按钮时,你需要在所有这些东西背后有一个更复杂的逻辑,否则只需将每个用户的决定/更改立即保存到数据库中。

使用表单时,您将在用户的提交操作汇总为一个结果后发送用户决定/选择,而不是强制您一次又一次地处理每次单击。这将为您节省一些流量、计算时间,也许还可以节省数据库查询。

要使用复选框,只需在这些新的复选框元素周围放置一些"表单"-DOM,并在下面添加一个提交按钮,就可以得到这样的结果:

<form class="poll-box" method="post" action="handler.php">
   <div class="poll-text">
           <h1>Sorry, quick question!</h1>
           <h2>Insert Question Here</h2>
           <p>
               <input type="checkbox" name="some_var_name_to_use"> Answer 1
               <hr />
               <input type="checkbox" name="some_var_name_to_use_2"> Answer 2
           </p>
   </div>
   <input type="submit" value="send" />
</form>

PS。您错过了在正文结束前关闭一个div层。