- PR -

Javascriptについて

1
投稿者投稿内容
satoko
常連さん
会議室デビュー日: 2006/05/06
投稿数: 35
お住まい・勤務地: 東京
投稿日時: 2006-05-06 05:13
皆さんはじめまして。
まだこの仕事を始めて1ヶ月なもので、説明がおかしい所があるかもしれませんが、
どうぞよろしくお願いします。

Javascriptについてですが、この会議室で質問させていただいて平気でしょうか?
JSPとstrutsで開発しているのでJavaの会議室に投稿させていただきました。
相応しくないのでしたら教えてください^^;


本題に入りますが、
セキュリティレベルによってボタン(リンクボタン)の表示非表示をJavascriptでやろうとしています。

セキュリティレベルが12桁の文字列で、ボタンのレベルも12桁の文字列だった場合、


security = 100000000000
button = 100100000000
の時、securityの文字位置0〜11とbuttonの文字位置0〜11をそれぞれ掛算し、
1になった文字位置が何番目なのか判断し、それに対応したボタンを表示させたいです。

1 0 0 0 0 0 0 0 0 0 0 0
* * * * * * * * * * * *
1 0 0 1 0 0 0 0 0 0 0 0
-------------------------
1 0 0 0 0 0 0 0 0 0 0 0

1番目が1になった。

security.charAt(0)とbutton.charAt(0)から
security.charAt(11)とbutton.charAt(11)まで掛算をし、
何番目が1になったか調べる方法と、

security = new Array(security.charAt(0),security.charAt(1),・・・);
button = new Array(button.charAt(0),button.charAt(0),・・・);
と配列に入れ、
security[0] * button[0]で調べられる事までは分かりましたが、
if文とfor文の書き方が分かりません。

初歩的な質問ですが、よろしくお願い致します。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-06 07:55
引用:

satokoさんの書き込み (2006-05-06 05:13) より:

Javascriptについてですが、この会議室で質問させていただいて平気でしょうか?
JSPとstrutsで開発しているのでJavaの会議室に投稿させていただきました。


これが、ASP.NET との組み合わせであれば、Insider.NET 会議室でしょうが、
JSP や struts であれば、Java Solution 会議室が妥当でしょう。

引用:

security.charAt(0)とbutton.charAt(0)から
security.charAt(11)とbutton.charAt(11)まで掛算をし、
何番目が1になったか調べる方法と、

security = new Array(security.charAt(0),security.charAt(1),・・・);
button = new Array(button.charAt(0),button.charAt(0),・・・);
と配列に入れ、
security[0] * button[0]で調べられる事までは分かりましたが、
if文とfor文の書き方が分かりません。


charAt に渡す要素の数を、for のループ変数にするだけだと思いますが...
ピンポイントであれば、論理積 の結果で良いんじゃないでしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
satoko
常連さん
会議室デビュー日: 2006/05/06
投稿数: 35
お住まい・勤務地: 東京
投稿日時: 2006-05-06 09:31
じゃんぬねっとさん、返信どうもありがとうございます。

引用:

これが、ASP.NET との組み合わせであれば、Insider.NET 会議室でしょうが、
JSP や struts であれば、Java Solution 会議室が妥当でしょう。



間違えていなくて良かったです。ありがとうございます。

引用:

charAt に渡す要素の数を、for のループ変数にするだけだと思いますが...
ピンポイントであれば、論理積 の結果で良いんじゃないでしょうか?



charAt に渡す要素の数を、for のループ変数にすると言うのをやってみたのですが、
for(i=0; i<12; i++){
if(security.charAt(i) * button.charAt(i) == 1) break;
var figure = i;
}
これでfigureに1になった時が何番目か取れないです。。。
根本的に間違えていますか??

試しに動かしてみたのですが、
var test1 = "1010";
var test2 = "1010";

for(i=0; i<4; i++){
if(test1.charAt(i) * test2.charAt(i) == 1) break;
var figure = i;
}
alert("figure=" + figure);

figureにはundefinedと入っていました。

間違えている部分を教えていただいてもよろしいでしょうか??
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-06 12:50
引用:

satokoさんの書き込み (2006-05-06 09:31) より:

figureにはundefinedと入っていました。


undefined がどういう意味かを考えてみてください。
"どこで" 定義 されているものかを考えてみてください。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-06 13:43
現状の実装方法で、間違っているのは上記に書いたとおりですが、

引用:

satokoさんの書き込み (2006-05-06 09:31) より:

charAt に渡す要素の数を、for のループ変数にすると言うのをやってみたのですが、

var test1 = "1010";
var test2 = "1010";


そもそも、何故に文字列として扱っているんでしょうか?

引用:

私の書き込みより:

charAt に渡す要素の数を、for のループ変数にするだけだと思いますが...
ピンポイントであれば、論理積 の結果で良いんじゃないでしょうか?


と発言しているのですが、これは「以下のようにできないのでしょうか?」ということです。

コード:

    function testMethod() {
        var test1 = "10101110";
        var test2 = "10101011";

        var iTest1 = parseInt(test1, 2);
        var iTest2 = parseInt(test2, 2);

        var iLogicalResult = iTest1 & iTest2;
        var stLogicalResult = iLogicalResult.toString(2);

        alert(stLogicalResult);
    }


いかがでございましょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
satoko
常連さん
会議室デビュー日: 2006/05/06
投稿数: 35
お住まい・勤務地: 東京
投稿日時: 2006-05-07 01:02
引用:

そもそも、何故に文字列として扱っているんでしょうか?
私の書き込みより:

charAt に渡す要素の数を、for のループ変数にするだけだと思いますが...
ピンポイントであれば、論理積 の結果で良いんじゃないでしょうか?
と発言しているのですが、これは「以下のようにできないのでしょうか?」ということです。

コード:

    function testMethod() {
        var test1 = "10101110";
        var test2 = "10101011";

        var iTest1 = parseInt(test1, 2);
        var iTest2 = parseInt(test2, 2);

        var iLogicalResult = iTest1 & iTest2;
        var stLogicalResult = iLogicalResult.toString(2);

        alert(stLogicalResult);
    }


いかがでございましょうか?




すみません、ご丁寧にありがとうございます。
じゃんぬねっとさんのおっしゃる通り、ビット演算子を使ってやりました。
本当にありがとうございます。
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2006-05-07 01:11
水をさすようですが、一応念のため。

引用:

satokoさんの書き込み (2006-05-06 05:13) より:
皆さんはじめまして。
セキュリティレベルによってボタン(リンクボタン)の表示非表示をJavascriptでやろうとしています。


ここでのセキュリティがどの程度重要なものかはわかりませんが、
簡単にリンクに飛ぶことはできるということは頭にとどめておきましょう。
ユーザ操作的に表示されなければよいというような話だけならいいんですが。
※まあ、ほんとに困ることならサーバ側でもチェックはしてるでしょうけど…
1

スキルアップ/キャリアアップ(JOB@IT)