我有一个使用jquery和php构建的购物车。我需要为item id生成隐藏值。每次单击添加时,值必须不同。
我不知道如何创建动态值,每次点击都会有所不同。
目前我使用php创建了以下代码。
<form method="post" action="" class="jcart">
<? $unique = md5(uniqid()); ?>
<input type="hidden" name="my-item-id" value="<?=$unique;?>" />
<input type="submit" name="my-add-button" value="add to cart" class="button" />
</form>
问题是除非我刷新页面我得到相同的隐藏值。如果不刷新页面,我该怎么做才能获得不同的值。
答案 0 :(得分:1)
与日期?
Date.getTime();
答案 1 :(得分:0)
您可以在Cookie中存储一个简单的整数,并将其用作递增计数器的基础,以生成该“唯一”值。只要您注意不要同时运行多个“添加”脚本并确保您的cookie更新代码是防弹的,它应该处理唯一性问题。
答案 2 :(得分:0)
如果您使用ajax添加,请在ajax调用的返回中设置它
答案 3 :(得分:0)
如果值可以是随机的,你可以使用javascript时间调用,如getTime(),它将获得自1972年以来的毫秒数。你不可能获得重复的ID,但你可以附加一个随机数可以肯定的是。
最好的方法是使用Ajax调用(通过jquery)到服务器并从服务器获取ID。
答案 4 :(得分:0)
我认为你可能需要使用jQuery load()函数,并有一个PHP页面为你生成md5()id:
<script>$('input[type=hidden]').prev().load('ajax/uniqueId.php');</script>
jQuery将放在Add按钮旁边。
你的PHP页面看起来像这样......
<?php
echo md5(uniqid());
?>
答案 5 :(得分:0)