- PR -

スクリプトエラーについて!

投稿者投稿内容
いっさ
ベテラン
会議室デビュー日: 2005/04/18
投稿数: 83
投稿日時: 2005-06-08 10:43
エラーで”)”がありませんみたい言われ
ソースを見てみると、

this.a2 = new Array("location", "年 を入力してください。", new Function ("varName", "this.mask=/^[^'";:,$%]*$/; return this[varName];"));

この行が変みたいで。
)というのはどういう事なんでしょうか?
教えていただけると助かります。
未記入X
大ベテラン
会議室デビュー日: 2005/05/19
投稿数: 136
投稿日時: 2005-06-08 10:59
文字通り、右カッコが閉じてないだけです。
考える事を放棄しているとしか思えない投稿ですが、
そんなあなたでもじっくり見ればわかるかもしれません。

#「コンパイルエラーの原因となった行を抜き出せた」という成長は見られますが
#あいかわらず質問法と日本語の初心者からは抜け出していませんね。
#言語は?バージョンは?それすら書くのをサボる人なのですね。
いっさ
ベテラン
会議室デビュー日: 2005/04/18
投稿数: 83
投稿日時: 2005-06-08 11:11
閉じてないのはわかります。
ただ画面の方のソースを直したところでは意味ないじゃないですか?

だってまだ初心者です。
言語はJavaです。
未記入X
大ベテラン
会議室デビュー日: 2005/05/19
投稿数: 136
投稿日時: 2005-06-08 11:20
さて。最初の説明にない「画面の方」という単語が出てきました。
これについて、最初の投稿で全く説明、記述が無い為にあなたが何を言っているのか理解し難いです。

サボらず、関係する項目全てを説明するようにしましょう。
今のあなたは、ただの「回答クレクレ君(私の造語)」ですか?
JW
常連さん
会議室デビュー日: 2004/01/14
投稿数: 49
投稿日時: 2005-06-08 11:25
初心者です、と言うことは思っていても書かない方が良いです。
# わざわざ叩かれたいようにしか見えない

「)」だけに囚われすぎず、他の物も左右対応がとれているかじっくり見てください。空白なりコンマなり文字列なり括弧なりでどんどん区切って、それを確認していく。

コード:

this.a2
= new Array(
"location",
"年 を入力してください。",
new Function (
"varName",
"this.mask=/^[^'";:,$%]*$/; return this[varName];"
) ← 「new Function (」に対応しているつもり
); ← 「new Array (」に対応しているつもり


でしょうが、
コード:

"this.mask=/^[^'";:,$%]*$/; return this[varName];"


の["]の個数を考えると、文字列としては
「"this.mask=/^[^'"」として扱われ、次の「;」の前に(以下略)



[ メッセージ編集済み 編集者: JW 編集日時 2005-06-08 11:27 ]
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2005-06-08 12:25
引用:

いっささんの書き込み (2005-06-08 11:11) より:
閉じてないのはわかります。
ただ画面の方のソースを直したところでは意味ないじゃないですか?

だってまだ初心者です。
言語はJavaです。


初心者かどうかはともかく、回答する方は書かれている情報からしか判断することができません。
察するに、Javaで書いたコード(サーブレットorJSP)からJavascriptを含むHTMLを出力した
結果、ブラウザがスクリプトエラーを吐いており、それがどうやら括弧が足りない、ということ
らしい。

と読めるのですが、合っていますか? もし合っているのであれば、最初の質問でこの程度の
情報を書くように努力してください。
いっさ
ベテラン
会議室デビュー日: 2005/04/18
投稿数: 83
投稿日時: 2005-06-08 16:00
JWさん、正直に言っただけですよ。
こんなところで嘘を言ってもしょうがないじゃないですか?

"のせいだっていうのはわかって、消してやったらできたんですけど
それじゃあ意味ないんですよね…。
どうすればいいんでしょうか?
mone
常連さん
会議室デビュー日: 2005/05/18
投稿数: 37
投稿日時: 2005-06-08 16:15
引用:

"のせいだっていうのはわかって、消してやったらできたんですけど
それじゃあ意味ないんですよね…。
どうすればいいんでしょうか?



その後調べてみたりしましたか?
基礎的な次項なので、大抵の書籍にも載っているとは思いますが
エスケープシーケンスを使います。
具体的には
「"」を「\"」と記述することで
意味のある記号ではなく、文字列として扱ってくれます。

#質問の仕方に初心者であるかどうかは関係ありません。
#初心者です。と言うと、
#「初心者なんだから、何も文句言うな」ともとれてしまいます。
#それでは、せっかく答えようとしてくれている人を不愉快にしかねません。
#そういう意味で、書かないほうがよいと思いますよ

[ メッセージ編集済み 編集者: mone 編集日時 2005-06-08 16:17 ]

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