プロが教えるわが家の防犯対策術!

先日、「javascriptで日付+乱数+選択肢の内容を反映させる方法」を
教えて頂いて、下記のコードでうまく表示ができたのですが
乱数の部分を整数にするにはどうすればいいでしょうか?

整数という表現が正しいかわかりませんが
現在、ランダムに表示されている番号を、
発行された順番にカウントされていくような仕組みにしたいです。

複数の人がアクセスしてきた際、同じ番号がかぶらないようになればと思いますが
そこまでのものはJSでは難しいでしょうか?



<script type="text/javascript">
document.querySelector("form[name='form0']").addEventListener("click", function(e){
if(e.target.nodeName != "INPUT") return;

var pad = function(num , n){ return ("0000" + num).slice(-n); }
var d = new Date();
var res = "" + (d.getFullYear() % 100);
res += pad(d.getMonth() + 1, 2) + pad(d.getDate(), 2);
res += pad(parseInt(Math.random()*100000), 5);
var e = document.querySelector("form[name='form0'] input[name='si']:checked");
document.getElementById("res").innerHTML = res + (e?e.value:"");
}, false);
</script>

A 回答 (1件)

こんにちは


前回回答者です。

>発行された順番にカウントされていくような仕組みにしたいです。
ランダムな数値の場合には、その場で数値を作成すれば良いのですが、順番にということだと、『これまでに発行された番号』を取得して、それに+1したものを発行するといった仕組みが必要になります。

そのためには、サーバなどに既発行番号を控えておく必要があり、番号の発行時にスクリプトでその番号を取得して、さらに、新しい番号をサーバに登録することが必要になります。
この処理は、サーバ側のデータを扱うことになりますので、スクリプト単独ではできません。
何らかの形式でのサーバ側のプログラムが必要になり、スクリプトはそのプログラムと通信を行いながら処理を行うということになります。

具体的には、『ajax』などをキーに検索すると、いろいろと情報が得られることと思います。
スクリプトを利用しなくても、formなどから送信することでも新しい番号を発行する仕組みは作れますが、いずれにしろ、サーバ側のプログラムは必要となります。
    • good
    • 0
この回答へのお礼

やはりそうですね。丁寧なご説明をいただき大変わかりやすかったです。ありがとうございます!

お礼日時:2017/07/11 07:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!