使用Cookie Ok for Mobile形成POST自我?

时间:2013-10-03 14:01:17

标签: javascript php jquery cookies

我可以在下拉框中选择英国或美国的用户。 然后使用'OnChange'提交。 然后它将发布到自己,并在帖子上将数据存储为cookie。

它将使用此cookie然后向用户显示正确的数据。 它还将使用此cookie在下拉列表中显示当前选择,以便用户可以将其修改为另一个选择。

这是完成此任务的最佳方式吗?移动设备也很友好吗?

修改 我想使用jQuery方法,我认为这看起来很流畅。 我想使用Cookies,因为我需要根据cookie的值运行SQL语句(因此需要通过标头发送到服务器)

以下是否正确? 头。 添加jQuery& jQuery cookie Addon。

 <script src="path/to/jquery.cookie.js"></script>
 <script src="path/to/jquery.js"></script>

身体

<select class="selectordropdown">
<option value="1">1</option>
<option value="2">2</option>
</select>

<script>
$( ".selectordropdown" )
    .change(function() {
    var selectvalue = $( ".selectordropdown" ).val();    
    $.cookie("cookiename", selectvalue {expires : 10, path: "/", domain "domain.com"});
    });
</script>

身体 - 我相信...... 当selectordrop向下变化时。 它需要下拉值并将其存储在cookie中吗?

这是实现这一目标的正确方法吗?

非常感谢提前!

4 个答案:

答案 0 :(得分:0)

您不需要使用POST。使用JavaScript,您可以轻松完成此任务。

需要一些帮助?

http://www.w3schools.com/js/js_cookies.asp

答案 1 :(得分:0)

在更改时获取下拉选择的值并将其添加到变量:

var dd = $(“select.foo option:selected”)。val();

http://api.jquery.com/val/

然后使用该值来执行您需要做的任何更新或将其存储为cookie(正如其他海报突出显示的那样)或使用localStorage:http://www.w3schools.com/html/html5_webstorage.asp

修改 只是为了澄清,摆脱表单帖子 - 这里不需要它,有更容易/更好的方法来做你想要实现的目标。

答案 2 :(得分:0)

甚至比使用本地存储和JavaScript更好(如果您不关心Internet Explorer 7及更早版本)。

一个简单的例子:

    var el = document.getElementById("dropdownbox");
    if(typeof) Storage) !== "undefined") {

    el.onchange = function() {
        sessionStorage.userSelected = el.value;
    }
}

从那里,您可以访问用户从 sessionStorage.userSelected

中选择的内容

这将存储浏览器会话的信息。如果您需要保持值比浏览会话更长,则使用localStorage而不是sessionStorage,语法完全相同。

此外,如果存储不可用,您可以回退到老式cookie。但实际上甚至没有必要使用PHP,它可以使用JavaScript轻松完成。无需发布任何内容。

答案 3 :(得分:0)

使用Javascript结束更容易!

JSFiddle http://jsfiddle.net/NnvTR/

HTML

Choose Year

<select name="yearchoice" onchange="setCookie('mycookiename',this.value,30)">

<option value='2010'>2010</option>
<option value='2011'>2011</option>
<option value='2012'>2012</option>
<option value='2013'>2013</option>

</select>

脚本

<script>function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}</script>

然后在测试时我使用这个PHP来查看Cookies。 (在PHP中)

  <?php
echo '<br><br><br>';
print_r($_COOKIE);
  ?>

希望这有助于某人 - 感谢指点人!