

こんばんは。
タイトルのとおりなのですが、掲示板の機能として、新規投稿時や返信時にサイコロを振ってその結果も一緒に投稿されるようにすることは可能でしょうか?
また可能でしたら、どのように実現するのでしょうか?
イメージ的には。。
タイトル、本文など普通掲示板に投稿するのに必要な情報を書く、「サイコロを回す」ボタンをクリック、サイコロが回っていて、送信ボタンを押す。
すると掲示板のログにタイトル、本文などの情報と一緒にサイコロが表示される。(←サイコロを振った結果)
という感じです。
わかりにくい文章で申し訳ないのですが、どなたか理解していただける方、教えていただけると助かります。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
動くかどうかは知りませんがこんな感じと思われます。
<!--script部分-->
function rand(){
var img=document.images["sai"];
if(img.src=="wait.jpg"){//imgタグと同じurlを指定。軽い不正防止
img.src=(Math.floor(Math.random()*6)+1)+".jpg";//サイコロ用に同じ階層に1~6.jpgを用意しておくこと
}
}
function check(){//サイコロを振っていなければ送信させない
return document.images["sai"].src!="wait.jpg";
}
<!--以下body部分-->
<form>
<img src="wait.jpg" name="sai">
<!--wait.jpgはサイコロを振る前に表示させておく画像url-->
<input type="button" value ="ここを押してサイコロを振る" onclick="rand()">
<input type="submit" value="送信" onsubmit="return check()">
</form>
さっそくの回答、ありがとうございます。
試してみたのですが、なぜかサイコロが回らない。。
うーん。どうしてなんでしょう。送信もできていません。

No.3
- 回答日時:
サイコロが回るアニメーションが欲しいのではありませんか? それならタイマー系のjavascriptを追加すればOKです。
※サイコロ画像、"1.gif"~"6.gif"を用意
<html>
<head>
<script type="text/javascript">
<!--
var m_saiNo = 1;
function castSai() {
m_saiNo += (m_saiNo < 6) ? 1: -5;
document.images["sai"].src = m_saiNo + ".gif";
}
// -->
</script>
</head>
<body>
<form>
<img src="1.gif" name="sai" border="1">
<input type="button" value ="サイコロを回す" onclick="window.setInterval('castSai()', 200)">
<input type="submit" value="送信">
</form>
</body>
</html>
回答ありがとうございます。
そうですね、アニメーションがあるイメージでした。
KENT-WEBさんのASKAという掲示板にこのサイコロ機能がつけれたらいいのになぁと思っていたのですが。。うーん。いまいちどうしてよいのかわかりません。
試してみたところ、アニメーションにはなりました!
でも投稿した結果にはサイコロは表示されずなので、やはりどこか間違っているようです。(←自分の改造の仕方が間違ってるということです。(>_<))
No.2
- 回答日時:
少し振ったかどうかの判定を変えてみました。
こちらでは動作を確認。
onsubmitをformにつけるところをsubmitボタンに設定していたのに気づきました。
これも修正しました。
~.html?slot=6
のようにクエリが付くよう、hiddenをつけてみました。
いらないときは「クエリ用」のコメントのある行と、hiddenを消してください。
また、投稿時にテキストボックスの文頭や文末に数値を埋め込んでから送信もやろうと思えば出来ますね。
<!--script部分-->
var sw=0;
function rand(){
if(sw==0){//一度しか振れないようにする。軽い不正防止
var n=(Math.floor(Math.random()*6)+1);
document.forms[0].slot.value=n;//クエリ用
document.images["sai"].src=n+".jpg";
sw++;
}
}
function check(){//サイコロを振っていなければ送信させない
return (sw==1?true:false);
}
<!--以下body部分-->
<form onsubmit="return check()">
<img src="wait.jpg" name="sai">
<input type="button" value ="ここを押してサイコロを振る" onclick="rand()">
<input type="hidden" name="slot">
<input type="submit" value="送信">
</form>
たびたび回答ありがとうございます。
試してみたのですが、やはりサイコロが表示されませんでした~。
今回は動作を確認してくださったようですので、やはり原因はわたしの改造の仕方でしょう。。(T_T)
もうちょっと試行錯誤してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onclickをEnterキーでも行いたい
-
submitするとなぜか2度実行する
-
VBSでブラウザ上のテキストボッ...
-
onClick="this.form.submit
-
confirm()で表示したダイアログ...
-
onclickで2個指定するには?
-
HTAで、こんなボタンが作りたい。
-
return trueとreturn falseの用...
-
jQuery セレクトボックスで選択...
-
【jsp/Java】チェックボックス...
-
チェックボックスとラジオボタ...
-
Javascriptを使って動的にラジ...
-
プルダウンで選択すると、DBの...
-
checkboxをクリックしてリロー...
-
formのfileの値をhiddenでも持...
-
[Javascript]onFocusで文字列選...
-
【jQuery】input nameの文字列...
-
ラジオボタンのValueを受け取り...
-
JavaScriptでテーブルをクリッ...
-
どのボタンがクリックされたの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onclickをEnterキーでも行いたい
-
フォーム内で記入したクエリ送...
-
sessionの値でボタンを活性・非...
-
ボタンを押すとチェックボック...
-
確認ダイアログの出し方(JavaS...
-
submitするとなぜか2度実行する
-
jsで質問です。 ボタンが二つ存...
-
ボタン無しでフォーム内容送信
-
Javaのダイアログについて
-
onClick="this.form.submit
-
VBSでブラウザ上のテキストボッ...
-
メッセージボックスで「はい」...
-
formに色をつけたい
-
VBScript
-
Comfirm応答の後処理
-
ボタンが押されると同時にデー...
-
onclickで2個指定するには?
-
別ファイルの共通関数をHTMLで...
-
複数のsubmitによって送信する...
-
フォームに入力された値をリン...
おすすめ情報