外出自粛中でも楽しく過ごす!QAまとめ>>

HTML内に
<head>
<script language="vbscript">
</script>
</head>
<body>
<input type="button" onclick="MsgBox('押しましたね')" value="Please">
</body>
こんなタグでボタンを押させた場合
そのボタンを押した累積回数を表示させる方法はないでしょうか
よろしくご教示お願いいたします

A 回答 (1件)

vbscript って最近のIEでは使えなくなった様なので、


javascript で回答します

<input type="button" onclick="a=parseInt(this.getAttribute('data-count'));a=isNaN(a)?1:a+1;alert(a+'回押しましたね');this.setAttribute('data-count',a)" value="Please">

もう少し綺麗にするなら

<script> _=0;
window.onload = function(){
_ ; document.getElementById('countTarget').onclick = function(){
_ , _ ; var a = parseInt(this.getAttribute('data-count'));
_ , _ ; a = isNaN(a)? 1: a+1;
_ , _ ; alert(a + '回押しましたね');
_ , _ ; this.setAttribute('data-count', a);
_ ; };
};
</script>
<button id=countTarget>Please</button>

汎用的にするなら

<script> _=0;
addEventListener('load', function(ev){
_ ; [].slice.apply(document.querySelectorAll('button.counting')).forEach(function(e){
_ , _ ; e.addEventListener('click', function(evt){
_ , _ , _ ; var a = parseInt(this.getAttribute('data-count'));
_ , _ , _ ; a = isNaN(a)? 1: a+1;
_ , _ , _ ; alert(a + '回押しましたね');
_ , _ , _ ; this.setAttribute('data-count', a);
_ , _ ; }, false);
_ ; });
}, false);
</script>
<button class=counting>Please1</button>
<button class=counting>Please2</button>
    • good
    • 1
この回答へのお礼

ご丁寧なご回答ありがとうございました。
最近のIEでvbscriptが使えなくなったとは知りませんでした。

お礼日時:2014/02/07 05:08

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QClick回数を数え、規定された回数でアクションを起こす方法

初めまして。お世話になります。

(Layer1中の)Click回数を数え、規定された回数でアクションを起こす方法を模索しているところなのですが、、、
なかなかそれが見つかりません。
ご存知の方、ご教授頂ける方がおられたらと思い投稿させて頂きます。

例えば以下のsetTimeoutを利用したlinkの様に、setTimeをCrick回数に代替えし、
規定値(仮に10回)に達したところで別ページへ移動させるような方法があるんでは?
なんて素人ながら思っているのですが。。

<SCRIPT type="text/javascript">
<!--
setTimeout("link()", 7000);  ←※クリック回数("link()",10);
document.write();
function link(){
location.href='./title.html';
}
-->
</SCRIPT>

Aベストアンサー

こんちくわぶぅ~!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

<title>クリックした回数で、アクション?</title>

<p id="a">5回押すと</p>
<p id="b">1回だけでも</p>

<script type="text/javascript">
//全角空白は、半角にでもなおしてね
//@cc_on @set @V = (@_jscript_version >= 5.5)
var clicker = {};

clicker.countup = (function () {
 return function (e) {
  var p = this.get(e);
  if (p) {
   p.count_buffer++;
   if (p.count_buffer == p.counter) {
    p.func.call();
    p.count_buffer = 0;
   }
  }
 };
})();


clicker.add = (function () {
 return function (eid, count, func) {
  var e = document.getElementById(eid);
  var p;
  if (! (p = this.get(e))) this.put(e, count, func);
 };
})();


clicker.get = (function () {
 return function(e) {
  return this.hasOwnProperty (e.id) ? this[e.id]: null;
 };
})();


clicker.put = (function () {
 return function (e, count, func) {
  this[e.id] = {element:e, counter:count, func:func, count_buffer:0};
  return e;
 };
})();


clicker.Listener = (function () {
return function (evt) {
  var e = evt./*@if (@V) srcElement @else@*/ target /*@end@*/;
   if (e.id && clicker.get (e)) clicker.countup(e);
};
})();


