每 10 秒使用新字符串刷新一次输入文本框



我在这里和其他地方搜索过(大约 15 个其他论坛......是的,我也记了数(,我似乎找不到任何与以下内容匹配的先前帖子。要么是这样,要么是我搜索得不够努力......

我想做的:每次有人按下提交按钮时,我希望<input type="text" name="comment_id" id="comment_id" value="">有一个新的随机字符串(新 id(,这样每次有人按下提交时,id 都不是以前的复制品,因为我正在使用这样的 ID(不是数据库的自动 ID(来识别这些评论。

我目前拥有的<input type="text" name="comment_id" id="comment_id" value="<?php $length = 18; $randomString = substr(str_shuffle("0123456789-abcdefghijklmnopqrstuvwxyz-ABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $length); echo $randomString;?>">

分解基本上是这样的

<?php 
$length = 18;
$randomString = substr(str_shuffle("0123456789-abcdefghijklmnopqrstuvwxyz-ABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $length); 
echo $randomString;
?>

给我一个像这样的 18 个字符的字符串 (BknmexSFAgP7pjsUIo(。

所以总而言之,我只是想要它,以便每次有人按下提交时,输入框都会给我一个新的 ID,我已经尝试使用几种方法,但似乎没有一种方法可以解决问题......

提前感谢您的帮助。

如果你想在不加载页面的情况下动态地执行此操作,您应该使用 ajax 执行此操作。

$.ajax({
                url: "url to your php  goes here",
                  },
                success: function (data) {
                $('#comment_id').val() = data;
                },
                error: function (e) {
                    console.log(e);
                }
            });

好吧,经过很多很多.....好吧,经过大量的搜索,我终于找到了答案。现在这是我自己修改的代码,但我要发布它,以防其他人需要帮助。

我每 1 秒刷新一次,这样如果有人在发表评论后立即决定发表评论,那么之前的评论与当前评论的 id 不同......是的,我知道这没有意义,但话又说回来。:/

<textarea id="comment_id"></textarea>
var myCommentID = setInterval(generateCommentID, 1000);
function generateCommentID() {
    var comment = "0123456789-abcdefghijklmnopqrstuvwxyz-ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var result = "", rand;
    for (var i = 0; i < 6; i++) {
        for (var j = 0; j < 4; j++) {
            rand = Math.floor(Math.random() * comment.length);
            result += comment.charAt(rand);
        }
    }
    document.getElementById("comment_id").innerHTML = result;
}

原始代码来自这个性感的小提琴

最新更新