IE4でJava evalメソッドは使えないの?

[上に] [前に] [次に]
吉三郎 [E-Mail] 1998/06/22(月) 17:45:50
たぶん簡単な質問なんだと思います(恐縮です)
IE40環境のHTMLで、JavaScript evalを記述すると変数が
宣言されていない旨のエラーとなってしまいます。
eval(文字列→数値変換)を認識してないような気がします。
IE40では使えないのでしょうか?
ほかにいい方法はないのでしょうか?

以下のような感じで使っています。
Dim Max
〜output.valueに文字列を代入する処理〜
Max = document.DENTAKU.output.value

   If eval(Max) < 14 then
      document...........
      Ckey = Ckey + 1
   Else

※ほんとは()の中に直接 "output.value" を記述したいのですが、
 よくわからないので、こうしています。

BASIC [E-Mail] [HomePage] 1998/06/23(火) 23:16:53
[[解決]]
吉三郎さん、JavaScriptの基本的な構文が間違っています。
(VBScriptと勘違いしてませんか?)
正しくは

if(eval(Max)<14){
   /*条件が合った時の処理*/
}
else{
   /*条件が合わなかった時の処理*/
}
です。
上のリストを見ると、すでにDimの時点でエラーが出てると思いますよ?

吉三郎 [E-Mail] 1998/06/24(水) 09:38:09
BASICさま、ありがとうございます。
ビンゴです!
JAVAScriptでいろいろ作っていたのですが、難しいところは例をいろいろ
いただいていてそれに手を加えて作成するといった方法をとっていたのですが、
実は VBScriptの例をいただいていたのだと、BASICさんの一言で気が付きました。
(トップの<SCRIPT LANGUAGE="VBScript">を見て唖然呆然(笑))
お見それいたしました。
切り口を替えてみたいと思います。
&JAVAScriptでの例ありがとうございました。(すぐ役に立ちます)m(__)m

吉三郎 [E-Mail] 1998/06/24(水) 11:26:22
[[解決]]
BASICさま、いちおうVBScriptで以下のようにコーディングしたところ、うまく通りました。
ヒントを本当にありがとうございました。

〜output.valueに文字列を代入する処理〜
If CDbl(document.DENTAKU.output.value) < 14 then
document...........
Ckey = Ckey + 1
Else
(これが一番よいコーディングとはとても思えませんが、とりあえず動きました)

saku 1999/08/18(水) 14:01:53
すみません、私の環境(IE5+Win95)ではeval()でエラーが発生するのですが
なぜだかわかるかた、お教え下さい。
以前の投稿からの抜粋です。

function JudgeKatakana(Letter){
var CLetter;
var CLetterBin;
CLetter = escape(Letter) ;
CLetterBin = eval("0x" + CLetter.charAt( 1 ) + CLetter.charAt( 2 )) ;
if( CLetterBin > 0xA0 && CLetterBin < 0xE0 )
  return true ;
else
  return false ;
}

このeval()でエラーが出ます。
よろしくお願いします。

Mugi [E-Mail] [HomePage] 1999/08/18(水) 15:04:03
こいうときはparseInt使うんじゃないでしょうか?

[上に] [前に] [次に]