アプリ版:「スタンプのみでお礼する」機能のリリースについて

いきなりですが質問失礼します。

例えば

問題 a b c d e f
1   ○ ○ × ○ × ×
2 × × ○ × ○ ○

のようなデータベースがブラウザに表示されていて、「○」の数を取得して出力するようにしたいのです。

私の構想としては、
String s[] = ~~
のようにして、String s に行の値を格納し、
if(String s != null)
だったら、その配列のなかにある「○」の数を判定して出力する、という感じです。

countを使わねば出来ないように感じますが、どうなんでしょうか?

アドバイスをよろしくお願いします。

A 回答 (3件)

いろいろやり方があると思いますが、結構大雑把な方法。



<ブロックタグ id="DATA">
問題 a b c d e f
1   ○ ○ × ○ × ×
2 × × ○ × ○ ○
</ブロックタグ>

<script type="text/javascript">
<!--
// id=DATA のブロックの中の「○」の数を出力。

// ブロックの中の「○」以外を削除(''に置換)
var str = document.getElementById('DATA').innerHTML.replace(/[^○]/g,'');
// 文字数を出力
document.write(str.length)
//-->
</script>
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。

なるほど、strの長さを文字数として取得するのですか。大変参考になります。

私の構想を使っても、出来るのでしょうか?もしよろしければもう一つサンプルいただけないでしょうか?

あと、
innerHTML.replace(/[^○]/g,'');→innerHTML.replace(/[○]/g,'');

ではないのですか?

更に、
<script></script> は <% ~%>と同じ意味なのでしょうか?

初歩の質問ですみませんが、よろしくお願いします。

お礼日時:2005/02/11 17:39

なんとなくですが、DBを表示する部分(ASP??)とJavascriptの役割が整理できていないようにも思えました。


Javascriptに対する理解度に自身がないようでしたら、今一度、求めている事柄にたいして、どんな手段が適しているか検討してみてはいかがでしょうか?

Javascriptはブラウザ側で動作するもので、セキュティ上の理由で動作しないよう、ブラウザを設定している利用者もいますので、ASPでできる事はASPでやってしまったほうが簡単で確実なはずです。(ASPの事はよく知りませんが。)

Javascriptのカデゴリーで質問されているので、深く考えずにJavascriptでの実現方法を回答しましたが、もう一度「構想」というのを読み返すとご自身でもJavascriptで実現することを望んではいないようにも思えます。
    • good
    • 0
この回答へのお礼

すみません。

JavaScriptとASPでは、式等は同じ風に書くものだと思っていましたが、実際は違うのですね。

どうもカテ違いな質問に回答させてしまってすみませんでした。

ですが、あなたの回答のおかげでより一段と理解度を深められたのでよかったです。本当にありがとうございました。

それでは、ASPのカテで改めて質問してみます。

お礼日時:2005/02/11 23:32

> 私の構想を使っても、出来るのでしょうか?


できます。そのほうが、恐らくわかりやすくてスタンダードなプログラミングになるのかもしれませんが、面倒なのでサンプルは今はパス。

> innerHTML.replace(/[^○]/g,'');
> ↓
> innerHTML.replace(/[○]/g,'');
> ではないのですか?

はい、前者で合っています。
>>「○」以外を削除(''に置換)
ですので。→参考URL1と、そこからリンクしている「正規表現」を調べてみてください。

> <script></script> は <% ~%>と同じ意味なのでしょうか?
script要素はHTMLとして存在しますが、 <% ~%>なる記述は存在していませんので何と比較したいのかわかりません。
とりあえず<script></script>についてはHTMLについて調べてみては。→参考URL2

参考URL:http://www.tohoho-web.com/js/string.htm#Repl,htt …
    • good
    • 0
この回答へのお礼

> innerHTML.replace(/[^○]/g,'');
なるほど、↑は「○以外」を指すのですね。

あと、私が知っている知識では、script要素も<%~%>もどちらも、間に式、宣言等を入れるものと認識していたので、同じものなのかな~と思ったのです。

ありがとうございました。また何かわからなくなったら質問させてくださいね。

お礼日時:2005/02/11 21:45

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