clicker.Finalizer = (function () {
return function (e) {
  document./*@if (1) detachEvent ('on' + @else@*/ removeEventListener (/*@end@*/
    'click', clicker.Listener, false);
  
  /*@if (1) detachEvent ('on' + @else@*/ removeEventListener (/*@end@*/
    'unload', clicker.Finalizer, false);
};
})();


//_______________________________

document./*@if(@V)attachEvent('on'+ @else@*/addEventListener(/*@end@*/
 'click', clicker.Listener, false)
 
/*@if (1) attachEvent ('on' + @else@*/ addEventListener (/*@end@*/
  'unload', clicker.Finalizer, false);
//_______________________________


clicker.add ('a', 5, function(){alert("5かいおした!");});
clicker.add ('b', 1, hoge);

function hoge() {
 alert("1かいおした!");
}
</script>

こんちくわぶぅ~!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

<title>クリックした回数で、アクション?</title>

<p id="a">5回押すと</p>
<p id="b">1回だけでも</p>

<script type="text/javascript">
//全角空白は、半角にでもなおしてね
//@cc_on @set @V = (@_jscript_version >= 5.5)
var clicker = {};

clicker.countup = (function () {
 return function (e) {
  var p = this.get(e);
  if (p) {
   p.count_buffer++;
   if (p.count_buffer == p.count...続きを読む

Q回数のカウント

コマンドボタンを押すたびに何回押したか分かるような
プログラミングを教えて頂きたいのですが。
よろしくお願いします。

Aベストアンサー

こんにちは。maruru01です。

横から失礼しますが。

>私の案では出てこない発想をお持ちの方はたくさんいるはず

でしたら、その案(コード)を書かれてはいかがですか。
(もちろん間違っていても、一向に構いません。)
そうすれば、そのコードに対する指摘という形で回答し易いですし、siamzouさんの勉強にもなると思います。
また、siamzouさんと同じ案の人が回答する無駄はなくなりますし。

あと、余計なことかも知れませんが、プログラミングの質問というのは、単に正解を知るだけではなく、その正解にいたる道筋や考え方、基本的なコーディングなどを学び、それを今後に生かすことが大切で、その方が質問者のためになる、という回答者もいます。
そういう人たちは、あえて具体的なコードを書かずにヒントで留めているのです。
そういう回答者の気持ちを、少しでもいいから理解してあげて下さい。

あと、質問内容やコードなどからある程度質問者のレベルはわかるので、レベルに合わせた回答をしてくれる回答者も多いです。
かえって、「初心者です。」と自分から言うのは敬遠されることが多いと思いますよ。

質問の回答ですが、テキストボックスのChangeイベントだと、1文字削除したり、付け加えただけで起こってしまうので、LostFocusやExitイベントがいいと思います。
テキストボックスの内容を保存する変数を用意しておき、これらのイベントで新しい内容を変数に格納します。
この時、格納前に元の変数の内容と比較して、異なっていたら、カウンタをリセットします。
カウンタ部分のプログラミングが分かったのなら、きっとご自分で出来ると思いますよ。

こんにちは。maruru01です。

横から失礼しますが。

>私の案では出てこない発想をお持ちの方はたくさんいるはず

でしたら、その案(コード)を書かれてはいかがですか。
(もちろん間違っていても、一向に構いません。)
そうすれば、そのコードに対する指摘という形で回答し易いですし、siamzouさんの勉強にもなると思います。
また、siamzouさんと同じ案の人が回答する無駄はなくなりますし。

あと、余計なことかも知れませんが、プログラミングの質問というのは、単に正解を知るだけではなく、...続きを読む

Q複数のsubmitボタンで押されたボタンを取得する方法

form内の、submitボタンの値が拾えません。
1つだけsubmitボタンを設置すると値が拾えますが、
2つ以上submitボタンを設置すると拾えません。
仕様上、無理なのでしょうか?

<SCRIPT language="JavaScript">
function move_post(){
alert(document.frmMvPost.btn.value);
}
</SCRIPT>

<FORM name="frmMvPost" action="" method="post" onsubmit="return move_post()">
<INPUT type="submit" name="btn" value="テスト1">
<INPUT type="submit" name="btn" value="テスト2">
<INPUT type="submit" name="btn" value="テスト3">
</form>

Aベストアンサー

> alert(document.frmMvPost.btn.value);

btnというオブジェクトが複数あるため、btnは配列になってしまうため、
document.frmMvPost.btn.valueでは値が取れません。

回避策はonClickイベントにて値をHiddenへ格納すればOKです。

_____________________________________________________________

<SCRIPT language="JavaScript">
function move_post(){
alert(document.frmMvPost.onbtn.value);
}

function set_value(s_val)
{
document.frmMvPost.onbtn.value = s_val;
}

</SCRIPT>

<FORM name="frmMvPost" action="" method="post" onsubmit="return move_post()">
<INPUT type="submit" name="btn" value="テスト1" onClick="set_value('テスト1')">
<INPUT type="submit" name="btn" value="テスト2" onClick="set_value('テスト2')">
<INPUT type="submit" name="btn" value="テスト3" onClick="set_value('テスト3')">
<INPUT type="hidden" name="onbtn">
</form>

_____________________________________________________________


※テストしていないため動作は保証しません。問題ある場合にはお手数ですが何かしら手を加えてください。

> alert(document.frmMvPost.btn.value);

btnというオブジェクトが複数あるため、btnは配列になってしまうため、
document.frmMvPost.btn.valueでは値が取れません。

回避策はonClickイベントにて値をHiddenへ格納すればOKです。

_____________________________________________________________

<SCRIPT language="JavaScript">
function move_post(){
alert(document.frmMvPost.onbtn.value);
}

function set_value(s_val)
{
document.frmMvPost.onbtn.value = s_val;
}

</SCRIPT...続きを読む

QSubmit(送信ボタン)を押した回数を数える方法。

こんにちはPHP初心者なのですが、

submit.phpというフォームで好きなキャラクター名を
入力しSubmit(送信ボタン)を押して送信された
回数をカウントする事はできますでしょうか。

どのように記述をするか想像がつかず、質問させて頂きました。

カウントした数字は、count.phpに

合計 ○ 回の送信を受けました。
好きなキャラクター名(daisuki)
データを受信した年/月/日 時間(jikan)
という形で表示させたいです。HTMLの表示の仕方はしたに
記載しました。


データベースは
id
daisuki
jikan
で作成しています。

どたたかお力を貸してください。
ご教授お願い致します。

/////////////////////////////////////////////////////////////
submit.php


<html">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>フォームから受け取ったデータの回数</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
<label>好きなキャラクター名を入力。<br />
<input name="textfield" type="text" id="textfield" size="60" maxlength="60" />
</label>
<label> <br />
<br />
<input type="submit" name="button" id="button" value="送信ボタン" />
</label></form>
</body>
</html>


//////////////////////////////////////////////////////////////
count.php



<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<p>合計 5 回送信を受けました。</p>
<p></p>
<table width="100%" border="1" cellspacing="5" cellpadding="0">
<tr>
<td width="48%">好きなキャラクター名 </td>
<td width="52%">時間</td>
</tr>
<tr>
<td>アンパンマン</td>
<td>2008/10/23 12:24:2</td>
</tr>
<tr>
<td>天丼マン</td>
<td>2008/10/19 10:24:11</td>
</tr>
<tr>
<td>ドキンちゃん</td>
<td>2008/10/1 21:24:47</td>
</tr>
<tr>
<td>釜飯どん</td>
<td>2008/9/04 12:54:47</td>
</tr>
<tr>
<td>シンジくん</td>
<td>2008/5/22 12:24:30</td>
</tr>
</table>
<p><br />
</p>
</body>
</html>

こんにちはPHP初心者なのですが、

submit.phpというフォームで好きなキャラクター名を
入力しSubmit(送信ボタン)を押して送信された
回数をカウントする事はできますでしょうか。

どのように記述をするか想像がつかず、質問させて頂きました。

カウントした数字は、count.phpに

合計 ○ 回の送信を受けました。
好きなキャラクター名(daisuki)
データを受信した年/月/日 時間(jikan)
という形で表示させたいです。HTMLの表示の仕方はしたに
記載しました。


データベースは
id
daisuki
...続きを読む

Aベストアンサー

Σ(´A`*)Phpで書かれた部分が見当たらない!?
基本的にはホームページとかで使われているカウンターと同じような事だとは思うのですが・・・。

フォームから受け取ったデータをデータベースに保存するところまではいけてるのでしょうか?

いけてるようであればデータベースから各キャラクターの投票数(?)の合計を読み出し、表示すればいいと思うのですが・・・。

参考URL:http://php.thm.jp/index.php?content=counter

Qボタンのクリック数を合計保存するPHPプログラム

サイト訪問者が任意でボタンをクリックしてくれた数をカウントし、合計にするPHPをどなたか教えていただけないでしょうか。

(PHPをはじめたばかりです、よろしくお願いいたします。)

index.phpのボタンをクリックすると、クリック回数をnumber.phpに上書き保存し、更にクリックされたら新しくクリックされた回数+number.phpの数の合計を上書きする、というスクリプトを書こうとしています。

index.php ここから----------------------------------------
<html>
<body>

<form action="index.php" method="get">

<input type="submit" value="クリック">

合計<input type="text" name="munber" value="<?php
$file = "munber.php";
@readfile($file);?> ">

</form>

</body>
</html>
index.php ここまで----------------------------------------


number.phpは単に数が一行あるだけです。(例として 5 )

上記のindex.phpでは、ただボタンがあり、ただnumber.phpの数(5)を表示しているだけで、足し算は行われません。(画像参照)

これをどのように書き換えると、ボタンをクリックしたらnumber.php + 1 を行い、number.phpの値も書き換える、というプログラムになるでしょうか。

※アクセス解析ではないので、IPやリファラなどは関係なく、(誰が何回でも)ボタンをクリックした回数を単純にカウントする数式が欲しいです。

どうぞよろしくお願いいたします。

サイト訪問者が任意でボタンをクリックしてくれた数をカウントし、合計にするPHPをどなたか教えていただけないでしょうか。

(PHPをはじめたばかりです、よろしくお願いいたします。)

index.phpのボタンをクリックすると、クリック回数をnumber.phpに上書き保存し、更にクリックされたら新しくクリックされた回数+number.phpの数の合計を上書きする、というスクリプトを書こうとしています。

index.php ここから----------------------------------------
<html>
<body>

<form action="index.php" method="...続きを読む

Aベストアンサー

こんにちは。

ボタンをクリックしたらを完全に見落としてました。

リロード処理等も入れなくてはいけなくなってきますのでカウントするのは別ファイルにしたほうが良いと思います。

count.php>>

<?php
$file = "./number.php";
$fp = fopen ( $file,"r" );
$now = fgets ( $fp );
fclose ( $fp );
$now ++;
$fp = fopen ( $file, "w" );
fputs ( $fp, $now );
fclose ( $fp );
// "/test/index.php"は自分の環境に合わせる
header ( "Location: http://" . $_SERVER['HTTP_HOST'] . "/test/index.php" );
exit;
?>

>>count.php

index.php>>
<html>
<body>
<form action="count.php" method="get">
<input type="submit" value="クリック!<?php readfile("./number.php") ?>">
</form>
</body>
>>index.php

前回同様ロック処理やセキュリティの考慮は皆無ですので実運用するにはもうちょっと手を加えないといけませんがこんな感じで作ればよいと思います。

上記動作はボタンを押すとcount.phpへ飛び、カウント処理を実行後またボタンの表示されているページへ戻ります。
戻ってくるとボタンに表示されているカウントが加算されます。
更新ボタンを押した場合はカウントは変わりません。

こんにちは。

ボタンをクリックしたらを完全に見落としてました。

リロード処理等も入れなくてはいけなくなってきますのでカウントするのは別ファイルにしたほうが良いと思います。

count.php>>

<?php
$file = "./number.php";
$fp = fopen ( $file,"r" );
$now = fgets ( $fp );
fclose ( $fp );
$now ++;
$fp = fopen ( $file, "w" );
fputs ( $fp, $now );
fclose ( $fp );
// "/test/index.php"は自分の環境に合わせる
header ( "Location: http://" . $_SERVER['HTTP_HOST'] . "/test/index.php" );
exit...続きを読む

Qクリックカウンターの作り方

HPにボタンをクリックした回数を表示させたいのですが、どうすればいいのでしょうか?

<HTML>
<BODY>
<center>
<form>
あなたは<input type=text name=mnt value=0 size=6>人目です。<br>
<input type=button value="クリックしてね" onClick="javascript:this.form.mnt.value++;">
</form>
</center>
</BODY>
</HTML>

このようにすると、数字の部分がテキストボックスになってしまうのでNGです。
また、2重クリックもできないようにしたいのですが・・・。

Aベストアンサー

>あなたは・・・人目です
>2重クリックもできないようにしたい
質問内容を見る限りではアクセスカウンターの作り方かと思われますが、
アクセスカウンターということでしたらJavaScriptではNGです。
クリックした回数を保持できないので、ページを表示するたびに回数が0にリセットされます。
自前のアクセスカウンターを実装したいのでしたらASPやPHPなどを使わなければいけません。

もとい、
ボタンをクリックした回数をページ上に表示するということに限定してお答えします。

>数字の部分がテキストボックスになってしまうのでNG
数値の部分がテキストボックスにしないようにするにはダイナミックHTMLを使うと実現できるかと。

>2重クリックもできないようにしたい
フラグを立ててif文で制御すれば実現できるかと。

<HTML>
<head>
<Script language="JavaScript">
<!--
var cnt = 0;
var flg = true;

function f_click(){
if(flg){
cnt++;
document.getElementById('Ninzu').innerHTML=cnt;
flg = false;
}
}
//-->
</Script>
</head>
<BODY>
<center>
あなたは<span id="Ninzu">0</span>人目です。<br>
<input type=button value="クリックしてね" onClick="f_click()">
</center>
</BODY>
</HTML>

見当違いの回答だとしても、今後の参考になっていただければ幸いです。

>あなたは・・・人目です
>2重クリックもできないようにしたい
質問内容を見る限りではアクセスカウンターの作り方かと思われますが、
アクセスカウンターということでしたらJavaScriptではNGです。
クリックした回数を保持できないので、ページを表示するたびに回数が0にリセットされます。
自前のアクセスカウンターを実装したいのでしたらASPやPHPなどを使わなければいけません。

もとい、
ボタンをクリックした回数をページ上に表示するということに限定してお答えします。

>数字の部...続きを読む

Q送信ボタンでカウントアップ

HTMLを表示して、ボタンを押すと数字がカウントされていく仕組みを作りたく悩んでいます。

<html>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<body>

<?php
$logfile = "./kinen.log";


if( $fn = @fopen($logfile, 'r') ) {
$counter = trim(fgets($fn));
fclose($fn);
}
print( $counter . "本禁煙成功しました<br>");
print( ++$counter . "人目のお客様です<br>");

?>

<form>

</form>

<?php
if( $fn = @fopen($logfile, 'w') ) {
fwrite( $fn, $counter);
fclose($fn);
}
?>

</body>
</html>

リロードで正常にカウントアップされていきますが、ボタンを押して動くようにはできないものでしょうか。
初心者なもので。。宜しくお願い致します。

HTMLを表示して、ボタンを押すと数字がカウントされていく仕組みを作りたく悩んでいます。

<html>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<body>

<?php
$logfile = "./kinen.log";


if( $fn = @fopen($logfile, 'r') ) {
$counter = trim(fgets($fn));
fclose($fn);
}
print( $counter . "本禁煙成功しました<br>");
print( ++$counter . "人目のお客様です<br>");

?>

<form>

</form>

<?php
if( $fn = @fopen($logfile, '...続きを読む

Aベストアンサー

ANo.2です。

>ボタンを押したときだけカウントアップするものでした。

であれば

  <form action="" method="post">
  <input type="submit" name="submit" value="更新">
  </form>

などとしておいて、スクリプト側で「if ($_POST)」でチェックすればGET(リロード)ではカウントしなくなります。

QStrutsで、どのRadioボタンが選択されているかの情報を受け渡ししたい。

Strutsを使っているWEBシステムで、taglibを使用せずに、情報を受け渡ししたいです。


..やろうとして挫折したこと

..1.setAttributeでの受け渡し
....setAttributeは画面のロード時にしか実行できないようで、無理でした。
....(正確には、RadioボタンのOnLoadイベントで、JSPからはsetAttributeを実行できない。)

..2.form上のコントロールのValueでの受け渡し
....input.type="radio".name="radio_object".value="値"
....のようにして、次の画面遷移先に渡そうとしましたが、
....struts-config.xml.で記述している.formクラスに対し、
....taglib.を使用して、formクラスに値設定する方法でなければ、
....情報を受け渡しできないようでした。

taglib は、内部的には何らかの方法で、formクラスに値を受け渡ししているはずですし、
その方法を、jsp上で記述する方法もあると思っているのですが、
無理なのでしょうか?

Strutsを使っているWEBシステムで、taglibを使用せずに、情報を受け渡ししたいです。


..やろうとして挫折したこと

..1.setAttributeでの受け渡し
....setAttributeは画面のロード時にしか実行できないようで、無理でした。
....(正確には、RadioボタンのOnLoadイベントで、JSPからはsetAttributeを実行できない。)

..2.form上のコントロールのValueでの受け渡し
....input.type="radio".name="radio_object".value="値"
....のようにして、次の画面遷移先に渡そうとしましたが、
....struts...続きを読む

Aベストアンサー

Strutsを使用しているのにカスタムタグを使用しないというのがよくわかりませんが、何かしらの考えがあってのことだと思いますが・・・。

2の方法で
<form action="・・・" method="POST">
<input type="radio" name="radio_object" value="1">
</form>

となっている場合、アクションで
request.getParameter("radio_object")
で取得できないでしょうか?

これならアクションフォームの内容には関係なく取得できると思います。

QExcelのマクロでボタンを押すと数が1足されるようにするには?

とあるイベントで
来客者の人数を調べたいと思いました。
紙に正の字を書いていってもいいのですが
折角なので、後のグラフをつくったりする作業がやりやすいように
PCで処理しようと思いました。
しかし、いちいち数をけして打ちなおしていくのは
あまりにも面倒です・・・
街灯の人数調査(?)の人がもってる
カウントできる機械のようなものも持っていませんし・・・

例えばマクロを使用し
ボタンを押すとセル内の数が1足されるように
設定したいのですがどうすればよいでしょう?
もしくは、そういったことは可能でしょうか。

ワンクリック(もしくはそれに準ずる簡単さ)で
カウントがとれればマクロでなくても構わないです。
Excelあまりいじったことがないので
教えていただければ幸いです。

また、マクロでそういったことができないのであれば
Excel以外でもカウントをとることができるものがあれば
合わせて教えていただけると嬉しいです。
よろしくおねがいします。

Aベストアンサー

Range("A1") = Range("A1") + 1

と書いたマクロを適当なボタンに登録して下さい。
A1に初期値を記入しておけば、ボタンをクリックする毎に1ずつ加算されます。

QVB2010 クリック数カウント

アンケート結果の集計のために、コマンドボタンをクリックするたび、ラベルのところにクリック数が表示されるプログラムを作ろうと思ってます
VB2010ですが、下記のコードでは、クリックしたら「1」とだけしか表示されませんでした
どうすれば、クリックの度、数が増えるのでしょうか?


Private Sub Button1_Click() Handles Button1.Click
Dim a As integer
a = a + 1
Label1.Text = a
End Sub

Aベストアンサー

Dim a As integerがPrivate Sub Button1_Click()の中にいるからです。
ボタンが押される度にDim a As integerで値が初期化されるので
何回押してもa = 0 + 1が実行されて1しか出ないワケです。
aという変数を外だしにしてあげれば実現すると思いますよ。


人気Q&Aランキング