我会使用Ajax或PHP来更改var值吗?

时间:2015-02-10 14:57:27

标签: javascript php jquery arrays ajax

我正在尝试为新访问者(使用Cookie)进行一次下拉调查,因此我可以收集数据,我对如何编译感到困惑。

如果单击一个按钮,则单击它会var answer1 = answer1 +1,或者其他任何内容。

我遇到麻烦的事情是指向应该改变变量的地方。 考虑到javascript是在本地运行的,它无法更新服务器值。

有人可以告诉我要添加到按钮onClick的内容,将其添加到答案变量中,无论是PHP还是ajax,以及要添加到服务器本身的内容?

如果您需要一个小调查本身的示例,here is the fiddle

以下是原始代码:

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%;
}

1 个答案:

答案 0 :(得分:1)

不使用按钮和计算JavaScript变量,最好使用HTML复选框,因为这些不会触发后台操作(如果不是这样明确的需要),因为在使用按钮时需要它们。 当你在这里继续使用按钮时,你需要在所有这些东西背后有一个更复杂的逻辑,否则只需将每个用户的决定/变化立即保存到数据库。

使用表单时,您将在一次结果中总结其提交操作后发送用户决策/选择,而不是强制您一次又一次地处理每次点击。这将节省一些流量,计算时间和数据库查询。

要使用复选框,只需在这些新的复选框元素和下面的提交按钮周围添加一些&#34; form&#34; -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层。