+ JavaScript の質問用スレッド vol.32 +

このエントリーをはてなブックマークに追加
1Name_Not_Found
━━━━━JavaScript質問スレ道場訓━━━━━
 一、礼節を重んじ常に努力精進すること
 一、ブラクラに打ち勝つ精神力を持つこと
 一、心身の優れたJavaScriptを学ぶこと
 一、雑草の如く生涯JavaScriptを貫くこと
 一、感謝と反省を忘れないこと
 以上
━━━━━━━━━━━━━━━━━━━━━━

このスレに書き込むことが許されるものは以下のとおり
・JavaScriptとJavaの違いを理解する者
・スクリプトを組むための最低限のHTML・CSSを理解する者
・ユーザーに迷惑となるスクリプトを書かない者
・FAQ・過去ログや関連資料を読むことができる者
・「初心者です」を振りかざさず、質問を分かる日本語で説明できる者
・対象環境や使用技術は質問者の裁量であることを理解する者
 (質問時、回答時にはなるべく対象環境を明記しよう)

前スレ ttp://pc5.2ch.net/test/read.cgi/hp/1095310099/l50
FAQ・過去ログ・関連資料・その他質問スレは >>1-10
2Name_Not_Found:04/11/05 22:52:46 ID:???
【過去ログ】vol.23までは全部読めます。マスターしたらあなたもJavaScriptのプロ。
vol. 1 (倉庫)http://mentai.2ch.net/hp/kako/972/972192155.html
vol. 2 (倉庫)http://natto.2ch.net/hp/kako/985/985424635.html
vol. 3 (倉庫)http://natto.2ch.net/hp/kako/994/994168119.html
vol. 4 (倉庫)http://natto.2ch.net/hp/kako/997/997445548.html
vol. 5 (倉庫)http://pc.2ch.net/hp/kako/1002/10025/1002539301.html
vol. 6 (倉庫)http://pc.2ch.net/hp/kako/1005/10059/1005979370.html
vol. 7 (倉庫)http://pc.2ch.net/hp/kako/1010/10108/1010823511.html
vol. 8 (倉庫)http://pc.2ch.net/hp/kako/1014/10142/1014289221.html
vol. 9 (倉庫)http://pc.2ch.net/hp/kako/1017/10176/1017668857.html
vol.10 (倉庫)http://pc.2ch.net/hp/kako/1022/10220/1022077876.html
vol.11 (倉庫)http://pc.2ch.net/hp/kako/1026/10266/1026611260.html
vol.12 (倉庫)http://pc3.2ch.net/hp/kako/1030/10301/1030162756.html
vol.13 (倉庫)http://pc3.2ch.net/hp/kako/1033/10333/1033385900.html
vol.14 (倉庫)http://pc3.2ch.net/hp/kako/1036/10369/1036934434.html
vol.15 (倉庫)http://pc5.2ch.net/hp/kako/1041/10417/1041701828.html
vol.16 (倉庫)http://pc5.2ch.net/hp/kako/1045/10452/1045265973.html
vol.17 (倉庫)http://pc5.2ch.net/hp/kako/1047/10478/1047807902.html
vol.18 (倉庫)http://pc5.2ch.net/hp/kako/1051/10510/1051020507.html
vol.19 (倉庫)http://pc5.2ch.net/hp/kako/1054/10540/1054043048.html
vol.20 (倉庫)http://pc5.2ch.net/hp/kako/1056/10568/1056808693.html
vol.21 (倉庫)http://pc5.2ch.net/hp/kako/1059/10595/1059553020.html
vol.22 (倉庫)http://pc5.2ch.net/hp/kako/1062/10629/1062943541.html
vol.23 (倉庫)http://pc5.2ch.net/hp/kako/1067/10670/1067085950.html
3Name_Not_Found:04/11/05 22:53:22 ID:???
4Name_Not_Found:04/11/05 22:53:45 ID:???
【標準規格・リファレンス】
規格を読まずにどうなってるか分からんとか質問しないこと!

ECMA-262
http://www.ecma-international.org/publications/standards/ECMA-262.HTM

W3C Document Object Model Technical Reports
http://www.w3.org/DOM/DOMTR

MSDN Library JScript ドキュメント
http://www.microsoft.com/japan/msdn/library/ja/script56/html/js56jsoriJScript.asp

Microsoft MSDN online Library DynamicHTML (現在日本語版は古杉)
http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_entry.asp

N6 Core JavaScript1.5
http://developer.netscape.com/docs/manuals/js/core/jsref15/contents.html

Gecko DOM
http://www.mozilla.org/docs/dom/domref/

NN4.x Client-side JavaScript1.3
http://developer.netscape.com/docs/manuals/js/client/jsref/index.htm

Netscape 一般
http://developer.netscape.com/
5Name_Not_Found:04/11/05 22:54:15 ID:???
【チュートリアルサイト・サンプルサイト】
規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。

ECMAScriptチュートリアル
http://www.axis.t.u-tokyo.ac.jp/~shunak/ecmascript/

MetaGraphic Cell
http://www2u.biglobe.ne.jp/~oz-07ams/prog/

どら猫本舗のリファレンスカウンター
http://www.doraneko.org/

はぎさんちのページ Mozilla's DOM Sample Project
http://cgi.din.or.jp/~hagi3/JavaScript/JSTips/Mozilla/mds.cgi

JavaScript basic samples
http://www.sumnet.ne.jp/domp/jsbs/

初めてのホームページ講座 JavaScript Dynamic HTML SAMPLES
http://www.hajimeteno.ne.jp/dhtml/

Dynamic Scripting
http://www.interq.or.jp/student/exeal/dss/

JavaScript深層
http://www.hawk.34sp.com/

(「とほほ」は内容に問題ありとの意見により削除してます)
6Name_Not_Found:04/11/05 22:54:43 ID:???
【検索】
「キーワード『…』で検索しろ」「ぐぐれ」と言われた場合はこちらへ
http://www.google.co.jp/

【関連スレ】
板違い、スレ違いに注意!サーバ側での処理はWebProg板へどぞ!

Webサイト制作初心者用スレ vol.107
http://pc5.2ch.net/test/read.cgi/hp/1099037636/l50

/* CSS・スタイルシート質問スレッド【37】 */
http://pc5.2ch.net/test/read.cgi/hp/1098720757/l50

CSS/DHTMLバグ辞典スレッド 第4版
http://pc5.2ch.net/test/read.cgi/hp/1078463560/l50

役に立つ書籍は?
http://pc5.2ch.net/test/read.cgi/hp/992793435/l50
7Name_Not_Found:04/11/05 22:55:13 ID:???
【質問を書く上で】
弱気な表現は避ける
  弁解じみた表現は良くない。また、まわりくどい。
    ex) 超初心者で何もわかりませんが……
     <そんなことより自分で試したことをた方が答えやすい>
情報を小出しにしない
  読み手は馬鹿にされた気分になる。
  無駄な倒置も不要だ。
  使用したブラウザ、バージョン、OSくらい書こう。
感情的にならない
  何の説明なく決め付ける文はよい印象を与えない。
  また態度の大きい人は嫌われる。
    ex) 答えられねぇんなら黙ってろ!!! <お前だけだよ>
無視するべきものは無視する
  無能、知ったかぶり、宗教的主張、煽り、ぬるぽ等。
表記ミスに注意
  内容がどんなにすばらしくても文字使いにミスがあると誤解を招く。
曖昧文は書かない
  いくつにも解釈できる文章は絶対に書かない。
    ex) ここではきものをぬいでください。
「」など無駄な強調は避ける
  読みにくい。♪や顔文字も同様である。
ソースは要点を整理して出す。
  そのまま貼って動かせると試してもらいやすい。
  長い場合はアップロードしてURIを貼る。
8Name_Not_Found:04/11/06 00:23:47 ID:ML99/SFi
おつ。
9Name_Not_Found:04/11/06 00:59:48 ID:???
【FAQ】
Q1. 開いた別窓/フレームの内容にアクセスできないのですが…
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
Q2. JavaScriptでローカルファイルを読み/書きたいのですが…
A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに…
Q3. document.write(...)でページ内容を追加したいのですが…
A3. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。
 部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、
 (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。
 innerHTMLは非標準ですがIE、Opera、Gecko(N6/N7/Moz等)で対応済。
Q4. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが…
A4. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるしかない。
Q5. Aタグのonclickで動作指定してるのですが時々動きません…
A5. 「onclick="...;return false"」としないとページ移動しちゃうから。
Q6. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが…
A6. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。
Q7. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A7. 「document.forms.myform.elements[変数名].value」でどぞ。
 JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
 例:「obj.p0=obj.p1=...=obj.p8=0;」⇔「for(i=0;i<9;i++) obj['p'+i]=0;」。
Q8. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A8. IEではe.currentStyle、Geckoではwindow.getComputedStyle()を使います。
Q9. 100*1.15の結果が114.999…998となってしまうのですが…
A9. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。
Q10. 見よう見まねでHTML+CSSを書いてDOMで操作してますがうまく行きません。
A10. HTMLとCSSがきちんと理解できてない人にはDOMでの操作は難しいですね。
10Name_Not_Found:04/11/06 12:44:37 ID:???
>>1
  d_(∵)  GoodJob
     d \
   /   ̄
  「\_
11Name_Not_Found:04/11/06 12:59:02 ID:???
Z
12Name_Not_Found:04/11/06 16:07:56 ID:???
もつカレー
13Name_Not_Found:04/11/07 01:47:53 ID:???
すいません。。。質問なんですが。。。

<td class="style"><a onClick="MM_openBrWindow('ore01.html','WINDOW','scrollbars=yes,resizable=yes,width=400,height=350')">NO.01</a></td>

これでオンマウスにいたいんですが、わかる方教えてください。。。
14Name_Not_Found:04/11/07 02:06:09 ID:KIlcCmzA

あ、それオレもわかんない、オレにおせぇて〜
15Name_Not_Found:04/11/07 02:32:38 ID:???
>>13 ためしに、onClick を onmousemove に変更するとどうなりますか。
16Name_Not_Found:04/11/07 04:24:28 ID:???
onClick→onMouseOver
17Name_Not_Found:04/11/07 05:47:42 ID:???
イベント属性をキャメルな書き方にする慣習をやめよう。
いつまでも古臭い AS の独自拡張みたいで、不細工だから。
18Name_Not_Found:04/11/07 05:51:23 ID:???
>>16 13は、「オンマウスにいたい」と書いているわけですが。
19Name_Not_Found:04/11/07 06:11:56 ID:???
>>18
「オンマウスにいたい」ってどういう意味ですか?

オンマウスに痛い
オンマウスに遺体
オンマウス二位タイ

ああ、ってことは一位がいるわけですな?
で、一位はonMouseMove?


…んなわけないかヽ(`Д´)ノ
通訳きぼん!

>>17
どう書けばいいの?
キャメルってらくだ? 煙草?
20Name_Not_Found:04/11/07 11:55:14 ID:???
>>19
× onMouseOver
○ onmouseover
HTMLでは大文字小文字関係ないからどっちでも動作するが
JavaScript側では全部小文字でないと駄目だしね。
2113:04/11/07 13:23:40 ID:Bpy7kHAg
すいません、皆さんありがとうございます。
色々試してみました。
でもでどうしても指のボタンは出ないんですよね...(汗)
一応、ポップアップで開く事は開くんですが、マウスの指が出ないんです。
何なんでしょうかね?
22Name_Not_Found:04/11/07 13:32:58 ID:???
>>21
日本語でお願いします。

>>13も、正直意味が判らない。
2313:04/11/07 13:40:32 ID:???
>>22
何となくニュアンスで受け取ってもらえると嬉しいんですが。。。
24Name_Not_Found:04/11/07 14:18:25 ID:???
指?カーソルが変わらないって言いたいのか?
そりゃ href 属性がないし CSS を使っている様子もないから当然。
詳細は CSS 質問スレへ
25Name_Not_Found:04/11/07 14:19:14 ID:???
日本語の不自由な奴につきあう気はない。用語を勉強してこい。
26Name_Not_Found:04/11/07 15:39:44 ID:???
CSSスレへ誘導したってあの日本語じゃ望み薄でしょ。
体よく追っぱらうってとこか。
27Name_Not_Found:04/11/07 16:39:06 ID:???
わからないからって逃げんなよ、とはいってもオレも









             わからない







28Name_Not_Found:04/11/07 16:42:29 ID:???
>>27
別に本人じゃなくたっていいから、どういう問題かはっきり
させて見なよ。このスレの回答者が回答できないような問題
じゃないことはまあ明らかでは?
29 ◆q7u/null4U :04/11/07 18:58:10 ID:Y0F1+xUV
>>20
event handler は HTML からの Script Summoner.
HTML の世界にあって Script 世界への橋渡しをする存在なのだ.
言い換えると HTML 世界の規則に縛られる.
DTD が HTML4.01 ならば大文字小文字混在でも問題はない.
DTDが XHTML ならば " 大文字は好ましくないよん. " と注意されるだけなのさ.

どちらにしても Script 世界とは 別の話.
3019:04/11/07 19:41:08 ID:???
>>20
HTMLの属性内に書いてるんだからOnClickでもonClickでもOKでは?
何か問題でもあるの?

>>21
style="cursor:hand;"
31Name_Not_Found:04/11/07 19:48:45 ID:???
>>29
そう、Scriptとは別の世界。でもScriptで大文字使って動かないと
いってる奴は実在して、そういうのはダサイと洩れは思う。それだけ。
>>30
HTMLの「属性内に」書いてあっても
<body onload="document.links[0].onMouseOver=function() { alert('?'); }">
やってみなよ、動かないから。いやまあ、そういう話じゃない
んだろうけど。でも全部小文字の方がカコイイと洩れは思うね。

大元の >>17 は洩れではないんで彼がどういうつもりかは知らん。
洩れは好みの話をしてるだけ。 >>20 の○×は Script中の話を
してるだけ(JavaScriptスレだしね)。>>20 にもそう書いたよな。
3219:04/11/07 19:56:20 ID:???
>>31
「属性内」→「属性名」 だ。スマソ。脳内置換ありがdw
結局、カッコイイかどうかの問題なんでしょうか?
漏れは長いイベント名はどこが切れ目かわかりにくいから単語の頭は大文字にしてまつ。
3313:04/11/07 20:59:22 ID:???
みなみなさんすいませんです。。

<td class="style"><a onClick="MM_openBrWindow('ore01.html','WINDOW','scrollbars=yes,resizable=yes,width=400,
height=350')">NO.01</a></td>

これの"style"っていうのがCSS名前なんす。
>>30
ありがとうございます、"cursor:hand;"←これって
どこに入れたらいいんでしょうか。。。?
34Name_Not_Found:04/11/07 21:06:47 ID:???
>>33
相変わらず判りにくいが、一言で言えば板違い。
3513:04/11/07 21:18:30 ID:???
>>34
すいません。。。

CSSのこの<td class="style">っていうのは数字の大きさを決めてるんす。
36Name_Not_Found:04/11/07 21:22:54 ID:???
CSS名前???
言いたい事はわかるが頼むから最低限のHTML/CSS/JSの専門用語を覚えてくれ
3713:04/11/07 21:38:12 ID:???
cssは外部テキストなんす。
3834:04/11/07 21:55:43 ID:???
ぶっちゃけるが、オレはわかんないぞ、文句あんのか?あ?
3919:04/11/07 21:57:54 ID:???
<td class="style"><a style="cursor:hand;" onClick="MM_openBrWindow('ore01.html','WINDOW','scrollbars=yes,resizable=yes,width=400,
height=350')">NO.01</a></td>

ココまで書かぬと分からぬか!
ふとどき者め! 出直して参れ!
40Name_Not_Found:04/11/07 22:45:22 ID:???
0
4113:04/11/07 22:46:42 ID:???
>>39
どうもありがとうございます!出来ました〜!!
4219:04/11/08 00:16:38 ID:???
>>41
ごめん言い過ぎた_| ̄|○
4317:04/11/08 00:32:43 ID:???
>>31 わけわかってない部分があるな。とりあえず次を読んで自力で理解してくれ。

text/html なレスポンスを受け取って、それをいきなり JS の規則ではパースしない。
至極当然ながら、HTML の規則でパースする。
HTML は イベント属性の属性値を条件付の CDATA としている。
条件とは、エンティティを展開する、ということ。
 <p onclick="alert("foo&bar" + this.className)" class="baz">
 → alert("foo&bar" + this.className) というテキストデータとみなす。
HTML の規則による解析後、通常の既定では JS として解釈される。

JS の解析では、JS のイベントプロパティは次の様に書き換えられる。
 (HTMLParagraphElement p).onclick=function ( ) { alert( "foo&bar" + this.className) }
(HTML の)イベント属性に特別なのは、JS がスコープオブジェクトを作ること。従って、
 <p onclick="alert("foo&bar" + className)" class="baz">
と this 抜きに書いても問題無い。
4417:04/11/08 00:34:50 ID:???
おまえら、酷い無知ですね。仕様や勧告をまともに読んだ事ないだろ。

http://www.w3.org/TR/html4/strict.dtd
を見てみれば分かるが、onClick なんて定義はされていない。小文字で、onclick である。
たとえ HTML が大文字小文字を無視する規格であっても、
わざわざ DTD の通りに書かない上に、大文字小文字を混在させる、
という姿勢は感心しない。

しかし、これが XHTML になると深刻である。
http://www.w3.org/TR/xhtml11/DTD/xhtml11-flat.dtd
無知なおまえらの XHTML が糞であるという事実を知る術はないから、
とりあえず、パースしようと試みるだろう。
標準準拠なパーサ (xerces など) を使っている場合、
既定のままでは、エラーと見なされてパースされない。
その例外処理にソースコードにして数十数百行というコストが発生する。
XHTML を書くなら、DTD の定義通りに書かなければならない。
45Name_Not_Found:04/11/08 00:39:35 ID:???
なぜか大漁
4643:04/11/08 00:39:41 ID:???
展開されてしまった。
× <p onclick="alert("foo&bar" + this.className)" class="baz">
○ <p onclick="alert(&quot;foo&amp;bar&quot; + this.className)" class="baz">
47Name_Not_Found:04/11/08 00:48:21 ID:???
エンティティの展開なんてこの話題ではどこにも出て来て
ないだろうが。知識のひけらかしだったら誰も求めてないから。さいなら。
48Name_Not_Found:04/11/08 06:54:00 ID:???
Webグラマにはうるさいの多いな
自分のコードがどの環境で動くかだけ見てりゃいいんだよ
俺はパフォーマンス追及派なんで清書好きは合わんなね
実稼動するか、効率的か、どうか。まずそれだけは抑えるだけ。
49Name_Not_Found:04/11/08 08:07:36 ID:???
清書は効率が悪いですかそうですか



プッ
50Name_Not_Found:04/11/08 08:31:51 ID:???
洩れも >>48 には爆笑だね。そんな奴にまっとうなコードが
書ける訳はないよね。
51Name_Not_Found:04/11/08 08:42:14 ID:???
>>48
あなたは、一生オナニーしながら
自分の書いたコードのメンテしてなさい。
52Name_Not_Found:04/11/08 08:44:17 ID:???
釣れるね。この煽りw
まだいけるかな?
53Name_Not_Found:04/11/08 08:47:05 ID:y8bDLVOJ
<APPLET CODE ="△△△.class" WIDTH=140 HEIGHT=240>
</APPLET>
ってタグ入れてIEで出力させようとしたら

load: class △△△ not found

って出るのですが
環境変数の設定が間違っているのかな・・・?
5448:04/11/08 09:07:09 ID:???
>>53
スレが間違ってる
5548:04/11/08 09:11:53 ID:???
54書くのにブロックされたから
誰が必死なのか、明解
そういうスレだからさよなら〜
56Name_Not_Found:04/11/08 16:49:40 ID:???
テキストリンク

<a href="#" onClick="foods(1)" >1</a>


のonclick内を追加し、予め表示されている下記のmap内の一部を動的に変えたいと思います。

<map name="1">
<area shape="rect" coords="102,482,130,524" href="#" onClick="hoge('./folder/08.html','hage','scrollbars=no,width=680,height=550')">
</map>

やりたいことは、function hoge()で別ウィンドウが開くのですが、
08.htmlという部分を、違うhtmlファイルを開くようにしたいのです。
関数を作って、onclickで、やるのでしょうか?
javascriptが分からないので、記述方法を教えてくれたらありがたいです。
よろしくお願いします。
57Name_Not_Found:04/11/08 17:57:59 ID:???
>>56
飛び先は適当な変数に入れておくことにして,初期値を
08.htmlにする。onclickの動作でその変数の内容を変更。
hogeにはその変数の値を渡す。
58Name_Not_Found:04/11/09 00:26:39 ID:???
規則的な名前の付いたオブジェクトが3つほどありまして、
<img src="〜〜" name="n1" 〜〜
<img src="〜〜" name="n2" 〜〜
<img src="〜〜" name="n3" 〜〜
これを独自のオブジェクトを定義する要領で変数的に扱いたいのですが、
for(j=1;j<=3;j++){
OBJ="document.n"+j;
OBJ.src=〜〜〜.src;
}
こんな感じにしたいのですが、うまく作動しません。
エラーすら出ません。
何か良い方法ないでしょうか。
59Name_Not_Found:04/11/09 03:25:09 ID:???
OBJ = document.images["n"+j];
images[名前]でアクセスできたかどうかは忘れた
60Name_Not_Found:04/11/09 09:31:07 ID:???
>>59
できたと思うよ。
>>58
FAQ >>9 を読んで出直せ!!!
6156:04/11/09 10:31:14 ID:???
>>57
すみません、、、。
やることはなんとなく分かるのですが、記述方法を全く知らないので、
できれば教えてほしいのですが、、、。
6258:04/11/09 11:08:20 ID:???
>>59
出来ました〜
ありがとうございました。助かりました。
>>60
すいません。ピンとこないFAQもあったのですが、理解してから見返すと
意味が分かるものも出てきました。精進するので勘弁してください。

>>61
こんなこと言えた身分では無いですけど、同じ質問する立場として一言。
前スレで誰かが言ってましたが、ここは一から手取り足取り教えるスレッドではないですよ。
ある程度理解してて、行き詰ったとき質問すると、ピンポイントで答えが返ってくるスレです。
63Name_Not_Found:04/11/09 11:55:30 ID:???
「手取り足取り教えるJavaScriptスレ」を別に作った方が
よければ考えようよ。「気が向いた時だけ」ならそっちの
解答者もやってもいいと思っている。
64Name_Not_Found:04/11/09 13:35:37 ID:???
ちかごろまたマ板やム板にいそうなプロが通りすがってるので
ちびった >>63 が避難場所をもとめています.
6563:04/11/09 13:57:03 ID:???
いや別になくたっていいよ。でもこのスレに手とり足取り
な奴がくるともめるよね。洩れももめさせてるけどさ(ry
66Name_Not_Found:04/11/09 13:58:02 ID:???
思うに、初心者に分からせるように教えるというのもそれなり
のワザが要るのであって、半可通には難しいという気がする。
67Name_Not_Found:04/11/09 18:39:12 ID:???
たててみた。
http://pc5.2ch.net/test/read.cgi/hp/1099993040/

需要(質問)と供給(回答)が釣り合えばそれなりに成り立つだろうし、
そうじゃなければ、駄スレとして消えていくコトだろうし。
68Name_Not_Found:04/11/09 19:27:09 ID:???
頑張りたくない人はコピペですぐ動くものを欲しがらないか?
6967:04/11/09 22:59:29 ID:???
たててから4時間半弱で、あっち17レス、こっち1レス。
あ、漏れはこっち派です。
70Name_Not_Found:04/11/09 23:00:12 ID:???
スレルールを斜め読みなので、失礼があれば御容赦を。

今までIE6のみだったのをFireFoxにも対応しようと、自作JScriptの
見直しをチマチマと続けているのですが。
その中で、背景色のランダムフェードなのですが。

もしかしてFireFoxは、document.bgColorに 0x00ffffff を書き込んでも
#ffffffを返さない?

BGColor = 0xffffff;
document.bgColor = (BGColor);
alert( " "+BGColor + " / " + document.bgColor );

英語分からんので日本語サイト調べようとしたら、どこも激重('・c_・` )
71Name_Not_Found:04/11/09 23:24:40 ID:???
普段そういう書き方をしていないので申し訳ないが、
b=document.getElementsByTagName("body")[0];
として
b.style.backgroundColor
を参照するとどうだろうか。
72Name_Not_Found:04/11/10 01:17:34 ID:4NXVysKg
<table><tr onclick="change(this)"><td><a href="">hoge</a></td><td>hoge2</td></tr></table>

function change(ojb){
if (obj.style.color == "#ff0000") {
obj.style.color = "#000000";
} else {
obj.style.color = "#ff0000";
}
}

これだと、hoge2は色が変わりますが、hogeはリンクの色が効いている為、変わりません。
リンクの部分も同時に変えるにはどうしたらいいですか。
<a>タグにidなどを付ける以外でお願いします。
73Name_Not_Found:04/11/10 01:22:36 ID:???
>>70-71
摸前ら、FAQ >>9 のQ8/A8読んでないっしょ?
そういうところは変数じゃないんだから書き込んだ
ものがそのまま読めるとかいうわけには行かない。
>>72
this以下のノードを全部たどって色変えるとか?
たどり方は勉強してくれ。
74名無し募集中。。。:04/11/10 01:46:04 ID:???
>>72
this.firstChild.firstChild

tekito-
75Name_Not_Found:04/11/10 02:00:58 ID:???
>73
確かに、trの子要素を辿っていってa要素のスタイルを変えればできると思ったけど、
それだとコードが増えるなぁと思って。
trから一発でスタイルを変えるのは無理か。
76Name_Not_Found:04/11/10 02:26:24 ID:???
>>73
ん?そういうことなん?
< BGColor = 0xffffff;
< document.bgColor = (BGColor);
< alert( " "+BGColor + " / " + document.bgColor );
だから、スタイルシート関係ないのでは?

ともあれ、スタイルシートで定義されたののは、
style.currentStyle を使うか、getComputedStyle()を使えばできるっしょ。
7776:04/11/10 02:28:12 ID:???
間違えた。引用するときは
「<」ではなく「>」ですね。
見づらくてスマソ。
78Name_Not_Found:04/11/10 11:07:32 ID:???
>>70
> もしかしてFireFoxは、document.bgColorに 0x00ffffff を書き込んでも
> #ffffffを返さない?
Geckoはdocument.bgColorにNumber型の値を入れても
6桁の16進数に'#'を付加した文字列へと自動変換はしてくれない。
Number型の値から#XXXXXXという文字列を生成する処理を自前で作ろう。
7961:04/11/10 12:49:59 ID:???
>>62
すみません、、、。
勉強したいところなのですが、仕事でやっていることなので
時間がなくて、切羽詰まって質問しました。
今度からは、それ用のスレにて質問させていただきます、、、。
申し訳ありませんでした。
80Name_Not_Found:04/11/10 12:55:13 ID:???
「'#'+(値 + 0x1000000).toString(16).substring(1)」これだけでしょ。
81Name_Not_Found:04/11/10 22:44:25 ID:???
>>71
こちらとしても、そんな書式があるのを知らなかったです。
リファレンスを2冊使っているけど、どちらにも解説は・・・。
読解出来れば、新しく世界が開けるかな?
どうもでした。

>>73
見落としていました_/ ̄|○
御恥ずかしい。
プロパティへの読み書きってのは、変数への読み書きと同等に認識していました。違うのですね。
でも、ハードウエアを覗いているような感覚でなんだか気分悪いです。

>>76 Don't mind.
まあ、CSSは手段の1つですから。
参照先は変わらないでしょうし。
でも、A8で返答しているプロパティとメソッド?、それが手元の資料で見付からないのですヨ(^^;
もちょっと調べますが。

>>78
>>80
あいや、頭の'#'だけが問題なら私程度の知識でもリファレンス片手に出来るのですけどね。
と言うか、#付きの6桁で返って来ますよ。

皆さん返答有難う御座いました。
現時点で問題解決には至っていませんが、示された糸口に従って精進したいと思います。
有難う御座いました。
82初期型冷蔵庫 ◆yCnrEJxHmE :04/11/11 00:31:04 ID:???
あのぉ…ダメもとでお願いいたします。。

ttp://www.ne.jp/asahi/ma-kun/ore/index.html

このサイトのトップにある
カーソル合わせたら絵がひとまわりちっこくなるやつを自分のホームページでも
したいのですけれども、、
どのへんをどういじるのかがわかりません。。

多分あらかじめ画像を2つ(コレでいうとTCS.gifとTCSb.gif)用意しておき、
Javaでなんかやってると思うんですけど、
ソースの中にある

「target="_parent" id="_HPB_ROLLOVER1"」

このあたりの使い方がよくわかりません。。
わかる方がいらっしゃいましたら簡単でもよいので私に何かヒントを〜(._<)
もしくはいいサイトなどございましたらご教授願いますm(_ _)m
また、スレ違いでしたら誘導をばしていただけるとそれはもうありがたき幸せでございます。
では、何卒よろしくお願いいたします。
83Name_Not_Found:04/11/11 01:09:55 ID:???
>>82
カーソルが乗ると画像が小さくなるの、というか取り変わるのは
非常に一般的でどこにでもサンプルがあるからサンプル探して
勉強してね。target属性もid属性も関係ない、つかあんたが見た
サイトでは使ってるかも知れんけどそんなもんなくてもできるし。
「JavaScript ロールオーバー」でぐぐればいいかな。
84初期型冷蔵庫 ◆yCnrEJxHmE :04/11/11 04:16:44 ID:???
>>83
ありがとうございました☆
こりゃいいですねかなり使えそうです。
非常によい検索単語でございました。
もういくらでも作れそうです。
javaのとこは先読みとかをしてたんですね。
完全なる善意、感謝致します。(^-^)/
ではでは。
85Name_Not_Found:04/11/11 05:12:42 ID:???
JAVA と JavaScript は違うとあれほど(以下略
86Name_Not_Found:04/11/11 11:05:46 ID:???
まぁ俺も独学し出した当初は本屋でJAVAの本見て「?ホムペに使えるやつ載ってねーじゃん」とか思ってましたから・・・w
87Name_Not_Found:04/11/11 15:06:50 ID:aFi4+koZ
フレームのページ内でjavascriptを使ってリンクすることってできるの?
location.href="..." target="X"みたいに・・・
88Name_Not_Found:04/11/11 16:45:36 ID:???
>>87
日本語が非常に分かりにくいんだけど。仮にaタグのtargetと
同じことをしたいというのなら、
top.frames.フレーム名.location.href = 'URI';
8987:04/11/11 17:10:37 ID:aFi4+koZ
>88説明不足スマソ えーと・・・

フレームでページを上下に分割して上のページでパスワード入力します。
そのページを下に表示したいんですけど・・・出来ますかね?
90Name_Not_Found:04/11/11 17:25:53 ID:???
>>89
下フレームのframeタグでname="lower"と指定しているなら、
top.frames.lower.location.href = '行き先';
で表示を切替えるんでしょ。てか >>87 と同じだろ!
9187:04/11/11 18:17:44 ID:???
>>88>>90ありがd

エラーいっぱい出てたけどテキトーニいじってたら出来た・・・(・∀・)ニヤニヤ
92Name_Not_Found:04/11/12 01:05:20 ID:4qMf/LjA
<input type="text">に入力した〒番号から、住所を検索して住所欄に
入れるcgiを作りますた。
<form></form>間でなんとかして、そのcgiに〒番号を送ってやりたいのですが
sabmitは送信のときに使うから<a>かjavascriptってことになるわけですが
〒番号の<input type="text">からフォーカスが他にうつったときに
javascriptでcgiに番号を渡して、検索結果の住所を入れるまでは上手く逝きますた。
〒番号をキー入力が数字7桁入れたとこで、javascriptでcgiに渡すうまい
方法ないでしょうか?onChange使うのかな?onChangeのたび、
¥d{7}になるかチェックみたいな感じで考えたのですがどうもだめです。
どうか、アドバイスをおながいします。
※cgiの方はハイフンは無視、全角数字は半角に置き換えるようにしてあります
93初期型冷蔵庫 ◆yCnrEJxHmE :04/11/12 03:54:18 ID:???
>>83>>85>>86
おかげさまでできました(^-^)
http://www.geocities.jp/momojiri1045/index.html
94Name_Not_Found:04/11/12 07:26:19 ID:???
>>92
まず、日本語をもう少し勉強してください。
そして、
>onChangeのたび、
> ¥d{7}になるかチェックみたいな感じで考えたのですがどうもだめです。
この部分をどう実装したのか、ソースを張ってください。
95Name_Not_Found:04/11/12 07:58:30 ID:???
>>92
onkeyup で見張る。
96Name_Not_Found:04/11/12 08:21:27 ID:???
>>92-94
英語もだめじゃん ×sabmit ○submit。入力フィールドは
RETURNとか押さないと値が確定しないから自前でキーイベント取る。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var i0
function init() {
i0 = document.forms.f0.elements.i0;
if(document.all) i0.onkeydown = function() { key(event.keyCode); }
else i0.onkeydown = function(e) { key(e.which); }
}
function key(k) {
if(k < 0x30 || k > 0x39) return;
i0.value += String.fromCharCode(k);
if(i0.value.length == 7) alert(i0.value);
}
</script>
</head><body onload="init()">
<form name="f0" onsubmit="return false"><p>
<input name="i0" type="text" readonly></p></form>
</body></html>
97Name_Not_Found:04/11/12 12:05:43 ID:???
ネットスケープ用のスクリプトで
「やふー」という文字の上にマウスカーソルを乗っける

id="ohn"のdivタグが現れる

そのid="ohn"のdivタグは、マウスカーソルを原点に表示される。
というのを作ろうとしてます。

id="ohn"をfixedで固定してleftやtopで位置を指定すればいいのかなと思い作ってみたのですが上手く動作しません。
どのようにすればいいのでしょうか?

<html>
<head>
<script language="JavaScript">
<!--
function onmove(){
document.getElementById("ohn").style.display = "block";
document.getElementById("ohn").style.left = evt.pageX;
document.getElementById("ohn").style.top = evt.pageY;
}
// -->
</script>
</head>
<body>

<div id="ohn" style="display:none;width:300px;height:140px;position:fixed;background:#f80;">ぉ〜ん?</div>
<div onmousemove="javascript:onmove();"><a href="#">やふー</a></div>

</body>
</html>
9897:04/11/12 12:06:17 ID:5vann1h3
一応ID出します
9997:04/11/12 14:24:13 ID:5vann1h3
やっと解決しました
お邪魔しました
100Name_Not_Found:04/11/12 14:26:15 ID:J20/UQCt
質問です
INPUTタグで、valueで注意書きをあらかじめ書いておいて
ユーザーが記述する時、クリック一つで注意書きが消える
スクリプトを教えてください


<input name="com" type="text" id="com" size="50" value="一言どうぞ(全角100字以内)" maxlength="200" onclick="reset();">
こんな感じで、コメントしてもらう時の注意書きを消す手間を省きたいです
101Name_Not_Found:04/11/12 14:50:31 ID:???
>>99
参考までに完成したスクリプト内容を見せてくれると助かります
102Name_Not_Found:04/11/12 14:56:34 ID:???
>>100
そこまで書けてるのになぜ思いつかないのか疑問なのですが、一応参考までに

function reset(){
document.formname.com.value="";
}

これで動くかと思いますよ。
formnameの部分は自分でつけたformの名前を入れてくださいな。
103100:04/11/12 15:04:54 ID:???
>>102
すみません・・・うまくいきませんでした(;つД`)
ご丁寧にありごとうございました
104Name_Not_Found:04/11/12 15:11:38 ID:???
>>103
http://www.excite.co.jp/world/

これなんかどう?
105Name_Not_Found:04/11/12 15:17:09 ID:???
>>100-104
なんでこんな騒ぎに、、、
「onclick="this.value=''"」これだけでしょ?
106Name_Not_Found:04/11/12 15:28:10 ID:???
確認してないが>>43が本当なら>>100はformのreset()になってるんじゃないか?
107Name_Not_Found:04/11/12 15:32:17 ID:???
>>106 なるほど!ありそう。一般的な名前は怖いね。
108100:04/11/12 16:15:32 ID:???
>>105
(・∀・)それだ!
無事動きました。ありがとうございました。
109Name_Not_Found:04/11/12 17:24:55 ID:???
str = "あああああ(あああ)いいいい";
と代入されている変数から、
split関数・join関数を用いて、
(あああ) の部分を消去したいのですが、

str = (str.split("\(.*\)")).join("");
とやっても正常に動作しません。
どなたか教えてください。

ブラウザはIE 6.0、OSはWindowsです
110Name_Not_Found:04/11/12 18:46:13 ID:???
>>109
split(/\(.*\)/).join("");
111Name_Not_Found:04/11/12 20:35:17 ID:CfuO3i7e
>>109
なぜreplace()ではなくsplit()を使うわけ?
11297:04/11/12 22:39:37 ID:5vann1h3
envの扱い方を知れば使えるようになるようです。

>>101
<html><head><script language="JavaScript">
<!--
function onmove(child)
{
if (document.getElementById){ //NN6用
paOBJ = this;// paOBJ はそのままの設定
chOBJ = document.getElementById (child);// chOBJは初期化
}
paOBJ.childname = child;// ツールチップの名前を記憶させる
paOBJ.onmousemove = moving;// paOBJ内をマウスが動いたら moving を動作させる
}
// 重要なのは paOBJ.onmousemoveでこの関数を呼び出す事
// 普通に呼び出したのでは[env]が取得できない。
function moving(env) {
chOBJ = document.getElementById (paOBJ.childname);
chOBJ.style.display = "block";
chOBJ.style.left = env.pageX+20;
chOBJ.style.top = env.pageY+1;
}
function outmove (child) {
paOBJ = document.getElementById(parent);// 外に出たら元に戻す
chOBJ = document.getElementById(child);
chOBJ.style.display = "none";// 見えなくする
}
// --> </script></head><body>
<div id="ohn" style="display:none;position:fixed;width:100px;height:60px;background:#f80;">ぉ〜ん?</div>
<a href="#" id="yahho" onmousemove="javascript:onmove('ohn');" onmouseout="javascript:outmove('ohn');">やふー</a>
</body>
</html>
11397:04/11/12 22:44:23 ID:5vann1h3
114Name_Not_Found:04/11/13 10:44:35 ID:???
>>111
何が何でもJS1.1に対応させたかったとか…
115Name_Not_Found:04/11/13 18:03:10 ID:???
>>114 ドットと量指定子を書いて split の第一引数を正規表現にしたつもりになってるのに 1.1 はあり得ない
116Name_Not_Found:04/11/13 19:14:26 ID:???
質問ですが、変数a,b,cを一つの配列にしたものを戻り値にしようとして、次のような記述をしました。
return Array(a, b, c);

一応うまくいくのですが、これは文法的に正しいのでしょうか?
117Name_Not_Found:04/11/13 19:34:30 ID:???
>>115 だがその有り得なさがかえって真実味あるな・・・
>>116 いいんじゃね?
118Name_Not_Found:04/11/13 23:23:55 ID:???
119Name_Not_Found:04/11/14 00:38:20 ID:???
>>118
ありがとうございました
120Name_Not_Found:04/11/14 01:08:46 ID:???
メソッド内でそれを呼び出しているインスタンス名を
取得することはできるでしょうか?
121Name_Not_Found:04/11/14 08:16:37 ID:???
>>120
無理。
122Name_Not_Found:04/11/14 10:36:10 ID:KGHKznDK
>>120-121
「インスタンス名」をどう定義するわけ?「呼び出している」を
どう定義するわけ?
「var a = new XXX(); a.method();」で「a」を取得したいわけ?
「var b = a; b.method();」でもオブジェクトは同じだがここでは
「b」を取得したいわけ? そもそもこれらどちらでもmethodを
「呼び出している」のはどっか別のコードであって aやbに格納
されているオブジェクトとは別のオブジェクト内にあるかも知れない
わけだけど、そっちの何かが知りたいわけ?
123Name_Not_Found:04/11/14 11:29:42 ID:???
わけ? わけ? わけ?

お姉さまこわいよーん。
124Name_Not_Found:04/11/14 11:34:23 ID:???
脇毛
125Name_Not_Found:04/11/14 12:24:50 ID:???
a.html上にiframeで表示しているb.htmlの任意のdivブロックにアクセスしたいのですが、
以下のようにすると win ie6/mac ie5 では動くのですが netscape,safariなどで
エラーになります。(エラーの内容:document.frames in not a function)
netscape,safariなどでもアクセスできるようにアドバイスをいただけないでしょうか。
//a.htmlのソース(抜粋)
<head>
<script type="text/javascript"><!--
function hide(){
fmobj = document.frames("hoge");
fmobj.document.getElementById( "fmhoge" ).style.display = "none";
}
// --></script>
</head>
<body>
<iframe src="b.html" id="hoge" name="hoge">
<form><input type="button" onclick="hide()"></form>
</body>

//b.htmlのソース(抜粋)
<body><div id="fmhoge" style="display:block">あいうえお</div></body>

よろしくお願いします。
126Name_Not_Found:04/11/14 12:27:35 ID:???
申し訳ありません。抜粋しているとき削除してしまいましたが、
実際のソースでは<iframe>はちゃんと閉じています。
<iframe src="b.html" id="hoge" name="hoge"></iframe>
訂正いたします。
127Name_Not_Found:04/11/14 12:39:59 ID:???
fmobj = window.frames["hoge"];
128Name_Not_Found:04/11/14 13:11:05 ID:???
>>127
fmobj = window.frames.hoge;
129初心者:04/11/14 13:24:40 ID:DdGs+FSN
あの、文字をタイプライター風に一文字ずつ表示するってやつなんですけど、
表示したり消したりを何回も繰り返さないようにするにはどうすればいいんですか?
http://www4.osk.3web.ne.jp/~kitayan/java/tipe_mes.htm
130120:04/11/14 13:50:35 ID:???
>>121-122
>「var a = new XXX(); a.method();」で「a」を取得したいわけ?
この通りのことがしたかったのですが、そりゃ無理ですよね。
意味不明なこと言ってすみません。ありがとうございました。
131Name_Not_Found:04/11/14 14:33:29 ID:???
>>129
初心者かどうかなんて関係ないからそのつもりで。
しかし読みにくいコードだね、それ… 変数myFlgが
「現在どのモードにあるか」を表しているから、
全部表示し終わった後はもう最後にsetTimeout()を
呼ばないでやればそれ以上動作しないで止まるんじゃ
ないの。まあコードが読めるように努力する必要は
どのみちあるから、がんがれ。
132初心者:04/11/14 15:05:20 ID:DdGs+FSN
setTimeout( "my_tipeMes()" , 500 );

この行を消したら表示もされなくなってしまいますた。
133Name_Not_Found:04/11/14 16:09:47 ID:???
>>132
>全部表示し終わった後は
134131:04/11/14 16:22:22 ID:???
あんまりだー(泣)
135 ◆q7u/null4U :04/11/14 18:59:24 ID:???
>>125
fmobj=document.getElementById('hoge')
(なんのために iframe に id を振っているのだろうか...)
136Name_Not_Found:04/11/14 20:26:10 ID:???
>>128 >>9 faq-7
137Name_Not_Found:04/11/14 20:42:22 ID:0oL2VzKQ
正規表現がさっぱりわかりません(ややこし杉)

\s*[\s,]\s*
はどんな文字列パターンをあらわしてるのでしょうか?
よろしくおながいします。
138Name_Not_Found:04/11/14 21:02:34 ID:???
JavaScriptを使ってページに訪問者のIPを表示させる事ってできますか?
139 ◆q7u/null4U :04/11/14 21:04:19 ID:???
>>137
http://www.sixnine.net/regexp/
ここでも読んで自分で解読できるようになってケロ.
さもないと,いつまでたっても " ややこし杉 " と言いつづける事になるぜ.
140 ◆q7u/null4U :04/11/14 21:07:21 ID:???
>>138
No.
141Name_Not_Found:04/11/14 21:17:51 ID:MftnuPVF
>>138
JavaScriptはあくまでローカル側の操作だからね。
142Name_Not_Found:04/11/14 21:31:29 ID:???
>>137
http://www.microsoft.com/japan/msdn/library/ja/jscript7/html/jsreconintroductiontoregularexpressions.asp
が入門になるが、熟読したのか?
歴史的には、1.2 の時に、Perl をそっくり真似て実装したので、従来型NFAエンジン。
今の時代、Perl を学べとは言い難いが、正規表現に関してだけ、Perl で学ぶのが最短だと思う。

>>141
この板が基本的にクライアントサイドの話だから、
必然的にこのスレもクライアントサイドに偏っているだけ。
143137:04/11/14 21:43:08 ID:???
ありがとうございました。勉強します。
それにしてもmsdnは自社製品にもかかわらずMacIEでみるとウザイを
通り越して怒りすらおぼえますね。
メニューがutf-8,コンテンツがShift_JISなのでAuto Detectにしても
メニューの文字が全て??????????????になってしまいます。
関係ない話スマソ
144Name_Not_Found:04/11/14 22:30:34 ID:???
>>138
<script type="text/javascript">
document.write('127.0.0.1');
</script>
145Name_Not_Found:04/11/15 09:55:24 ID:???
>>127,128
ありがとうございました。教えていただいたいずれの記述でもアクセスできるようになりました。
fmobj = window.frames["hoge"];
fmobj = window.frames.hoge;

>>135
ありがとうございました。わたしも以前同様のの記述をしていましたが
ie6では『'fmobj.document.getElementById(...).style'はオブジェクトではありません』、
nn7では『'fmobj.document has no properties』
とエラーが出てアクセスできなかったので、frames. に変えた経緯があります。
あらためて記述してみたのですがやはりエラーになりました。
fmobj=document.getElementById('hoge')
ちなみに、代入しないで直接記述しても同じ結果でした。
document.frames("hoge").document.getElementById('hoge')
もし、なにか勘違いをしているようでしたらご指摘いただけますと助かります。
146Name_Not_Found:04/11/15 09:58:27 ID:???
申し訳ありません。間違えました。

誤)document.frames("hoge").document.getElementById('hoge')

正)document.getElementById('hoge').document.getElementById( "fmhoge" ).style.display = "none";

上記のように記述してもエラーになった、というご報告です。すみません。
147Name_Not_Found:04/11/15 10:38:11 ID:???
>>146 Mozilla (NN7)
frames.hoge // [object Window]
Object.prototype.toString.apply( frames.hoge) // [object Window]
document.getElementById( 'hoge') // [object HTMLIFrameElement]
document.getElementById( 'hoge').constructor // [HTMLIFrameElement]
Object.prototype.toString
.apply( document.getElementById( 'hoge')) // [object HTMLIFrameElement]
148Name_Not_Found:04/11/15 10:48:52 ID:???
>>146 Mozilla (NN7)
frames.hoge.frameElement == document.getElementById( 'hoge') // true

frames.hoge.frameElement.style.display = 'none';
document.getElementById( 'hoge').style.display = 'none';
149Name_Not_Found:04/11/15 14:20:48 ID:q3Ifa/8z
<select name="select">
<option selected>項目を選んでください</option>
<option value="a">項目1</option>
<option value="b">項目2</option>
<option value="c">項目3</option>

<INPUT type="submit" name="button" value="ボタン">

上記のように選択項目にプルダウンメニューを使って、
最初に表示される所を「項目を選んでください」という文を入れたいと思っているんですが、
この項目を選択した状態でボタンをクリックしても
何もアクションを起さないようにするにはどうしたらよいですか?
宜しくおねがいします。
150Name_Not_Found:04/11/15 14:28:03 ID:???
すみません
このモデルさんのセクシー写真ページ、パスかけてあって入れないです
http://michellprin.fc2web.com/top.html
151Name_Not_Found:04/11/15 14:29:05 ID:???
>>149
var b = ボタンの要素
として、
b.onclick = function(){
if(document.getElementsByName("select").selectedIndex == 0) return;

// 以下、やりたい処理を書く。
}

とか。
152Name_Not_Found:04/11/15 16:02:41 ID:???
>>149-151
まず「name="select"」な要素が1つしかないものとして、
... document.getElementsByName('select')[0].selectedIndex ...
とする必要がある。洩れはID振ってgetElementsById()を使うこと
を進めるね。どのみち「select」なんて混乱しそうなnameをつける
のはやめた方が無難。
153151:04/11/15 16:04:42 ID:???
あ、getElementsByName って配列で返すんでしたね。
Elements だもんね。
すまそ。
154Name_Not_Found:04/11/15 16:16:45 ID:q3Ifa/8z
>>151-153
ご教授いただきありがとうございまふ。
151のb=ボタンの要素というのは、どういう意味でしょうか?
<option name="ボタンの要素">〜</option>という風に振れ、ということですか?
155151:04/11/15 16:38:56 ID:???
>>154
ボタン、というのをselect要素とは別にスクリプトを発動させる要素がある
と想像してのモノです。
例えば input type="button" の場合、漏なら、
<form id="foo">
<p><select>
<option>あああ</option>
<option>いいい</option>
</select></p>
<p><input type="button" value="click"></p>
</form>
と書いて、
var b = document.getElementById("foo").getElementsByTagName("input")[0];
としてアクセスします。
156155:04/11/15 16:39:34 ID:???
×というのを
○というのは
157Name_Not_Found:04/11/15 17:05:33 ID:q3Ifa/8z
>>155
先ずvar b = document.getElementById("foo").getElementsByTagName("input")[0];
と宣言して、... document.getElementsByName('foo')[0].selectedIndex ...
とすればよいのでしょうか?
JavaScript全然わからないものですみません。
158155:04/11/15 17:47:40 ID:???
>>157
JavaScriptは、大雑把に言うと、ドキュメント中の要素にアクセスしてゴニョゴニョするための
スクリプト言語です。で、多くの場合、クリックしたらとかロードされたらとか、動作の起点に
なるものが必要だったりします。今回の場合、どのような動作になるかは知りませんが、ボタン
がクリックされたときに、そのときselect要素で選択されているモノに従ってスクリプトが動作
するわけです。

ボタンの要素にアクセスする方法が
document.getElementById("foo").getElementsByTagName("input")[0]
で、この要素をとりあえず b という変数に格納しておきます。

ボタン(b)がクリックされたとき、というのを JavaScript で書く場合には、
b.onclick = function(){ //処理 } とします。ボタンのタグにonclickという属性で各方法もあり
ます。この処理系の中で、select要素も document.getElementsByName("select")[0]
でアクセスし、これまた sel という変数に格納します。ここで sel の現在選択されている
optionの番号(selctedIndex)によって、続く処理を行うか否かを書いてあげればよい、と。

さらに、上記一連の動作自体も何かしらの起点が必要です。document にアクセスするために
window.onload = function(){ //処理系 } とするのが一般的です。
159158:04/11/15 17:51:56 ID:???
> document にアクセスするために
というのはコトバ足らずかもしれません。
document にアクセスするためには document がロードされているコトが前提です。
onlaod(ロードされたら)というイベントハンドラが、window もしくは img オブジェクト
にあるので、ソレを利用しますよ、ということです。
160 ◆q7u/null4U :04/11/15 17:56:41 ID:???
>>145(>>125)
個人的な意見だけど,
iframe を使わざるを得ないような状況は限られていると思う.
たとえば, 同一 server 上でしか動作しないような CGI を
weblog などに無理やり引っ張るような場合とか...
(この場合,JavaScript の出番はないと思う.)

そもそも, iframe 内に表示されている内容が異なる server からのものの場合,
それに対しての操作は不可能なのが JavaScript の仕様.
そういう操作をしたいのなら,最初から表示予定の document に仕掛けた方が確実.
当然ながら,他人の resource に対しての操作は不可能だと考えたほうが良い.
161Name_Not_Found:04/11/15 18:15:47 ID:???
<select name="select">
<option value="#">項目を選んでください</option>
<option value="a">項目1</option>
<option value="b">項目2</option>
<option value="c">項目3</option>

// --------------------
if(document.form.select.value == "#") return false;
162Name_Not_Found:04/11/15 18:15:50 ID:???
>>158-159 テキトーなことをもっともらしく語ってるな。なめてんのか?
163 ◆q7u/null4U :04/11/15 18:41:09 ID:???
>>157
select に id を振って(仮に id="slc0" としておく)
obj_slc=document.getElementById('slc0');
n=obj_slc.selectedIndex;
(DOM は object を簡潔に指定する時にこそ有効.)
164Name_Not_Found:04/11/15 18:49:50 ID:???
>>158
> JavaScriptは、大雑把に言うと、ドキュメント中の要素にアクセスして
> ゴニョゴニョするためのスクリプト言語です。

WSH の例を出すまでもない。大嘘書くな。

> b.onclick = function(){ //処理 } とします。

現在、JS を有効にしている UA の100% 近くが、
attachEvent または addEventListener を理解するわけだが。

>>159
document が、そのプロパティ (HTMLSelectElement など)
よりも後からロードされるとでも?
そもそも、おまえの脳内用語が散乱してて、何言ってんだか分かんねえよ。
恥かく前に、仕様書読んで用語を確認しろよ。
165Name_Not_Found:04/11/15 18:50:58 ID:???
>>158-159
みたいに頭の悪そうな説明はスルーした方がよいよ。読むだけ
時間の無駄。
166Name_Not_Found:04/11/15 19:07:49 ID:???
<!--
function aut(int) {
if ( int ) {
                //ここに処理したいことを書く
              }
    }
//-->
<form>
<select>
<option selected>ここからえらんで</option>
<option value="a">いっこめ</option>
<option value="b">にこめ</option>
<option value="c">さんこめ</option>
</select>
<Input type="button" value="おせ" onclick="aut(document.forms[0].elements[0].value);">
</form>


これじゃダメなのかい?
167Name_Not_Found:04/11/15 21:10:22 ID:???
>>166
int は予約語なのでNG。
168Name_Not_Found:04/11/15 23:12:42 ID:???
ここはWEB製作板
wshとかは板違い
そもそもwshはjscript
169Name_Not_Found:04/11/16 00:54:21 ID:7sri7RAK
フレーム構造をとったメインウィンドウから
showModelessDialog でサブウィンドウを開ているとき
ブラウザの更新ボタンを押されるとサブウィンドウが消えずに生き残ってしまいます。
どういった対処をすればいいでしょうか?
170Name_Not_Found:04/11/16 00:59:59 ID:???
showModelessDialog をやめて普通の別窓にして
onunload()なりでその窓を閉じるようにするとか。
171Name_Not_Found:04/11/16 01:15:46 ID:7sri7RAK
>>170
即レスありがとうございます。
showModelessDialog を使用している理由は
常に前面に出ているサブウィンドウからメインウィンドウの表の値を修正させたいためです。
蔵のブラウザもIE6限定だし、それならば showModelessDialog が最適かなと・・・。
サブウィンドウには20個の入力フォームと更新ボタン、キャンセルボタン、次移動ボタンがあります。

いまのところブラウザの更新ボタン対策以外はうまくいってるんですが・・

サブウィンドウのフォーカスを保ったまま(入力に違和感ない程度)で
常にサブウィンドウを最前面にだせれば
別窓で開いてもいいんですが・・・。
172Name_Not_Found:04/11/16 09:23:46 ID:71tVGXtR
>>166
漏れも同じようなのほすいんだけど、それだとどの項目選択しても無効になって
るんだが、どうしたらよいのだろか・・・。
173Name_Not_Found:04/11/16 10:48:53 ID:???

ブラウザの戻るボタンで戻った時に、フォームの内容を消すようにしたいのですが、
なんか方法無いでしょうか。
ブラウザの「戻る」を使うとonLoadが実行されないようなんです。
174Name_Not_Found:04/11/16 11:13:25 ID:???
>>173
submit する直前にreset()してしまうのはどう?
175Name_Not_Found:04/11/16 11:13:24 ID:???
>>173
戻った時はそうだよね。別窓とか隠しフレームを仕込んでそこで
継続的に監視するしかないかな。
>>172
まず >>166 はパラメタ名をintじゃなく別のものにするのと、
イベントハンドラをonclickではなくonchangeにすると。それで
どう動かないって?
>>171
うーん、unforcus()したら1秒後にfocus()してさらに3秒以内に
unfocus()されたらそのときはfocus()しないとか、そういう工夫
かなあ。苦しいけど。
176Name_Not_Found:04/11/16 12:57:50 ID:???
>>174
やってみたんですが(onUnload時ですが)、ページ移る時に消えることは確認したんですが、
「戻る」で戻るとまた元の値が入っています・・・・・・

http://mixi.jp/

ここは適当にいれてエラー出してブラウザの戻るで戻るとちゃんと消えているんですが、
なんか特殊なことをサーバー側かなんかでやってるのかと思って見てみたら

HTTP/1.1 200 OK
Date: Tue, 16 Nov 2004 03:53:42 GMT
Server: Apache/2.0.50 (Fedora) mod_perl/1.99_13 Perl/v5.8.3
Cache-Control: no-cache
Pragma: no-cache
と、no-cache指定があるので
metaで指定してもこっちではだめでした、、orz
これはcgiで出力しているってことですかね。。

>>175
別窓で監視とかやったことないのでよくわからないんです
なにを監視させるのかすらわかりません。(´・ω・`)
177Name_Not_Found:04/11/16 13:41:39 ID:???
>>166
function aut(_o) { alert( _o.options[_o.selectedIndex].value ); }
<Input type="button" value="おせ" onclick="aut(this.form.selectName)">

>>169
動作確認してないが

newWin = showModalDialog("foo.html");
onunload = function(){ window.newWin.close(); }

>>173
GET なら方法も浮かぶがPOST だったら俺にはワカラン

>>176
>no-cache
仕様書通りならレスポンスヘッダに在るかMETA に在るかの違いだけで関係ないハズ。
178Name_Not_Found:04/11/16 13:47:03 ID:???
>>176
クッキーで状態を覚える方法でやってみた。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var c;
function watch() {
var a = String(document.cookie).match(/COUNT=(\d+)/);
if(a == null) c = 0; else c = Number(a[1]);
if(c % 2 != 0) {
document.forms.f0.reset(); document.cookie = 'COUNT=' + (++c);
}
}
function incr() { document.cookie = 'COUNT=' + (c+1); }
</script>
</head><body onload="setInterval(watch,500)">
<form name="f0" onsubmit="incr()" action="xxxxx"><p>
<input name="i0" type="text"><input type="submit"></p></form>
</body></html>
179174:04/11/16 14:58:22 ID:???
>>176
hidden を必要な分だけ用意しておいて、
onsubmit もしくは onclick で、入力された値をhiddenのvalueに移し替えする。
実際に投げるのはhiddenの方で、入力してもらうのは全部ダミーで。
で、reset() してから submit() する、ってのはどうだろう。
180169:04/11/16 16:50:09 ID:+6gMPV5z
>>177
説明不足でした。
サブウィンドウを開いたまま随時メインインドウの表を更新したいので
モーダルウィンドウでの実現はないかなと思っています。
(低速回線ゆえにメインウィンドウ、サブウィンドウの表示に時間がかかるため)

>onunload = function(){ window.newWin.close(); }
うまく動きませんでした。(エラーになりました)

テスト画面をつくってみました。どこかで妥協するしかないのでしょうか?

## Main.html ##
<html><head><title>メインウィンドウ</title></head>
<frameset rows="*,20%">
<frame src="Main_Top.html" name="FRA_Top">
<frame src="Main_Btm.html" name="FRA_Btm">
</frameset>
</html>

## Main_Btm.html ##
<html><body style="background-color:#cccccc">下フレーム</body></html>
181169 つづき:04/11/16 16:51:01 ID:+6gMPV5z
## Main_Top.html ##
<html><head>
<script type="text/javascript">
var subWin1 = null;
var rowIndex = null;
function subWin_open(Index){
if(subWin1==null){ rowIndex = Index; subWin1 = showModelessDialog("Sub.html",window,"dialogWidth:500px;dialogHeight:180px"); }
}
</script></head><body>
<table id="ID_TBL" border="1">
<tr><th></th><th>書籍コード</th><th>タイトル</th><th>作者</th></tr>
<tr><td><input type="button" value="修正" onClick="subWin_open(1)"></td><td>500</td><td>シャコバサボテン</td><td>浜田 豊</td></tr>
<tr><td><input type="button" value="修正" onClick="subWin_open(2)"></td><td>501</td><td>悩み多き哲学者の災難</td><td>ジョージ・ハラ</td></tr>
<tr><td><input type="button" value="修正" onClick="subWin_open(3)"></td><td>502</td><td>月と不知火</td><td>大堀 柊花</td></tr>
<tr><td><input type="button" value="修正" onClick="subWin_open(4)"></td><td>503</td><td>海をみていた犬 2</td><td>安孫子 三和</td></tr>
<tr><td><input type="button" value="修正" onClick="subWin_open(5)"></td><td>505</td><td>拳銃王</td><td>小峯 隆生</td></tr>
</table>
</body></html>
182169 つづき:04/11/16 16:52:54 ID:+6gMPV5z
## Sub.html ##
<html><head><title>サブウィンドウ</title>
<script type="text/javascript">
var RowNumber = dialogArguments.rowIndex; //更新対象行番号
function window.onload() { MoveRow(0); }
function window.onunload(){ dialogArguments.subWin1 = null; }
function Kousin(){
var SelectRow = window.dialogArguments.ID_TBL.rows[RowNumber];
SelectRow.cells[1].innerText = document.FRM.TXT_Shosekicd.value;
SelectRow.cells[2].innerText = document.FRM.TXT_Title.value;
SelectRow.cells[3].innerText = document.FRM.TXT_Sakusya.value;}
function MoveRow(index){
var NextRow = RowNumber - 0 + index; // 移動先行番号
if(NextRow>0 && NextRow<6){
var SelectRow = window.dialogArguments.ID_TBL.rows[NextRow]; // 移動先行
document.FRM.TXT_Shosekicd.value = SelectRow.cells[1].innerText;
document.FRM.TXT_Title.value = SelectRow.cells[2].innerText;
document.FRM.TXT_Sakusya.value = SelectRow.cells[3].innerText;
RowNumber = NextRow;}}
</script></head><body><form name="FRM">
<table><tr><td>書籍コード</td><td>タイトル</td><td>作者</td></tr>
<tr><td><input type="text" name="TXT_Shosekicd"></td><td><input type="text" name="TXT_Title"></td><td><input type="text" name="TXT_Sakusya"></td></tr></table>
<input type="button" value="前頁" onClick="MoveRow(-1);">
<input type="button" value="次頁" onClick="MoveRow(1);">
<input type="button" value="更新" onClick="Kousin();">
<input type="button" value="閉じる" onClick="window.close();">
</form></body></html>
183Name_Not_Found:04/11/16 18:06:18 ID:???
変数名関数名の最初の一文字に違和感が……ドトネト厨か?
とりあえず、function window.onload () {} なんて書いても JScript しか理解してくれない。
JScript で書いておけば 9割をカバーできるのも事実だが、
条件コメントや条件コンパイルでトラップするだろ、ふつう。
184Name_Not_Found:04/11/16 18:21:37 ID:???
>>168
Date オブジェクトなど、言語のコアな部分では document は関係無い。
HTML や XML で使われて初めて DOMDocument インターフェイスが必要になる。
mozilla.org で JavaScript1.5 を単体で落としてきて、jsshell でコアな部分を学べ。
185176:04/11/16 18:34:46 ID:???
みなさんレスありがとうございます。

>>177
>仕様書通りならレスポンスヘッダに在るかMETA に在るかの違いだけで関係ないハズ。
そうなんですが、なぜかキャッシュされている状態です。。。書き方間違ってるかな?
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="Expires" content="Fri, 31 Dec 1999 12:00:00 GMT">
とか書いています。

>>178
まだ試していません、明日にでも試してみます。

>>179
それやってみたんですが、ちゃんと送る前に消えるのは確認できているんですが、ブラウザの「戻る」で
戻るとその値が戻ってます(なぜだ・・・ ただしsubmit()はつかっていません。
さらに戻ってきてF5でリロードしてもその値は消えず、CTRL+F5で強制リロードさせるとやっと
消える現状。javascriptでCookieから読み出して表示とかしているのでそれが悪さをしているのかとも
疑ったんですが、javascript一切使わないフォームでもそれが再現出来てしまったorz
186Name_Not_Found:04/11/16 18:53:09 ID:???

function Foo() {
    return this;
}
Foo.prototype.bar = function() {return 0;}

var foo = new Foo();
foo.bar(), //0
foo.baz(); //error

bazのような存在しないプロパティが参照された時、
エラーにせずに勝手に何らかのスタブ関数を呼び出すようなFooを書くことはできますか?

187169:04/11/16 20:09:49 ID:???
>>183
知りませんでした。勉強します。
188176:04/11/16 20:32:12 ID:???
>>177
send-asisを使って3行書いてみたら、ちゃんとブラウザの「戻る」でも再読込してくれて、
onLoadなどちゃんと実行されました。どうやら仕様なのかバグなのか分からないのですが、
metaの部分は無視されるのか、自分の書き方が間違っているかでしょう。(大文字小文字
関係あるのですかね?)

javascriptとはあまり関係なくなってしまったのでこの辺にしておきますが、アドバイス
下さった方々、ありがとうございました。
189Name_Not_Found:04/11/16 20:43:56 ID:???
>>186
そんなのできないから try-catch-finally で書くこった
190Name_Not_Found:04/11/17 01:26:04 ID:???
var target = new Array(2);
var target[0] = new Array(4);
var target[1] = new Array(4);
var target[0][0] = new Array("0","1","2");
var target[0][1] = new Array();
var target[0][2] = new Array();
var target[0][3] = new Array("0","1","2");
var target[1][0] = new Array("0","1","2");
var target[1][1] = new Array();
var target[1][2] = new Array();
var target[1][3] = new Array("0","1","2");

JavaScriptが上手く動作しなくて困っていたのですが、この部分をコメントアウトしたら(一部)動くようになりました。
2次元配列の使い方が間違っているのか、或いは変数の宣言が間違っているのか、或いは他が間違っているのかも分かりません。
良い方法をご教授願います。
191Name_Not_Found:04/11/17 01:39:27 ID:???
>>190
var の意味が分かっていないだろ。
一度 var で変数宣言したら次以降 var は付けないでいいんだよ。
192Name_Not_Found:04/11/17 01:50:03 ID:???
>>191
2つ目以降のvarとnew Arrayを除いたら上手く動きました。
有り難うございます。
193Name_Not_Found:04/11/17 04:57:09 ID:???
>>191 ハア?

>>190
var target = new Array(2);
変数 target を宣言し、配列への参照を割り当てている。
var target[0]
識別子 (ここでは変数名) の文字に区切り子の文字は使えない。
つまり、「target[0]」という変数名には、「[」と「]」が入っているから、不正。

そもそも、ここで >>190 がやりたかったことは、階層構造の配列を作ることであり、
全てを変数宣言してフラットな (深さの無い) データ構造を作ることではない。
試しに、フラットに作ると、例えば、次の様になる。
var target = new Array(2);
var target_0 = new Array(4);
var target_1 = new Array(4);
var target_0_0 = new Array("0","1","2");
var target_0_1 = new Array();
var target_0_2 = new Array();
var target_0_3 = new Array("0","1","2");
var target_1_0 = new Array("0","1","2");
var target_1_1 = new Array();
var target_1_2 = new Array();
var target_1_3 = new Array("0","1","2");
もちろん、これでは、>>190 の目的に全然役に立たないだろう。
194Name_Not_Found:04/11/17 05:33:12 ID:???
結局のところ、>>190 は「target」という名前の変数を一つ用意して、
次の様に書いて解決したのだろう。

var target = new Array(2);

target[0] = new Array(4);
target[1] = new Array(4);

target[0][0] = new Array("0","1","2");
target[0][1] = new Array();
target[0][2] = new Array();
target[0][3] = new Array("0","1","2");

target[1][0] = new Array("0","1","2");
target[1][1] = new Array();
target[1][2] = new Array();
target[1][3] = new Array("0","1","2");

今のいんたーねっと人口の大半は、NN2 とか IE3 とかを知らない。
また、それら初期のブラウザを使っていると、セキュリティの問題があるから、
ネットワーク上では迷惑行為と見なされることさえある。
これは、NN2 や IE3 の存在は、近似的に無視できることを意味する。
従って、JS1.2 や 1.3 以降の機能を使っても問題ない。
var target = [
[ "0,1,2".match( /\d+/g), [], [], "0,1,2".match( /\d+/g)],
[ "0,1,2".match( /\d+/g), [], [], "0,1,2".match( /\d+/g)]
];
のように。
195Name_Not_Found:04/11/17 08:44:41 ID:???
>>183
window.onload = function () {}
196Name_Not_Found:04/11/17 17:09:52 ID:???
http://www.sanspo.com/baseball/baseball.html

ここの日産のバナーが降りてくるのってjava scriptでつか?
197Name_Not_Found:04/11/17 18:34:31 ID:???
おりてなんかこないぞ
198Name_Not_Found:04/11/17 18:44:56 ID:6ulnL7iz
JavaScriptからアプリ(notepadとかffftpとか)を起動するにはどのように行えば
出来ますか?
ローカルで使いたいのですが。
199Name_Not_Found:04/11/17 19:42:50 ID:???
>>198
ブラウザで動かすJavaScriptからは無理。
WSH等で動かすJavaScriptの話ならそっちのスレいった方がいいかと。
200Name_Not_Found:04/11/17 19:50:25 ID:???
JavaScriptで外部の*.jsファイル(web上にあげた)を呼び出して実行させるにはどうしたらいいでしょうか?
201Name_Not_Found:04/11/17 20:08:19 ID:VjB+xjW4
>>199
同意。
202Name_Not_Found:04/11/17 20:11:52 ID:???
>>200
スクリプト要素を作るなり書き出すなり汁
203200:04/11/17 20:28:16 ID:???
>202

ファイル名:unko.js
内容:javascript:void(window.open('http://www.yahoo.co.jp/'));

このファイルを呼び出して実行するメソッドがわからないです。
204Name_Not_Found:04/11/17 21:02:41 ID:???
>>203
それってJSファイルじゃなくbookmarkletみたいに見えるけど。
「お気に入り」にその内容をコピペして選択すれば?
205Name_Not_Found:04/11/17 21:20:27 ID:???
>>199
時々 DirectX フィルターの質問があるが、あれが動くセキュリティ設定で
WinIE 使うのも問題がある。それでも気軽に答えてるだろ。
WScript.Shell が動いてしまうほど開放している基地外もいるだろうから、
同じようにホイホイ答えてやれよ。

どこで線を引いてるのか理解出来ないが、決してスレ違いではないだろう。
206Name_Not_Found:04/11/17 21:53:11 ID:???
JavaScriptじゃないじゃん。
207206:04/11/17 21:53:52 ID:???
ごめん。妄言だった。
208Name_Not_Found:04/11/17 21:54:22 ID:???
そう思うなら>>205自身が答えてやればいい。
209Name_Not_Found:04/11/17 23:56:20 ID:???
>>208 うるせえよ塵。低スキルで態度のでかいヘタレは去れ。邪魔だ。

例)
var w = new ActiveXObject( 'WScript.Shell');
var e = w.Exec( '%comspec% /C "Xalan -o result.html source.xml stylesheet.xsl"');
while (0 == e.Status) WScript.Sleep( 100);
e.Terminate(); e = null; w = null;
を実行してから、ftp で PUT。

この例だと、スレ違いになる可能性もなくはないが、
これが try - catch して、出来たファイルを使って HTML に
見かけ上の変更を加えるという典型的な DHTML として使われるとしたら、
このスレを除いて適当なスレは無い。
210Name_Not_Found:04/11/18 21:04:16 ID:U6LgSzTz
質問させてください。

"00123" のようにアタマに0が付いた10進数文字列を数値に変換したいとき
皆さんはどうやっていますか?

↓こんなの考えてみましたが、なんか野暮ったいのでスマートなやつがあれば教えてください。

s = "00450";
n = parseInt("1" + s) - Math.pow(10, s.length);
211Name_Not_Found:04/11/18 21:11:47 ID:???
>>210
parseInt("00450",10);
212Name_Not_Found:04/11/18 21:14:59 ID:???
>>211 うほっ!!!
213200:04/11/18 22:57:12 ID:???
>>204

bookmarkletですけど、unko.jsを実行するのが目的ではなくて、
unko.jsを間接的に実行させるためのスクリプトを知るのが目的です。
わかりにくくてすいません。
214Name_Not_Found:04/11/19 01:19:42 ID:???
ファイルを実行させるbookmarkletだったらbookmarklet
スレで出ていたと思うな。
215Name_Not_Found:04/11/19 03:23:14 ID:???
オートスクロールなんだけど
IEだと稼働するけど
ネスケ、FO糞だと動かない ・゚・(ノД`)・゚・


WHY??
216Name_Not_Found:04/11/19 03:27:57 ID:???
>>215
ソースもヒントも出さないのにこっちがわかるわけないだろ
独り言なら雑談スレでも夢・独り言板でも行くんだな
217200:04/11/19 04:33:04 ID:vd4wRycd
>>214
すいません。
bookmarkletスレというのが見当たらないんですが。
218Name_Not_Found:04/11/19 08:57:31 ID:???
>>217
http://pc5.2ch.net/test/read.cgi/hp/1066750037/l50
>>215
自分の腕前が糞なんでしょ。質問の仕方で分かるよ。いや
質問ですらないな。
219Name_Not_Found:04/11/19 10:35:23 ID:A3KLqv6j
HTML画面にファイル一覧を表示し、各ボタンクリック時に各formをsubmitするやつを作ってます。
<table>
<form action="./Next.cgi" method="post" name="form_1">
<input type="hidden" name="test" value="form_1">
<tr>
<td><a href="../file/file1.txt">ファイル1</a></td>
<td>2004/11/19 10:07</td>
<td><input type="button" value="削除" onclick="file_del('form_1');"></td>
</tr>
</form>
<form action="./Next.cgi" method="post" name="form_2">
<input type="hidden" name="test" value="form_2">
<tr>
<td><a href="../file/file2.txt">ファイル2</a></td>
<td>2004/11/19 10:07</td>
<td><input type="button" value="削除" onclick="file_del('form_2')"></td>
</tr>
</form>
</table>
onclick時に外部ファイルにある以下関数でsubmitしようとしいます。
function file_del(my_fname) {
if ( confirm("けしますか?")) {
//alert(my_fname);
my_fname.submit();
} else {
alert("やめました。");
}
}
alertで引数がちゃんとわたっているかどうかは確認しました。
my_fnameのところを例えばform_1とベタ書きするとちゃんと動作しました。
引数の使い方がおかしいのでしょうか?
よろしくお願いします。
220Name_Not_Found:04/11/19 10:50:52 ID:???
>>219
document.forms[my_fname].submit()
221Name_Not_Found:04/11/19 11:24:01 ID:???
>>219
FAQ >>9 を読んでね。
222Name_Not_Found:04/11/19 15:09:44 ID:/XYmrXcW
フォーム部分の入力内容が正しいかを判定してよかったならデータをPHPに送信というスクリプトを書いたのですが、
これだと、jsを切っているユーザーがいた場合サブミットボタンが機能しないのですがどうしたら良いのでしょうか?
<noscript></noscript>の書き方がよく分かっていません。
223Name_Not_Found:04/11/19 15:10:53 ID:???
>>222
スクリプトの書き方が悪い。
224222:04/11/19 15:18:10 ID:/XYmrXcW
>>221
どう悪いのかがよく分からないのですorz
phpでも入力内容の判定はしているので
js切ってても、データを送信したのです。
プログラマは休みで聞けないし今日までだし、お願いします。
どんな感じで書いたらいいのでしょうか?
225222:04/11/19 15:19:11 ID:/XYmrXcW
221→223の間違いです。やばいよーどうしよう。
226Name_Not_Found:04/11/19 15:31:10 ID:???
>>224
こういうのが一般的かと。

<!--Func()はtrueかfalseを返す関数-->
<form onsubmit="return Func()"...
227222:04/11/19 15:56:10 ID:/XYmrXcW
>>224
ありがとうございました。
なんか勘違いしてたみたいで、
js切ってる人にはその書き方じゃだめなのかなって思ってました。
いま試したら単純にphpに送信できました。
なんとか終わりそうだー。
ばかな質問でごめんなさい。
ありがとうございました。
228Name_Not_Found:04/11/19 16:39:09 ID:???
質問させてください。
Netscape7で以下のようなソースで崩れがでてしまいます。
調べたところ、document.writeなどのscriptが原因のようでした。

具体的には、サイドメニューの横幅が、バナーの横幅分、横に広がってしまいます。
IEでは問題ありません。

どこが悪いのかわかる方がいたら教えてください。
よろしくお願いします。

229Name_Not_Found:04/11/19 16:39:38 ID:???
<table>
<tr>
<td colspan="2">
タイトルロゴ(float: left;)
バナー(document.writeで書き出し)
</td>
</tr>

<tr>
<td width="192">
サイドメニュー(width: 177px;)
</td>
<td width="522">
エントリー
</td>
</tr>

<tr>
<td colspan="2">
フッター
</td>
</tr>
</table>
230Name_Not_Found:04/11/19 17:58:06 ID:???
なぜJavaScriptが原因だと断言できるのか、その根拠を
伺おうか。
231Name_Not_Found:04/11/19 18:01:37 ID:???
java scriptを切ったらなおりました。
しかし、HTMLかCSSの組み方に問題があるのかもしれません…
232Name_Not_Found:04/11/19 18:57:57 ID:???
>>229
とりあえずタグが多すぎるので、

<p>タイトルロゴ(float: left;) バナー(document.writeで書き出し)</p>
<div>エントリー</div>
<div>サイドメニュー(width: 177px;) </div>
<p>フッター</p>

にして、再度試してみると、どう?
あと、NNやFFのツールでデバッグしてみるとか。
233Name_Not_Found:04/11/19 20:37:01 ID:???
それだと大丈夫でした。
tableの幅がJSによって広がってしまうようです。
NSのバグ…?はぁ…
234Name_Not_Found:04/11/20 00:29:29 ID:???
>>233
スタイルシートでimg{ border:1px solid #ff0000; }とかしておくと、
document.writeされた画像はどうなっているの?

コードを見ていないのでブラウザのバグかどうかはわからないけど、
document.write とかしないで、
img要素を生成して追加するのはどうだろうか。
235Name_Not_Found:04/11/20 01:21:34 ID:KQCYjixs
すいません。
document.writeで出力してるのは、google adsense、バリューコマース とかのバナーです。
それをランダムで切り替えて出力するJava Scriptを使ってます。
切り替えスクリプトを消したら、バリューコマース等のバナーはヘイキでした。

ただgoogle adsenseだけ出してみるとずれるため、
Java scriptが原因だと考えました.

いまだ直りません ;_;
236Name_Not_Found:04/11/20 01:24:12 ID:???
>>235
グーグルアドセンスってテーブル要素をかきだしているのかな?
だとしたら同様にスタイルシートで
td { border: 1px以下略、って書いてみると、なんであふれちゃうのかがわかるかもしれないよ。
237Name_Not_Found:04/11/20 01:29:45 ID:???
質問です。JavaScriptが有効になってるのにJavaScript使ってるページが
表示されないようになってしまいました。
ここ2ヶ月ほどのことで、以前は表示できていました。
最近のサイトはどこもJavaScriptを多様してるんで見れない場所が
多くて本当に困っています。よろしくお願いします。
ちなみに、OSはWin XPです。
238Name_Not_Found:04/11/20 01:30:29 ID:KQCYjixs
ボーダーでボックス要素をだしてみましたが、
そのとおりはみだしてしまうのです。
ただ、なぜ、下のテーブルの要素までずれるのか…
テーブルをさらに入れ子にしてもだめでした…


<table>
<tr>
<td colspan="2">
タイトルロゴ(float: left;)
Google adsenseやバナー(document.writeで書き出し)←ここを消すと直る。というかJSを使わないと正常
</td>
</tr>

<tr>
<td width="192">
サイドメニュー(width: 177px;)←ここがバナー分横に広がる。なぜ?
</td>
<td width="522">
エントリー
</td>
</tr>
239Name_Not_Found:04/11/20 01:52:39 ID:???
>>238
おそらく、自分で書いているタグのどれかが閉じてないか、
グーグルアドセンスの書き出しているタグのどれかが閉じていないか、
とか、その辺を調べてみよう。

ファイアフォックスのドムインスペクタで見てみると、幸せになれるかも。
240Name_Not_Found:04/11/20 02:01:22 ID:???
>>237
板違いじゃん。環境を明記してPC初心者板あたりへ。
241Name_Not_Found:04/11/20 02:03:06 ID:???
>>239

最初、テーブルタグの閉じ忘れかと思い、
Dream Weaverでチェックしたものの、問題ありませんでした orz
fire fox、使ってみてみようかな。。。
242Name_Not_Found:04/11/20 02:14:37 ID:???
>>240
誤爆りました・・・すんません。
243Name_Not_Found:04/11/20 02:33:44 ID:???
fire foxでもずれないなぁ
nsだけか…
ドムインスペクタってどれだろう…
244Name_Not_Found :04/11/20 02:42:53 ID:???
公開したい情報を多くの人に読んでもらうためにはどのようにしたらよいでしょうか。
次の方法論のそれぞれについて長所短所は何?
(1)情報を閲覧できるかチェックしたシステム名を公開する。
(2)コンテンツを作成した時点で一番シェアの大きいソフトが閲覧可能なようにつくる。
245Name_Not_Found:04/11/20 02:44:38 ID:???
>>244
誤爆です…申し訳ない
246Name_Not_Found:04/11/20 02:59:24 ID:???
DOM インスペクタってすごいですね
ちょとしらべてみます
247Name_Not_Found:04/11/20 03:15:24 ID:???
やっぱりだめです orz
きっちりwidth height指定してもなぜか
タイトル&バナー以下の真ん中のtdの横幅が広がります

NS7はJava Script のバグがあるんだろうか… orzz
248Name_Not_Found:04/11/20 05:40:21 ID:???
Gecko というよりIE の仕様に翻弄されてそうだな。
outerHTML でソース見てみれ
249Name_Not_Found:04/11/20 07:52:42 ID:???
>>247
そもそもhtmlの理解が怪しいな。
それと、だらだら書くなら、せめてレス番入れとけ。
250247:04/11/20 13:35:46 ID:D7YdLc9h
IE→問題なし
Fire Fox→問題なし
Netscape7→ずれる

DOMインスペクタで見たところ、DIV要素が広がってたので、
table、スタイルシートともに width, heightを指定してみたけどだめでした。

outerHTMLですか…探してきます。
251Name_Not_Found:04/11/20 14:27:55 ID:8o4A0usX
すんません。質問です。
文字をクリックすると別窓がサイズ固定で開くようなJava Sprict
をhtml内に埋め込んだのですが、そのページをWindowsXp SP2適用の
IEで見ると「スプリクトを遮断しました」というようなメッセージが
出てくるのですが、このメッセージを回避。。というか、出なくさせる
方法はありませんでしょうか?ちなみにスプリクトは↓のように記述
しています。

<html>
<head>
<script language="JavaScript">
<!--
function OpenWin(file){
window.open(file,"new","width=400,height=300,toolbar=1,menubar=1");
}
//-->
</script>
</head>
<body>
<a href="javascript:OpenWin('hoge.html')">hoge</a><br />
<a href="javascript:OpenWin('foo.html')">foo</a><br />
</body>
252247:04/11/20 14:52:04 ID:???
>>250

IE→問題なし
Fire FOX→問題なし
Opera→問題なし
NS7→ずれる

DIV要素の中のJava Script自体がだめみたいです。
NSだけでなるのでバグか…
253247:04/11/20 15:22:37 ID:???
tableでセルの結合をやめたら、とりあえずは直りました。
しかし、NSで、たまに↓のソースの部分に、別のiframe内(ミニBBSのCGI)の内容が表示される…
NSのバグじゃん…

<script language="JavaScript">
<!--
bannar=new Array();
bannar[0]='バナー1';
bannar[1]='バナー2';
bannar[2]='バナー3';
count = Math.floor(Math.random() * bannar.length);
document.write(bannar[count]);
-->
</script>
254Name_Not_Found:04/11/20 15:23:51 ID:LV7pqDnc
質問です(´・ω・`)
よく上から画像が降ってくるものがあるのですが
画面右から左にかけて画像が横断するタイプのスクリプトは無いでしょうか?
アドバイス宜しくお願いします。
255Name_Not_Found:04/11/20 15:35:16 ID:dK8cXtBY
JavaScriptでCGIにPOSTパラメータ渡せますか?


<!--
function post() {
if ( int ) {
// ここでなんかやる?
document.myFORM.submit();
}
}
//-->

<input type="button" value="ボタン" onclick="post();">
256Name_Not_Found:04/11/20 15:38:18 ID:???
>>255
submit() じゃあかんの?
257Name_Not_Found:04/11/20 18:49:54 ID:???
>>255
onsubmit イベントが発生したら
jsValue = document.createElement("input") とかして
document.getElementsById("フォームID").appendChild(jsValue) とかする。
念の為 jsValue.setAttribute("type","hidden") してから appendChild するといいかも
258中学生:04/11/20 22:30:01 ID:v3AK9D+x
<script language="JavaScript">
<!--
var i=3;
while(i>0){
var suuji="あなたが"+i+"番目に好きなものは?"
var suki=prompt(suuji,"");
document.write(suki,"が"+i+"番目に好きなんですね<br>");
i--;
}
//-->
</script>

上のを3番目〜1番目じゃなくて1番目〜3番目と表記するには
どうしたらよいでしょうか?
259Name_Not_Found:04/11/20 22:50:37 ID:???
デクリメントをしっときながら、なぜインクリメントが分からない
260Name_Not_Found:04/11/20 23:32:43 ID:CqvDkHls
var dw = screen.width ;
var dh = screen.height ;
moveTo (0,0);
resizeTo (dw,dh);

を実行すると、
win I.E.6.0 と mac I.E.5.2 ではフルスクリーン(?)表示されるんですが、
mac Safari 1.03 だと moveTo は正しく実行されるんですがサイズがフルの
3/4位になります。なんででしょうか?
また mac Safari 1.03 でフルスクリーンにする方法はどうしたらよいのでしょう?
宜しくお願いします。
261Name_Not_Found:04/11/20 23:33:12 ID:???
>>259
見よう見まねで書くと、プログラム初期には最近そういうのが結構ある。。
プログラム構成を教えるために演算よりも先に、連接、反復、分岐を先に教えてる本もあるしね。

>>258
While文の意味と、
i-- と  i=i+1  は同じ意味。

これを理解すれば自力でなんとかなるはず。
がんばれ。
262261:04/11/20 23:35:40 ID:???
訂正

× i-- と i=i+1 は同じ意味
○ i-- と i=i-1 は同じ意味

肝心なところ間違えて申し訳ない。
263260:04/11/20 23:35:41 ID:CqvDkHls
スイマセン 訂正です
mac Safari 1.03 は resizeTo が全く効いてないみたいです
よろしく
264Name_Not_Found:04/11/20 23:35:44 ID:???
>>261
× i-- と  i=i+1  は同じ意味。

○ i++ と  i=i+1  は同じ意味。

間違えるな
265Name_Not_Found:04/11/20 23:40:06 ID:???
>>263
resizeToのところに具体的な数値を入れてもダメ?
resizeTo(300,200) とか

多分screen.width screen.height に問題あり と思うんだが・・・
266Name_Not_Found:04/11/20 23:45:23 ID:???
>>264
ほんと申し訳ない。
やっちゃいけない最悪のミスでした。
267260:04/11/20 23:47:48 ID:CqvDkHls
>265 れす、ありがとうございます
document.write (dw +"<BR>"+dh);
すると数値は拾えてるんですよ
やっぱり mac Safari 1.03 は resizeTo が無効みたいなんですよ
268Name_Not_Found:04/11/20 23:51:59 ID:+UqCrIWJ
正規表現内で変数を使いたい場合どのようにしたらよいですか?

変数を$付きで表現できると改定して、以下のような形のことをしたいのですが。

$r = "BBB";
if("AAA_BBB_CCC".match(/^AAA_$r_CCC$/)) alert("Hit!");
269Name_Not_Found:04/11/20 23:56:39 ID:???
>>267
ttp://www.openspc2.org/reibun/javascript/bookmarklet/007/
Safariでも動くらしいけどどう
270265:04/11/20 23:58:04 ID:???
>>267
なるほど、そりゃきついね。
最終手段としてWindow.openのスタイル指定とかだめかな?w
271Name_Not_Found:04/11/21 00:09:46 ID:???
>>268
AAA_BBB_CCCを取り出したいとしか思えないんだが
272Name_Not_Found:04/11/21 00:10:37 ID:???
>>268
...match("^AAA_" + r + "_CCC$"); みたいな
273267:04/11/21 00:13:09 ID:kEY/SLGV
>269 >270  どうもっ!

>269  確かにフルになりました
>270 やっぱりそうなりますかねぇ
ただ、しつこくない良い案配(画面の中央でフルの3/4位かなぁ?)にしたかったんです
ので、またいろいろ試してみます。どうもっ!!
274Name_Not_Found:04/11/21 00:43:13 ID:???
i = i + 1 と ++i が同義。

var a = [ 1, 2, 3, 4 ];
var i = 0;
a[ i]; // a[ 0]
a[ i++]; // a[ 0], i == 1
a[ i]; // a[ 1]
a[ ++i]; // a[ 2], i == 2
a[ i = i + 1]; // a[ 3], i == 3
275Name_Not_Found:04/11/21 00:51:23 ID:???
>>268
/\bjavascript\b/gi
new RegExp( '\\bjavascript\\b', 'gi');

var b = '\\b'; // \b
var p = new RegExp( b + javascript + b, 'gi'); // /\bjavascript\b/gi
276Name_Not_Found:04/11/21 07:44:23 ID:???
スレ違いだったらお許しを
カブドットコム証券でjavaで開くページが一昨日から突然
「OSはWin98以上でアクセスしな、あんたのOSだめだよ」
と表示されるようになりました。
株価が数十銘柄自動的に表示されるリアルタイム株価ボードです。
他のマシンで見ても、特に変ったように思えないのですが
何が変ったんでしょうか?
作動条件が「98、ME、2000、XP、IE5.0以上」となっています。
ひょっとして、なにかファイルのどこかを書き換えれば使えるようにならんでしょうか?
あるいは98からなにかをコピーしてくるとか。
現在はリブ70で95OSR2です。
出来ればOS入れ替えしたくない・・・・・・
277Name_Not_Found:04/11/21 10:37:47 ID:???
色んな部分でスレ違いだ
278Name_Not_Found:04/11/21 13:31:33 ID:???
>>276
Java != JavaScript だ。変な略するな
きっと UA 見てるだけだ。UA 偽装でラクラク突破できそう
279276:04/11/21 14:25:06 ID:???
>>278
スマン、UA偽装ってどうやってするか教えてくれ
280Name_Not_Found:04/11/21 14:41:02 ID:???
>>279
板違い
281Name_Not_Found:04/11/21 15:44:34 ID:???
ボタンが押されると画像を変えるスクリプトとかは検索くぐればよく見かけますが、
これはやはり、画像に関しては、一度表示してしまった後でも、
画像を変更して表示させることができるのであってボタンを押すことによって
文字を変えるということはできないのでしょうか?
テキストボックスなしで実現したいです。
ボタンでページ自体を更新させる方法しか思いつきません・・・
282Name_Not_Found:04/11/21 15:50:26 ID:???
>>281
テンプレくらいは読もうな。
283Name_Not_Found:04/11/21 15:51:27 ID:???
もうちょっと詳しく書いてくれ・・・何をどうしたいんだかよくわからん。。。。

ページにたとえば「ぬるぽ」って書いてあるとして、ボタンを押すことによって
さっきまで「ぬるぽ」って書いてあったところを「がっ」に変えたいってことかい?
284281:04/11/21 16:10:04 ID:???
ありがとうございます。
まったくその通りです。具体的に言えば
ttp://www.red.oit-net.jp/tatsuya/java/kuji2.htm
とかはボタンを押すと画像が変わりますよね。
それを普通の文字が変わるようにしたいのです。
分かりにくい表現でスマソ
285247:04/11/21 16:13:50 ID:???

<script language="JavaScript">
<!--
bannar=new Array();
bannar[0]='バナー1';
bannar[1]='バナー2';
bannar[2]='バナー3';
count = Math.floor(Math.random() * bannar.length);
document.write(bannar[count]);
-->
</script>

↑バリューコマースの広告が原因かも…
広告を切り替えてるのですが、
Mozilla系のブラウザで、インナーフレーム内がおかしくなります。
インナーフレームに対応したローテーションバナースクリプトは可能でしょうか?

286247:04/11/21 16:14:25 ID:???
インラインフレームです、すいません。
287Name_Not_Found:04/11/21 17:19:46 ID:???
>>281
<Script language="JavaScript" type="text/javascript">
<!--
var omikuzi = new Array("大吉","中吉","吉","小吉","凶","大凶");

function omi() {

var i = Math.floor(Math.random() * 5);
var omi_text = omikuzi[i];
document.getElementById("omi").innerText = omi_text;

}

//-->
</Script>
</head>
<body>
<Input type="button" value="おみくじ" onclick="omi();">
<span id="omi">おみくじをしよう</span>


こんな感じ
288Name_Not_Found:04/11/21 18:38:33 ID:???
とりあえずテンプレ全部読んで来いって奴ばっかだな
289281:04/11/21 19:32:26 ID:???
ご丁寧にありがとうございます。
勉強不足です。逝って来ます。
290Name_Not_Found:04/11/21 22:09:53 ID:???
大凶が出ない。「5」なんてハードコードするから。
291Name_Not_Found:04/11/21 22:21:01 ID:???
>>290
大凶なんて出ないほうがいいよ。
omikuzi.length なんてされちゃうと現実の厳しさを見ることになるから。
ちょっとでも大吉の確率上げたい。 だったら *4 にしておけって?
そこはそれ、許してあげようや。
とはいえ本質とは関係ないにしても、サンプルとして考えるとちとまずいな。
292Name_Not_Found:04/11/21 22:41:29 ID:???
>>291
「4」などとハードコードを上書きすることを思いついてしまう糞が語るな。
293Name_Not_Found:04/11/21 22:45:50 ID:???
引用符を繰り返し書くのは面倒なもの。ひとまとまりのテキストデータは
後からの改変が少しでも楽になるようにしておいた方が好ましい。
例えばタブ区切りで、
var omikuzi = "大吉 中吉 吉 小吉 凶 大凶";
のように設定するようにしておく。これを、
omikuzi.split( '\t'); とか、
omikuzi.match( /[^\t]/g)
のように、配列に加工して使う。
お前等カスにとっては細かいことかもしれないが、これは当たり前の気遣い。
294Name_Not_Found:04/11/21 22:47:27 ID:???
× [^\t]
○ [^\t]+
295Name_Not_Found:04/11/21 22:51:23 ID:???
<Script
<Input
HTML では大文字小文字を区別しないとは言え、かなり個性的ですね。
296Name_Not_Found:04/11/21 22:52:30 ID:???
>>293
ださい。読みやすさを優先するべきだろ。定数の記述が長くなって
大変ならそういう加工をするスクリプトを別途使うべきだと思う。
ソースコードはあくまでも素直に読めるように書くほうが吉。
297Name_Not_Found:04/11/21 22:53:43 ID:???
getElementById 使えるブラウザを前提にしているので、
firstChild.data も使えるよな。何故 innerText ?
298Name_Not_Found:04/11/21 22:56:59 ID:???
何度でも言うが、JS を有効にしている UA のほぼ 100% が
attachEvent または addEventListener を理解するわけだが。
DOM2-Event が勧告されて4年か?
ええかげんおぼえろ、カスども。
299Name_Not_Found:04/11/21 23:00:04 ID:???
>>298
誰に言ってるの?
300Name_Not_Found:04/11/22 01:23:09 ID:???
他人が自分の好みのようにコードを書かないからといって
いちいちキレていたら不幸になるだけだと思うな。
301Name_Not_Found:04/11/22 01:24:44 ID:???
DOM2-EventにはattachEventはないわけだよね〜。
302Name_Not_Found:04/11/22 07:56:15 ID:???
>>297
Document.getElementByIdがサポートされているってだけの前提から
CharacterData.dataもサポートされてるなんて結論は得られないと思うぞ。
まあ期待するのは勝手だが。
303Name_Not_Found:04/11/22 08:04:17 ID:???
あまりこだわって、相手の書き方を尊重せずに「推奨される」書き方とされるものだけを
押し付けると、実力はあっても人脈はできにくいな。別に知ったことではないが。
304Name_Not_Found:04/11/22 08:28:18 ID:???
別に推奨されてるわけでもないしなぁ。
305Name_Not_Found:04/11/23 01:20:25 ID:???

    追求すべきは仕様ではなく実装である
306Name_Not_Found:04/11/23 10:06:13 ID:???
>>305
それは大違いだろ。実装なんて追求したってどう変わるか
分からんし。標準仕様が実装されている場合、それが変わって
動かなくなる危険は少ないという側面がある。でも仕様だけで
実装がなければ役に立たない。両方バランスよく見ないとね。
307Name_Not_Found:04/11/24 01:42:53 ID:???
ちょっと名言っぽく言ってみたかっただけだよ・・・
308Name_Not_Found:04/11/24 02:14:07 ID:???
メーカー各社で特色をもって競争したいのはわかるけど、
標準仕様はきっちり実相した上で、プラスアルファで勝負する方向でお願いしたい。




次、ドゾー
309Name_Not_Found:04/11/24 13:12:56 ID:???
質問です。
ドロップダウンボックス2つの内容を配列を使って動的に変化させてるんですが、後からVBSでリクエストすると動的に変化する方のDDBからインデックスが返ってきますよネ?配列の中の文字、テキストを返すようにする時ってどうすればいいんでしょう。
310Name_Not_Found:04/11/24 13:14:41 ID:???
(;・∀・)
311Name_Not_Found:04/11/24 13:58:39 ID:???
Q
1. ネタ
2. 日本語が不自由
3. 真性
312Name_Not_Found:04/11/24 15:41:14 ID:???
>>309
VBのことはアレだけど、JavaScriptスレの回答としては、
そのselect要素をobjとすると、
obj.options[obj.selectedIndex].text
もしくは
obj.options[obj.selectedIndex].childNodes の中のどれか。
です。
313Name_Not_Found:04/11/24 16:23:39 ID:KIaSUNsW
chktest[]という名前のチェックボックスをすべてONのしたいのですが、

<SCRIPT language="JavaScript">
function chkboxOn(){
window.alert("!");
document.form1.chktest[].checked = true;
}
</SCRIPT>
----------------------------------
<form name="form1">
<input type="checkbox" name="chktest[]" value="1">
<input type="checkbox" name="chktest[]" value="2">
<INPUT type="button" value="CheckALL" onClick="chkboxOn()">
</form>

上記では構文そのものがエラーになるようです
alertも出ません
chktest[] という名前が問題だと思うのですがphpからはすごく便利に使えます
なんとかすべてのチェックボックスをONに出来ないでしょうか?
314Name_Not_Found:04/11/24 16:41:28 ID:???
>>313
PHPから渡してやればいいじゃん。
全チェックボタンをつくって、hiddenでname=mode value=ckみたいにして変数渡して

<? $CHECKE=($_POST['mode']) ? " checked" : ""; ?>

<INPUT type="button" value="CheckALL" onClick="chkboxOn()"<?=$CHECKE?>>

こんな感じ。
315Name_Not_Found:04/11/24 16:45:39 ID:???
あ、もちろんこれ使うと他の<INPUT>とかの値も全部送信して各所に貼り付け直さないと
ダメだけどね。(;´Д`A
316Name_Not_Found:04/11/24 16:49:44 ID:???
>>313
getElementsByName("form1")[0].getElementsByTagName("input")
でinput要素のコレクションが取得できるから、
それぞれのcheckedプロパティをtrueにしてあげれば良いです。
ボタンとかの識別はtypeで判別するのでも、classを振るのでも良いかと。
317Name_Not_Found:04/11/24 17:44:26 ID:???
>>314-316
すべての回答がピント外れでは。元質問者が欲しかったのは:
var a = document.forms.form1.elements['chktst1[]'];
for(var i = 0; i < a.length; ++i) a[i].checked = true;
>>313
FAQ >>9 のQ7/A7を読んでないだろー。
318Name_Not_Found:04/11/24 17:57:59 ID:???
>>317
うむ。書いてからフォローのしようのない恥ずかしい行為に気付いた。
いやもうJSの挙動確認するよりPHPの方がよっぽど簡単なので迂闊なレスしてもーた。
逝ってくる。

  コロコロ
    o...   rz
319Name_Not_Found:04/11/24 18:40:43 ID:???
すいません、JavaScriptのオンとオフの設定ってどうやるんですか?
めちゃくちゃ初心者なし質問でごめんなさい。
サイトに入室する前の注意書きに「JavaScriptをオン(オフ)にして下さい」
って書いてあるサイトあったりするんで。

ちなみにオフにすると、どういう物が閲覧できなくなりますか?
320313です:04/11/24 18:42:24 ID:???
>>314=315
実は同じようなことを考えたのですが、315で書かれてるようなことが理由で
なんとかJavascriptでと思ったしだいです
このページ内だけで変に機能を付け足しすぎているのが敗因です、、
とはいえphpも初心者なので314みたいなきれいな書き方は大変勉強になりました

>>316
書かれていた関数を頼りに検索してみて、そのフォーム内のすべてのエレメントを
ループで取得できることが分かりなんとか機能をつけることが出来ました

>>317-318
>FAQ >>9 のQ7/A7を読んでないだろー。
す、すいません。。以後気をつけます
私が検索して見つけた書き方よりもすっきりしていたのでやってみたのですが、
やっぱり chktest[] こういう名前をつけたのは駄目みたいですね

携帯向けのサイトばかりやっていたのでJavascriptには縁遠かったのですが
初心者に丁寧にレスいただき、みなさま本当にありがとうございました
感謝です!
321Name_Not_Found:04/11/24 18:59:06 ID:???
>>319
OSとブラウザがわかりませんが、WinのIE6では
「ツール」→「インターネットオプション」→「セキュリティ」→「レベルノカスタマイズ」
の中にある「スクリプト」部分の「アクティブスクリプト」を無効にする。

何ができなくなるって、スクリプトで書かれたものが全部できなくなります。
マウスを重ねると画像が変わるだと新しいウィンドウをサイズ指定して開くとか。
とにかく色々なので説明しきれませんが。
322Name_Not_Found:04/11/24 19:08:52 ID:???
なぁおまえらがスクリプト組むときに使ってるエディタ教えてくれないか。
vectorで検索してもいっぱいありすぎて何が良いやら悪いやら・・・

メリットデメリットもあわせて書いてくれるとうれしいかも
323Name_Not_Found:04/11/24 19:13:05 ID:???
>>322
DW ←高い
324Name_Not_Found:04/11/24 19:22:42 ID:???
>>323
シェアウェアはちょっと勘弁願いたいかも
おちぶれてすまん
325Name_Not_Found:04/11/24 19:46:29 ID:???
>>324
テキストエディタの好みはホントに十人十色だからなあ。
宗教戦争になりかねないし。
326Name_Not_Found:04/11/24 19:54:21 ID:???
>>325
あぁ、そうか・・・
りかい不足で、言われて初めて気付いた。
がんばって自分で見つけることにするよ。
とても種類が多くてしんどいけどやってみます。
うどのキンピラ
327Name_Not_Found:04/11/24 19:59:40 ID:???
そういえば一時期テキストエディタばっかり10個ぐらい入れてたことがあった。
どれも一長一短なんだよね。自分で作れればいいんだけど無理だし。
328Name_Not_Found:04/11/24 20:08:36 ID:???
>>322
vi ← 好き
329Name_Not_Found:04/11/24 23:01:32 ID:8LUsdZ/X
全角文字を16進数に変えるにはどうしたらよいですか?
半角文字は出来たのですが、全角が意図したものと違う結果になってしまいます。
x=文字列.charCodeAt(i)で一文字取得後、
x.toString(16);で16進数に変換しています。
330Name_Not_Found:04/11/24 23:11:50 ID:???
>>322
TeraPad ← エディタに迷うような人のための初心者用参考ページが結構見つけやすい
331Name_Not_Found:04/11/24 23:20:24 ID:???
>>329
ttp://homepage1.nifty.com/mstak/Computer/javascript.html
このページを参考にしたとかそういうことだろうか。
「意図したもの」が分からないので答えようがない気もする。
332Name_Not_Found:04/11/24 23:26:55 ID:???
>>329
JavaScriptでは文字コードはすべてUNICODEになってしまい、
SJIS等のコードを取得する方法は(JavaScript内だけでは、
変換表を全部持つ以外には)ない。で、まだ何か質問ある?
333Name_Not_Found:04/11/24 23:30:16 ID:???
>>320
日本語の読解力がないのか。「chktst[]」という名前をつけた
場合はそのまま普通にJavaScriptで書いたら構文エラーになる。
だから文字列リテラルとして書く。つまり名前が「x」だったら
「o.x」でも「o['x']」でもいいが、名前が「chktst[]」だったら
「o.chktst[]」とは書けないので「o['chktst[]']」の方を使う
しかないということ。
334Name_Not_Found:04/11/24 23:51:39 ID:???
>>333
日本語の読解力がないのか。解決したと書いてあるじゃないか。
335Name_Not_Found:04/11/25 00:57:31 ID:???
>>333-334
ワラタ
336Name_Not_Found:04/11/25 02:36:53 ID:???
>>329
エンコードしようとしてるような気がする。
encodeURIComponent() あるいは escape() ではダメなのか?
337Name_Not_Found:04/11/25 08:15:03 ID:???
>>336
どっちも出て来るコードはUNICODEだろ。
338Name_Not_Found:04/11/25 14:28:55 ID:s6m+oEFD
すいません、初心者質問スレから誘導されてきた526です。
win98,operaを使っています。
日替わりでメッセージを表示させたいと思い色々とググって調べていたら
1ヶ月の場合ならこれ↓で可能なことが判りました。
1年365日(or366日?)日替わりにするにはどこをどう直せば可能になるんでしょうか…?

<html>
<head>
<title>日替わりで文章を表示させる</title>
<script language="JavaScript">
function Show_Messages()
{
myDate = new Date();
document.write(DateSent[myDate.getDate()]);
}
DateSent = new Array();
DateSent[ 1] = "1日に表示する文章を入力";
        (中略)
DateSent[31] = "31日に表示する文章を入力";
</script>
</head>
<body>
<table border="1" width="100%">
<tbody>
<tr><td>
<script>Show_Messages()</script>
</td></tr>
</tbody>
</table>
</body>
</HTML>
339Name_Not_Found:04/11/25 14:30:03 ID:???
>>338
初心者スレ見な
340Name_Not_Found:04/11/25 14:53:26 ID:662qQ1ng
変数名に文字列+変数の値を指定したいのでどうすればいいのでしょうか?
341Name_Not_Found:04/11/25 17:32:40 ID:???
>>338
初心者スレというよりやっぱりここ向けの質問じゃないのかなあ。
>>337
ホレ。
var d1 = new Date();
var d2 = new Date(d1.getFullYear() + "/1/1");
var nDays = Math.floor((d1.getTime() - d2.getTime()) / (1000*60*60*24));
これで「nDays」に0〜354(うるう年なら355)までの整数が入るから。
>>340
たとえば「n = 10;」のとき変数 x10 を参照したいんだよね。
それは「window['x' + n]」でできるよ。
342338:04/11/25 18:24:01 ID:s6m+oEFD
>>339
すいません&ありがとうございます!
>>341
親切にありがとうございます!
ただせっかく教えてもらったんですが…違う記述で上手くいっちゃいましたorz
申し訳無いです。


ちなみにこのような日替わりメッセージにリンクを貼ることはできないんでしょうか…?
343338:04/11/25 18:30:18 ID:s6m+oEFD
<script language="JavaScript">
function Show_Messages()
{
myDate = new Date();
var date=myDate.getDate();
var month = myDate.getMonth()+1;
var msgToday=eval("DateSent"+month)[date];
document.write(msgToday);
}
//一月分『DateSent』の後に月数を書く
DateSent1 = new Array();
 DateSent1[ 1] = "1日に表示する文章を入力";
     (中略)
DateSent12[30] = "<A href="http://yahoo.co.jp">ヤフー</A>にリンク<BR>明日は大晦日";
DateSent12[31] = "31日に表示する文章を入力";
344338:04/11/25 18:36:57 ID:s6m+oEFD
↑のように記述するとメッセージが表示されず
『スクリプトエラー ';'がありません』というエラーが出てしまいます…。

『;』をどこに足せば正常に機能するのか…どうか教えて下さい…
345Name_Not_Found:04/11/25 19:47:49 ID:???
DataSent12[30]="<a href='ヤフーアドレス'>アホー</a>にリンク<br>明日は大晦日";

つまりアドレスとか普段タグで""を使って囲むものは''(しんぐるくおーてーしょん)
で囲めってこったい
346Name_Not_Found:04/11/25 19:55:00 ID:???
質問させてください。

ボタンを押したらファイルのダウンロードをさせたいのですが、
サーバ上のあるファイルに対するリンクを左クリックすると、
exeファイルや圧縮ファイルはダウンロードのダイアログが開きますが、
ファイルによっては(*.xlsとか*.docとか、もちろんhtmlも)ブラウザで
開こうとしてしまいます。

ファイル形式がどんなでも強制的に「ファイルのダウンロードダイアログ」が
開くようにすることは可能でしょうか?
可能でしたらやり方を教えてください。

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

クライアントの環境は、IE5.0以降限定を考えております。



347Name_Not_Found:04/11/25 20:48:57 ID:???
>>346
無理。

Webサーバの設定である程度は可能。
348Name_Not_Found:04/11/25 21:05:13 ID:???
>>346
ActiveXでWindowsUpdateみたいなのつくればいいよ!
349Name_Not_Found:04/11/25 22:30:24 ID:???
>>346
オクテットストリームで送り出してやればいい、
はずだけど、MacIEが言うことを聞いてくれなくて難儀した覚えがある。
350Name_Not_Found:04/11/26 02:50:29 ID:???
>>346
一番簡単かつ強引なのは・・・拡張子をでたらめにしておくのさ。

page.htm.arienai

と、ダイアログが出るので、保存してから余分な拡張子を消してもらう。
・・・だめですか。そうですか。
351.js:04/11/26 04:04:44 ID:9toKIQGr
ご教授ください。
外部ファイルに関数をおいて使用します。
そのファイルを利用者が見れなくすることってできますか?
ジオシティや、他の一般的な無料レンタルサーバーでできるでしょうか?
352Name_Not_Found:04/11/26 04:05:30 ID:???
>>351
できません。
353Name_Not_Found:04/11/26 04:29:00 ID:???
>>351
スクリプト自体を暗号化してみましょう。
もちろん暗号解除スクリプトは本体に置かないとダメなので、
解析しようと思えばできる人には簡単にできてしまうけども。

おとなしくCGI使えるサーバを借りましょう。
354Name_Not_Found:04/11/26 04:32:26 ID:???
>>353
もうちょっと簡単に、読み込むJSファイル部分をわかりにくくして
ファイルのありかを隠蔽するという方法もあるけどね。
もうソースを解析するのも面倒なぐらいにしてやるの。
もちろんこれもわかる人にはわかってしまうけど。
355Name_Not_Found:04/11/26 04:38:15 ID:???
>>350
JavaSceiptで、出来るのか?
356.js:04/11/26 05:43:03 ID:9toKIQGr
351です。夜遅くご回答ありがとうございました。
もともとあるソースをいかしたいので、Javascriptでやりたいんですがむずかしいみたいですね。
暗号化はちょっと手間だしなあ
357Name_Not_Found:04/11/26 06:20:10 ID:???
>>356
.jse
358346:04/11/26 09:10:11 ID:???
>>347
>>348
>>349
>>350

みなさんありがとうございます。
大変参考になりました。
オクテットストリームを調べてみて、
駄目だったらあきらめます。
359児童愛好者:04/11/26 13:44:57 ID:???
質問です!!

速報ページを作りたいのですが、そのページで自動更新をします。
条件
1.自動更新をしない、30秒、60秒から<select>にて選択可能。
2.初期値を「自動更新をしない」にする。
3.自動更新されても、1の設定を引き継ぐ。
4.cookieの使用もかまわないが、使用しないですむなら、使用しない。
5.現在あるページにjavascriptとselectを埋め込むだけで実現したい。

いろいろ探しましたが、的確なサンプルもなく、お願いします。
360Name_Not_Found:04/11/26 14:17:17 ID:???
>>359
更新頻度をパラメータとしてアドレスにつければ、あとは好きに料理できるじゃろ。
361児童愛好者:04/11/26 14:54:53 ID:???
>>360

具体的なサンプルありませんか?
362338:04/11/26 15:09:43 ID:???
>>345さん、
本当に助かりました。
ありがとうございましたm(__)m
363Name_Not_Found:04/11/26 15:18:40 ID:???
>>359
3の条件がクッキー使わんときついかもなぁ
おれには思いつかん。
まぁひよっこだからなんだけどな・・・・・・
364Name_Not_Found:04/11/26 15:25:34 ID:???
>>361
サンプルはなさげだけど、割と簡単かも。課題を
1.更新時間を<select>で変更
2.1.の設定を保存
3.一定時間で自動更新
の三つに切り分けて。

1.は<option>のvalueに、もしくはそれに応じた変数に時間の値を入れておいて、
  <select>のonchangeでソレを拾う。
2.は1で作った時間の値をurlのおしりにget渡しの要領で?hogeとつけておく
3.は2の?以降の値を拾って、setTimeoutでlocation.hrefの変更を行う

てな具合でどうだろう。
365364:04/11/26 15:30:08 ID:???
補足
恒久的(謎)に設定時間を残したいのであれば、やはりクッキーを使うか、
鯖側で何らかのユーザ特定をして保存しておくか、のどちらかしかないかと。
366363:04/11/26 15:41:11 ID:???
>>364
ヒント2の情報に目からうろこがでました。
そんなことも出来るんですね。
それって初歩的なことなんですか?
367364:04/11/26 16:22:51 ID:???
>>366
JavaScriptはドキュメント単位で初期化されてしまうものなので、
ドキュメント間での変数の共有を考えた場合、
行き着くところはクッキーかurlに預けておく、
となってしまいます。

それが初歩的なことかどうかはわかりません。
368Name_Not_Found:04/11/26 16:37:37 ID:???
特に抵抗がないならフレームで更新するのが楽です。
私は実際にこれでギャラリーの自動巡回を作ったことがありますよ。
369Name_Not_Found:04/11/26 17:07:58 ID:???
3種類でいいなら、更新しないページと、30秒更新のページと、60秒更新のページを作って
そこにアクセスさせればいいんだよ。
クッキーもCGIも要らない。
370Name_Not_Found:04/11/26 17:21:07 ID:???
ちょちょちょっと待てよ。

> 速報ページを作りたいのですが、そのページで自動更新をします。

そのページは手動で書き換えをしているのですか・・・?
しかも毎分毎分ぐらいの勢いで更新してるのですか・・・?
まあCGI使ってるならわざわざJS使わないわな・・・。
うーん・・・?
371Name_Not_Found:04/11/26 22:00:29 ID:???
>>370
もしかしたらサーバ負荷を減らすために、更新用CGIが閲覧用HTMLファイルを生成するタイプかも知れない。

スレ違いスマソ。
372Name_Not_Found:04/11/26 23:20:44 ID:???
マテマテお前ら
更新って単にリロードのことかもしれんぞw

だとしたら
onchange で document.href = hoge.html?value する
onload で value 読んで timer で document.href
の2点でおkじゃね
373329:04/11/27 00:52:06 ID:q5/59SnF
解決しました。ありがとうございました。
全角文字や[/]などのURL上では区切り文字となるものを
URLのQueryに渡そうと思っていたので変換が必要でした。

こちらに答えが載っていました。
ttp://www.broadband-xp.com/hidesource/escape.html
374Name_Not_Found:04/11/27 01:34:22 ID:8wagD1uX
初歩的な質問で申し訳ないのですが…
テーブルのセルにマウスオーバーした際に、該当セルの背景色を変えたいと思っています。

<table><tr>
<td
   onmouseover="this.style.backgroundColor='#FF0000'"
   onmouseout="this.style.backgroundColor=#FFFFFF">内容1</td>
<td
   onmouseover="this.style.backgroundColor='#FF0000'"
   onmouseout="this.style.backgroundColor=#FFFFFF">内容2</td>
</tr></table>

↑これで希望の動作は実現できるのですが(サンプルをそのままコピペ)
出来れば同じ作業は関数化して、HTML内の指定を出来るだけ短くしたいのです。
が、付け焼刃の知識ではうまく組むことが出来ませんでした…
どうしたらいいか教えていただけると有難いです。どうかよろしくお願いします。
375Name_Not_Found:04/11/27 01:43:52 ID:???
function f(o) { o.style.backgroundColor = '#FF0000'; }
function g(o) { o.style.backgroundColor = '#FFFFFF'; }
として
onmouseover="f(this)" onmouseout="g(this)"
376374:04/11/27 02:01:46 ID:???
>375
わー、出来ました!

というか、やっぱりチュートリアルの読み込み不足なんですね…
いつかはアドバイス側になれるように頑張りたいです。
>375さん、本当にありがとうございました!
377Name_Not_Found:04/11/27 04:21:22 ID:???
>>372
それはたぶん、分かってて言ってるというか>>360>>364そのまま。
>>366>>363がそのことを知らなかったということが分かったので、
>>368が同一ページにしない方法での解答だが、ファイル数が増える
>>369がさらに最も簡単な方法で、もっとファイル数が増える
という答えが出てきた。
>>370は30秒、60秒という短い単位で更新が必要となるようなページであるなら、
HTMLファイルを手動で更新してわざわざ管理者がアップロードしているのが不思議、ということだろう。
CGI使ってたら通常のリロードでも最新のページを表示できるようにするだろうし、そもそもスクリプトを
利用しなくても良いという考え。METAでREFRESH吐き出すだけでいいから。
それに大して>>370は、更新はCGIを使っているかも知れないが、ユーザの目的が閲覧だけなら
サーバ負荷を減らすために、HTMLファイルを生成するCGIを利用しているかもしれないと言っている。

で、漏れは読みにくい長文でスレ汚しというわけだ。スマソ。
378Name_Not_Found:04/11/27 06:14:03 ID:???
質問です。
HTMLに記述したJavaScriptから、(そのHTMLとは)別のファイルの特定の部分だけを読み込むには、どのようにすればよいのでしょうか?
379Name_Not_Found:04/11/27 08:37:43 ID:???
>>378
できない。終了。
>>377
依然として読みにくいね。CGIなんか関係なく、サーバ上で
データ更新があったらそのつどHTMLを再生成するような
仕組みが動いているかも知れないじゃない。そんなどうでも
いいことに突っ込んでも大ボケにしか見えない。
380Name_Not_Found:04/11/27 10:34:24 ID:???
>>378
WinIE
var ua = new ActiveXObject( 'Msxml2.XMLHTTP');
ua.open( 'GET', 'http://example.com/', false);
ua.send();
//alert( ua.responseText);

Mozilla
var ua = new XMLHttpRequest;
ua.open( 'GET', 'http://example.com/', false);
ua.send();
//alert( ua.responseText);

何れもセキュリティ設定に依存するから、無意味なエラーメッセージで
訪問者を混乱させないように、try { } catch (error) { } するように。

また、WinIE には、onload 後限定で #default#download というのもある。

// ウェブオートメーション関連の質問、しょっちゅう見るな。
// FAQ に追加した方が良いと思うが。
// ついでにMicrosoftとMozillaのドキュメントのURIも追加した方が良いと思う。
381Name_Not_Found:04/11/27 17:04:26 ID:???
IEだと
document.hoge.img.src = 'file:///c:\hoge.jpg'
でローカルの画像表示がうまくできるのですが、
それ以外のブラウザでは動きません。
IE以外ではできないのでしょうか?書き方が悪いだけでしょうか?

ちなみにfile:///c:/hoge.jpgという指定方法でもダメでした。
382Name_Not_Found:04/11/27 17:42:46 ID:???
>>381
IEが糞。
383Name_Not_Found:04/11/27 18:01:43 ID:???
>>381
相対パスじゃー・・・ダメなのかな・・・。
384Name_Not_Found:04/11/27 21:19:49 ID:???
フレームページである親ウィンドウのフレーム内のページを
子ウィンドウからwindow.openで変更させてるんだけど
Operaだと対象フレームのページではなく新規にウィンドウが開いてしまうのですがどうしてでしょう?
IEやNetscapeは問題なく変更できます。
スレ違いかもしれませんが分かる方ご助言お願いします

親ウィンドウ
<frameset rows="*,100">
 <frame src="hoge_main.html" name="main">
 <frameset cols="*,250">
  <frame src="hoge1.hrml" name="sub1"> ←操作したい対象のフレーム
  <frame src="hoge2.html" name="sub2">
 </frameset>
</frameset>

子ウィンドウ
window.open("hoge3.html","sub1")

385Name_Not_Found:04/11/27 21:56:06 ID:???
>>384
子ウィンドウは sub1 という名前のウィンドウを(自分が開いたわけではないため)知らないので
Opera の挙動が正しいように思える。
子ウィンドウから親ウィンドウを参照するなら window.opener を使う。

window.opener.sub1.location.href = "hoge3.html";

何故 open で開くのか意図が分からない
386Name_Not_Found:04/11/27 22:33:51 ID:22Ehrt4L
スレ上がってたんで質問です><
ttp://www.g.dendai.ac.jp/lecture/vbasic/vb15.html
ここのHPの下にある自動販売機プログラムと同じようなプログラムを
java scriptで作りたいんですがどう作ればいいか分かりません。
どなたか分かる方いませんか;;?
387Name_Not_Found:04/11/27 22:38:58 ID:???
>>386
あなたに何を教えれば良いのか判りません。
388Name_Not_Found:04/11/28 00:22:53 ID:???
http://www.o-re-sa-ma.com/
ここにあるように右クリックが出来ないように設定するにはどうするのですか?
ソース見てジャバスクリプトをコピーして貼ってみましたがそれは違うようです
分かる人教えてください
389Name_Not_Found:04/11/28 00:33:39 ID:???
>>388
迷惑スクリプトはこのスレでは扱わないぜよ。
390Name_Not_Found:04/11/28 00:43:28 ID:???
>>388
いきなり音が鳴ってびっくり。
>>389も言ってる通り見て分かんないならやめとけ。
391Name_Not_Found:04/11/28 00:51:04 ID:???
http://www.pscompany.co.jp/gazette/
それじゃこちらでおい願いします
392Name_Not_Found:04/11/28 02:54:06 ID:???
散々議論尽くされたんだろうが・・・
別に見てる人間には迷惑かからないわけだが
右クリ禁止って迷惑スクリプトに分類されるんだな・・・

>>388
「javascript 右クリック 禁止 撲滅」 でググってください。
393Name_Not_Found:04/11/28 06:05:12 ID:VbVCt6J4
聞いてよ!
javascriptでスロット作っちゃった^^
394Name_Not_Found:04/11/28 06:32:19 ID:???
>>393
VBにVCなのにJavaScriptとは惜しいな。
395Name_Not_Found:04/11/28 06:36:54 ID:???
老人で右クリックを全く使用しない人はけっこういる。
彼等は右クリック禁止に気付かないだろう。
マウスに手を伸ばすのが面倒で、キー操作だけで済ませる時もある。
そういう時には、右クリック禁止に気付かない。

右クリック禁止に気付かないから安穏としていられるに過ぎない。
気付いた時点で、それは迷惑だ。
396Name_Not_Found:04/11/28 13:44:39 ID:OlfAFcX6
失礼いたします。
サーバ側にある
txtファイルを
読み込みこもうと思って
document.layers[0].src = "profile.txt"
としてみたんですが
layers.0はnullまたはオブジェクトじゃない
どうすればできるんできますか?
397Name_Not_Found:04/11/28 16:45:08 ID:???
>>396
それどのブラウザ用のスクリプトさ。document.layersって
N4にしかないぞ。今ごろN4専?
398Name_Not_Found:04/11/28 18:04:01 ID:vppd5QwD
教えてください
<INPUT TYPE="HIDDEN" name="test[0]" value="555">
のvalue値を取得したいのですが、
どのように記述すればよろしいのですか?
Javascript初心者なもので・・・
よろしくお願いいたします。
399Name_Not_Found:04/11/28 18:31:55 ID:JvBdCZvv
とあるレンタル投票で借りた投票フォームで、
このソースをコピー&ペーストしてくださいと言われ、そうしたのですが
いざホームページに貼り付けて試してみると【未定義のエラー】とかいわれて
動いてくれません;;自分でもイロイロ試したのですが初心者なのでわからない;;
どなたかエラーの原因がわかるかたアドバイスお願いしますm(_ _)m

ソース長いので下のページにソースのみUPしました
ttp://gyaraen.hp.infoseek.co.jp/stored/javascript.txt
400Name_Not_Found:04/11/28 18:38:05 ID:???
別フレーム、あるいは、別ウィンドウのDOMを操作するにはどうしたら良い?
401Name_Not_Found:04/11/28 19:05:08 ID:???
>>400
別フレーム、あるいは別ウィンドウのオブジェクトを通じて参照すればよい。
「parent.frames.フレーム名.document.getElementById(ID名)」等ね。
ただし別鯖のものは絶対無理。
>>399
長っ! せめてこのソースでいう何行目でエラーが出てるのか分からない?
>>398
document.forms.フォーム名.elements['test[0]'].value
402Name_Not_Found:04/11/28 19:16:32 ID:vppd5QwD
>>401番さん、ありがとうございました。
もうひとつ教えていただきたいのですが、

<a href="javascript:SetMsg(0)">ココをクリック1</a><br>
<a href="javascript:SetMsg(1)">ココをクリック2</a>
<INPUT TYPE="HIDDEN" name="test[0]" value="555">
<INPUT TYPE="HIDDEN" name="test[1]" value="666">

というようになっていまして、
function SetMsg(i)
{

temp = document.forms.a.elements['test[i]'].value;
window.opener.document.frmParent.txtMessage.value = temp;
}
とやりますとエラーになってしまいます・・・

どなたか、教えてください。お願いいたします・・・
403Name_Not_Found:04/11/28 19:20:12 ID:???
>>402
'test['+i+']'

って言うか、なんでこんな面倒なIDつけるのよ。
404Name_Not_Found:04/11/28 19:20:55 ID:???
document.forms['フォーム名']

document.フォーム名
じゃないか?
405Name_Not_Found:04/11/28 19:20:58 ID:???
>>401
ありがとうござ。
406Name_Not_Found:04/11/28 19:25:58 ID:vppd5QwD
>>403さん
ありがとうございます。
本当に、ありがとうございます。
おかげで、できました。
407Name_Not_Found:04/11/28 19:27:57 ID:JvBdCZvv
>401
みてくださってありがとうございますm(_ _)m
投票フォームの下にあるそれぞれの【投票結果】を交互に押すとエラーがでるんです;;

おそらくスクリプト記述部分の
function ResultWin (No) {
window.open('http://vote1.fc2.com/poll.cgi?user=include&mode=result&no='+No, 'newwin', 'menubar=no, scrollbars=yes, width=330, height=318');
}
のfunction ResultWin (No) 関数が2つあるために起こるのではないかと思うのですが…
408Name_Not_Found:04/11/28 21:52:06 ID:???
>>407
同名の関数が幾つあっても上書きされ内部的には一つ。

てか、オメーは誰だ?
409Name_Not_Found:04/11/28 22:26:26 ID:Bgs270fy
CSSの overflow:auto を使ったdiv領域に
DOMのappendChildを使って要素を追加していくのですが、CSSで指定したサイズ以上になるとスクロールバーが出てきます。
そこで、常にそのスクロールバーを一番下に固定したいのですがどうすればいいでしょうか。

scrollTop の値をCSSで指定したheightの値にしてみたら、一応常に一番下にすることはできました。
しかし、一度そのスクロールバーを上に移動したあとに
scrollTop の値を変えて一番下にすると
スクロールバーは動くのですが、追加された要素(文字列)が一部表示されなくなります。
何か分かることがあったら教えて頂けませんでしょうか。
410Name_Not_Found:04/11/28 22:28:40 ID:Bgs270fy
すいません、補足を。。

scrollTopを変更されるタイミングは要素を追加した直後に行っています。
411Name_Not_Found:04/11/28 22:42:58 ID:JvBdCZvv
>408
誰とは?何ですか?
412Name_Not_Found:04/11/28 22:47:43 ID:QVN0t6j+
>397
そうだったのか・・・
ありがとうございました。
413Name_Not_Found:04/11/29 00:34:05 ID:???
>>409
それだけではCSS のバグっぽいとしか言いようがない。

>>411
お母さんに"最初に質問した時の記事番号を名前欄に入れなさい"と教わらなかったか?
で、うpしたソースでは再現されないってことは知っているのか?
414Name_Not_Found:04/11/29 00:38:47 ID:???
洩れの母は数年前に他界したがそんなことは言っていなかったな。
415Name_Not_Found:04/11/29 05:58:51 ID:???
>>393
URL希望
自分断念した経験があるんでソース見てみたい

>>386
あなたのJavaScriptの知識レベルによっては
助言してあげる。
まるっきり知識0で、ソースのみ希望してるなら問題外。
ただJavascript初心者にとってはformの使い方、配置で良い練習問題かな、と思う。
416Name_Not_Found:04/11/29 09:00:41 ID:???
ܷܵܶ
417Name_Not_Found:04/11/29 09:30:00 ID:4hda1Z3y
appendChildは常に下に下に要素が追加されるのですが、上に上に追加する方法はありますか?
418417:04/11/29 09:57:55 ID:4hda1Z3y
自己解決しました。

insertBefore という関数を使用すればできました。
スレ汚し失礼しました。
419Name_Not_Found:04/11/29 10:12:20 ID:???
>>418

、、、関数ねぇ。

自分で調べれる人みたいだから、なんとかなるだろうけど、
一度ちゃんと勉強しなおした方が良いと思うよ。
420Name_Not_Found:04/11/29 10:49:51 ID:???
× 調べれる
○ 調べられる
421Name_Not_Found:04/11/29 11:58:43 ID:???
メソッド、やね。
IEでもDocumentオブジェクトのメソッドが生成できるようになれば、
ちょっとだけ楽できるのになあ。
422BlackLightOfStar ◆ifsBJ/KedU :04/11/29 14:16:13 ID:GvaqZCgb
HTML4.01 Strictでソースを書いて、
<span id="nantoka">kantoka</span>
と書いても、document.all.nantoka.innerHTML
を書くと、Windowsのネスケでエラーになります。IE,Operaではエラーにはなりません。
ネスケだと、document.all has no properties とか出てきます。
これはどういう仕組みになっているのですか?
423Name_Not_Found:04/11/29 14:50:04 ID:???
>>422
document.allでどのブラウザもOKだと思ってるのか?
424Name_Not_Found:04/11/29 16:50:03 ID:???
>>422
document.allは基本的にIE専で、OperaはIEに合わせている。
標準規格ではdocument.getElementByID(ID名)を使う。これだと
新しいブラウザではどれもOK(N4やIE4にはない)。
425BlackLightOfStar ◆ifsBJ/KedU :04/11/29 17:02:06 ID:GvaqZCgb
Re:>424 色々なブラウザでソースの変更をするには、やはりbody要素全体を書き換えるしかないのでしょうか?
426Name_Not_Found:04/11/29 17:56:57 ID:dpxHVQuk
質問させてください。Windows IE6.1で試しています。
左右に分かれたフレームのページをつくり、右ページにメニュー、左ページに掲示板を作っています。
左ページを更新したら、同時に右ページも更新させたいのですが、それの方法がわかりません。

一応、下記の通り試してみましたが、更新しませんでした。

function autoOpen(){
window.open("menu.htm","menu");
}

左ページの更新時、BODYを下記のとおり書き換えています。

<body onLoad="autoOpen()">

何卒宜しくお願いします。m(_ _)mペコリ
427Name_Not_Found:04/11/29 18:05:04 ID:???
>>425
ブラウザによって処理を変えてあげればいいだけでーす。
でもブラウザによってできることとできないことがあるのでーす。
あまり無茶はしないほうがいいのでーす。
428Name_Not_Found:04/11/29 18:08:17 ID:???
>>425
innerHTMLは多くのブラウザで対応しているよ。だから
document.getElementByID('nantoka').innerHTML = ...
でいいじゃん。
>>426
<body onload="parent.frames.menu.reload(true)">
だったらどうかな。
429426:04/11/29 18:34:51 ID:???
>>428
ありがとうございます。
さっそくやってみましたが、左のフレームがリロードされません(^^;

うーん、どうすればいいんでしょうか。。。
430Name_Not_Found:04/11/29 18:50:23 ID:???
>>429
ごめんまちがいた。
parent.frames.menu.location.reload(true)
431426:04/11/29 19:07:39 ID:???
>>430
ありがとうございます!!
見事に更新されました!

感謝感謝です。
本当にありがとうございました。
432Name_Not_Found:04/11/29 20:30:11 ID:y8DH8rs5
お前らjavascriptについて教えてください。
お前らのブラウザで以下のソースを実行するとどうなりますか?
ある小数を1000倍したいだけです。

<html>
<head>
  <title>小数の実験</title>
  <script language/javascript>
    val = 16.2;
    alert(val);
    val *= 1000;
    alert(val);
  </script>
</head>
</html>

ここの環境はWindowXP I.E.6.0ですが
1回目のalertは16.1で2回目はなんと
16100.000000000001
となってしまいます。
16.1を他の数字に変えると単に1000倍された数字が返って来ます。
16.1以外では他にこのような現象はまだ見つけていませんが
他にもこんな現象の起こる数は存在するのでしょうか?
433432:04/11/29 20:33:25 ID:y8DH8rs5
間違えました!!
5行目は
val = 16.1;
です。
434Name_Not_Found:04/11/29 20:41:23 ID:???
>>432
そんなもんだよ。
435Name_Not_Found:04/11/29 20:48:17 ID:???
>>432
FAQ >>9 のQ9/A9を見れ!!!!
436432:04/11/29 20:51:46 ID:???
>>434, >>435
ありがとうございました。
初めて来て慌ててしまいました。
437Name_Not_Found:04/11/29 20:54:10 ID:???
ソース見ないと分からない程度なら問題ない
438BlackLightOfStar ◆ifsBJ/KedU :04/11/29 22:19:40 ID:GvaqZCgb
Re:>428
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja"><head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>document.getElementByID(id)</title>
<script type="text/javascript">
function ft1(){
document.getElementByID('faa').innerHTML="qwerty";
}
</script>
</head><body>
<noscript><p>Activate the JavaScript.</p></noscript>
<p><span id="faa">0</span></p>
<form name="f1" action="#"><p>
<input type="button" value="up" name="b1" onclick="ft1();" onkeypress="ft1();">
</p></form>
</body></html>
をIE6でボタンを押したらエラーになります。何故でしょう。
439Name_Not_Found:04/11/29 22:32:50 ID:???
>>438
何やろうとしてるのか、どんなエラーかくらい書いて欲しいな。

クイズやってんじゃないんだから。
440Name_Not_Found:04/11/29 22:50:46 ID:???
>>439
何やろうとしてるのかぐらいは一目でわかるな。
441Name_Not_Found:04/11/29 22:51:00 ID:???
>>438
getElementByID → getElementById
回答者も間違えてんだけどね。それくらいチェックできる
ようになって欲しいな。
442Name_Not_Found:04/11/30 02:40:20 ID:???
Yahoo!GeocitiesでHPを作成したのですが、広告を表示させるフレームを指定したい。
そこで、HTML内に組み込むJava scriptを教えていただければと思います。
geoでは広告の形態には2種類あるのですが、
ttp://www.geocities.jp/power_seller_info/index.htm
自分の場合はこのページのような、縦型広告の形態です。
443Name_Not_Found:04/11/30 03:11:50 ID:???
>>442
その広告って良く見かけるけど、右上に配置されてるのしか見たこと無いような気がする。
無理なんじゃないかな。
444川*^ー^)玉子 ◆GodofTripY :04/11/30 04:10:54 ID:OTFCLpTu
JavaScriptの質問です。

計算機を作りたいのですが、
計算機といっても2chのトリップの出現確率を表示する計算機を作りたいのです。
そこで、みなさんのお力をお借りしたいと思いまして質問いたします。


htmlのイメージとしては↓(空欄に数字を記入し、◎を選択する)


  検索文字列   大文字小文字の区別  位置の指定    速度
┌─────┐                               ┌───┐      
│          │   ◎ なし          ◎ どこでも  │      │trips/s
└─────┘   ◎ あり           ◎ 前方    └───┘
                            ◎ 後方
445川*^ー^)玉子 ◆GodofTripY :04/11/30 04:20:00 ID:OTFCLpTu
>>444の訂正です↓


  検索文字列   大文字小文字の区別  位置の指定    速度
┌─────┐                               ┌───┐      
│          │   ◎ なし          ◎ どこでも  │      │trips/s
└─────┘   ◎ あり           ◎ 前方    └───┘
                            ◎ 後方
 ┌──┐
 |決定|
 └──┘
      ┌──────┐
 結 果|            │
      └──────┘


↑検索文字列に探したいトリップを入力し、◎を一つ選択、速度にPCの検索速度を入力し、決定を押す
すると、結果にトリップ検索時間(平均値)を出力する計算機を作りたいのです。
ただ、2chトリップのトリップは、A〜zの52文字、0〜9の10文字、. / と2文字、合わせて64文字しか使えません。
また、トリップは◆GodofTripYのように10文字で構成され、しかも10文字目には
. 2 6 A E I M Q U Y c g k o s w の16文字しかでません。
これ以外の時は結果にエラー表示をしたいのです。
みなさんの助言をお願いします。
玉子ちゃん こんな所で奇遇ですな もぇもぇ

以前、はりねずみタンがCGIで計算機作ってたような
447川*^ー^)玉子 ◆GodofTripY :04/11/30 04:36:55 ID:OTFCLpTu
>>446
キャー見つかった(><)
ジオだとね、cgiがダメなのよ・・・。
もぇちゃんJavaScript分かる?
>>447
そっかジオか 移転汁!! w
んで JavaScriptは全然だめぽ
FLASHやってるから ネタ探しにちょこちょこ覗きに来てたり

計算機完成したら使わせてもらうもぇ〜
449Name_Not_Found:04/11/30 05:21:43 ID:???
>>444
ん〜、ここは>>1にもあるとおり、ゼロから教える場では無いんだよね。
>>445で自分で言ってるから分かってると思うけど、ここでもらえるのは助言止まりだよ。
Javascriptを何も知らなくて、ソースのみ希望してると、カエレって言われるかも。
急ぐ必要も無くて、今少しずつ勉強してる最中なら、出切るだけ協力してあげるからさ、
行き詰まったらまたおいで。
口は悪いけど、ここの回答者はレベル高い人いっぱい居るし、的確な回答を得られると思うよ。

とりあえずform配置してうpしてきなされ。
450Name_Not_Found:04/11/30 06:35:26 ID:???
innerHTMLと
innerTextの違いって何でしょうか?

今このスレをざっと見ててふと思いました。
451Name_Not_Found:04/11/30 07:10:43 ID:???
document.getElementById(id).innerHTML = "<b>ふとじ</b>";
document.getElementById(id).innerText = "<b>ふとじ</b>";

innerHTMLはその名の通りHTMLを認識する
innerTextは解釈せずに出力するはず。
452Name_Not_Found:04/11/30 08:22:13 ID:???
>>450-451
あとinnerTextはIE専じゃないかな。
453Name_Not_Found:04/11/30 11:36:13 ID:???
どっちかっつーと、innerHTMLの方が…
454450:04/11/30 12:21:59 ID:???
>>451
回答ありがとうございます。
実験したところ、まさにその通りでした。

>>452,453
リファレンスブック立ち読みしてきます。
というよりいい加減、2大(ベーシック)ブラウザで統一して欲しいですよね・・・・
455Name_Not_Found:04/11/30 12:50:47 ID:???
>>445
無理だからやめとけ
456BlackLightOfStar ◆ifsBJ/KedU :04/11/30 12:58:14 ID:V0oFycd3
Re:>441 できました。どうもありがとうございます。
457Name_Not_Found:04/11/30 13:07:55 ID:???
>>454
両方対応してるinnerHTMLを使えばいいだけ
タグをテキストで出力したいなら実体参照にエスケープすればいいだけ
458Name_Not_Found:04/11/30 13:26:01 ID:???
>>454
猛烈に反対されつつ Mozilla は innerHTML とか marquee とかを
取り入れて来たわけだが。また、XMLHTTP 関連では、Microsoft のそれを
仕様書と明示して統一を図っている。
とりあえず、DOM 関連が非道い Perl でDOM 扱ってみろ。発狂するから。
そもそも、そういう身近な悪例を出さなくても JS の DOM は良く出来ていて
使い易いのは疑い様のない事実。

innerText は比較的容易に実現できるから、次のような感じで作ってみては。

HTMLElement.prototype.__defineGetter__( 'innerText', function () {
var r = document.createRange();
r.selectNode( this);
return r.toString();
});
HTMLElement.prototype.__defineSetter__( 'innerText', function () {
this.innerHTML = '';
this.appendChild( document.createTextNode( arguments[0]));
});
459Name_Not_Found:04/11/30 13:36:13 ID:???
>>451
そういう終了タグの書き方は、外部ファイルにおいては間違いではないが、
HTML ソースに書いた場合、厳密に言うと、正しくない。
(実際には上手く行ってしまうから殆ど誰も気にしないことだが。)

スクリプトであろうが何であろうが、HTML では、最初にHTML のルールで読まれる。
「</」があると、この世に存在しない超ストリクトな仮想ブラウザは、
script 要素の内容が終わったと解釈する可能性がないとは言えない。
つまり、「...innerHTML = "<b>ふとじ」までをスクリプトエンジンというものに
渡してしまう可能性がないとは言えない。スクリプトエンジンというものにとって、
これは閉じられていない文字列だから、上手く処理されない。
HTML に直書きする場合、厳密には、「<\/」などとしなければならない。
「\」は、HTML のルールでは、エスケープでも何でもないから、そのまま読まれ、
それを渡されたスクリプトエンジンというものにとっては、「\」はエスケープだから、
「<\/」は、「</」と解釈される。

繰り返すと、外部ファイルなら問題無いが、HTML ソースの何処かに直接書く場合、
終了タグは、「<\/」などと書かなければ、HTML のルールに引っかかる。

「'</scr' + 'ipt>'」という書き方を時々見かける。無意味な事をしていて
肝心な事 (HTML の仕様書に書かれてある事) をやっていない。
正しくは、「'<\/script>'」とか、「'<' + '/script>'」とかと書く。
460Name_Not_Found:04/11/30 14:01:15 ID:???
>>454 独自拡張まで統一しろってか?そりゃおまいのわがままだろw
461Name_Not_Found:04/11/30 14:01:31 ID:KxwpFR5u
すいません。フレームでを使ったページでもスクリプトのウインドウを閉じる命令は
つかえますか?いろいろためしたんですが元のページではウインドウを閉じれるんですが
フレームでそのページを読み込むと閉じないんです^^;
462Name_Not_Found:04/11/30 14:14:01 ID:???
>>461
何を言ってるか意味わからん
463Name_Not_Found:04/11/30 14:14:30 ID:???
>>461
閉じる対象が、そのドキュメントのwindowからparentもしくはtopに変わっているので。
464Name_Not_Found:04/11/30 14:30:29 ID:KxwpFR5u
よくわからなのですが、ターゲットをparentまたはtopに変更するということでしょうか?
実際やってみると前と同じで反応しません。
465Name_Not_Found:04/11/30 14:31:40 ID:???
>>459
'<\/script>'は \/ が意味不明だから \ を取って / であると判断しているに
過ぎないと思うのだが、違うか?
466Name_Not_Found:04/11/30 14:38:53 ID:???
>>464
ソースが提示されていないので憶測の範囲ですが。
window.close();
と記述していませんか?この場合そのドキュメントのwindowオブジェクトに対して、
close();というメソッドを適用しているわけです。フレーム内でこのドキュメントが
展開される場合、閉じる対象はwindowオブジェクトではなく、parentもしくはtopに
なるので、parent.close(); もしくは top.close(); になります。

JavaScriptの基本ですが、オブジェクトとメソッドの関係を勉強すると
幸せになれるかもしれません。
467Name_Not_Found:04/11/30 14:49:19 ID:KxwpFR5u
あんた天才!!
ありがとうございました、できました。

また教えて下さい。
468Name_Not_Found:04/11/30 15:00:19 ID:KxwpFR5u
あんた天才!!
ありがとうございました、できました。

また教えて下さい。
469Name_Not_Found:04/11/30 16:49:10 ID:???
>>458
innerTextはDOM3でtextContentプロパティとして標準化されており
Mozillaはそっちで実装しているので
__defineGetter__とかするにしてもそれ使えばいいと思うよ。
470Name_Not_Found:04/11/30 22:02:02 ID:???
Mac IE で、意味不明のスクリプトエラーなんですが、どうしようか困ってます。

Microsoft JScript ´ a^E ´ i ` E ´ ^E ´ CE ´ A '' E ´ GE ´ a^A ? [:
エラー: IE ´ uE ´ WE ´ FE ´ NE ´ gC tm ’’ ko vC?C Σ

とかなんとか… やってることは非常に単純で、javascript を使って
新しいwindow を開いて、その新しい window の中でも
javasctipt を書いてる、ってだけけなんだけど…

Mac IE 5.2.3 (Mac OS X 10.3.5)
だれかたすけちくり。。
471Name_Not_Found:04/11/30 22:24:39 ID:???
>>470
あ、それ漏れも見たことある。
文字コード関連な気がしてならない。
472470:04/11/30 22:34:57 ID:???
原因判明;リファラ
local でやる分にはうまく行くのでわかった。実サイトでは、script を .js 外部ファイルにして、
referer のアクセス制限かけてる。log をみたら案の定、
Mac IE は <script src=" を読み込むのに リファラ付けねぇよ!!!
どうしようかなぁ。。。すれ違いだな。スマソ。
473Name_Not_Found:04/11/30 23:44:27 ID:???
質問させてください。

hogehoge11.html というHTML文書内で、
JavaScriptを用い、今開かれているファイル名を取得したい(hogehoge11.html)場合、
どのような方法があるんでしょうか?

同じJavaScriptをhogehoge12.html内に導入した時は、
hogehoge12.html というのを取り出したいのですが・・・
474Name_Not_Found:04/11/30 23:45:04 ID:???
>>473
忘れてました。
当方IE6.0、Windows系です
475Name_Not_Found:04/12/01 00:25:51 ID:???
>>473-474
あんたのページは誰もIE以外では見ないってことなのかな。
まあともかく、location.pathnameでも参照すれば。IEでも
何でも共通だよ。
476Name_Not_Found:04/12/01 04:27:27 ID:???
長い長いプログラムを書こうとするとき、
行き当たりばったりで書くと、あとでどうにもならなくなるね。
どうにもならなくは無いんだが、拡張したり修正したりするときに非常に苦労する。
Javascriptだけに言えた事じゃないと思うんだけど・・・・・

そこでお前らに聞きたい。
特にプログラム歴長い人。
組む前に計画書みたいなものを書く?
もし書いてるのだとしたらどんなことを書く?
是非お答え願いたい。
微妙にスレ違いですまん。
477Name_Not_Found:04/12/01 07:34:00 ID:???
>>476
別に書かない。
長いといっても、一定のサイズに分けて書けばいいでしょ。
1つのクラスなり関数なりの大きさを抑えて書く。
478Name_Not_Found:04/12/01 13:59:09 ID:???
>>475
本気で大きいものを作る時は UML 分析モデリングをする。
479初心:04/12/01 14:15:43 ID:nWsJm399
HP上で文章のコピペを試みたのですが、
javaの影響か、文章がコピペできないようになっています。
(文章の反転自体ができないようになっています。)
そこで、javaをOFFにして試したところ、
文章が非表示になってしまいます。

このような場合、コピペは不可能なのでしょうか。
どなたか、詳しい方教えてください。よろしくお願いいたします。
480Name_Not_Found:04/12/01 14:58:09 ID:???
>>479
「javaをOFFに」すればコピペできるよ。
481Name_Not_Found:04/12/01 16:27:10 ID:???
>>479

アドレスだしたほうが早いのに

1.ソース見れ
2.Flash使ってるっぽい?(使ってたらコピペ無理)
3.そのままその文章を自分で書け

ていうかすれ違いっぽいけどまあいいや
482Name_Not_Found:04/12/01 19:58:47 ID:CX4+Cq70
初歩的な事かもですが、質問させてください。

window.moveTo(0,0);
window.resizeTo(screen.availWidth,screen.availHeight);

でフルスクリーン表示させてたんですけど、
そのサイトがフレームの中に組み込まれちゃったんです。

top.moveTo(0,0);
top.resizeTo(screen.availWidth,screen.availHeight);

そこで上のように書き換えればオッケーと思ってたら、
親フレームは別のドメイン使ってるんで、エラーになっちゃうんです。
「スクリプトエラーの通知」を外してれば何の問題もないんですけど、
FAQ >>9 のQ1/A1のように無理なんですかね?
483Name_Not_Found:04/12/01 20:10:40 ID:???
>>482
> 「スクリプトエラーの通知」を外してれば何の問題もない
エラー通知さえなければ動かなくてもそれなりにOKなのであれば
try-catch文とかonerrorとか使ってエラー処理を汁。
484Name_Not_Found:04/12/01 20:19:55 ID:???
パケットモニタで抽出とか
PrintScreenしてOCRとか
485479:04/12/01 20:43:13 ID:nWsJm399
わざわざ、ありがとうございます。
>>480
javaをオフにすると、文章が消えてしまうんです。
>>481
アドレスはこちらになります。↓
ttp://music.j-total.net/db/rank.cgi?mode=link&id=1757&url=http%3a%2f%2fmusic%2ej%2dtotal%2enet%2fdata%2f013su%2f004_SMAP%2f022%2ehtml
486Name_Not_Found:04/12/01 20:51:42 ID:???
>>485
けんかを売っているとしか思えないな。
するーするー。




次、ドゾー。
487482:04/12/01 20:56:14 ID:CX4+Cq70
>>483
ありがとうございます。エラー通知の回避できました。
でも、それだと全画面表示ができないって思ったけど、
気のせいでした。
エラー通知しなけりゃ、全画面になるもんだと何故か思い込んでました。
まあどうでもいいや。
488Name_Not_Found:04/12/01 21:44:06 ID:???
>>485
JavaScript on で入って、コピペする時に offでってIEでもできるかね…
FireFoxなら簡単に出来るけど。
489Name_Not_Found:04/12/01 21:59:27 ID:f9ApyABz
質問です。
誰かがアクセスしてくるたびに、画面のメッセージを変えるのを知りたいです。
たとえば一回目には「おはよう」で、後でまたくると「ねろ!」とか。
490Name_Not_Found:04/12/01 22:04:49 ID:???
>>489
クッキー使え。
491Name_Not_Found:04/12/01 22:09:30 ID:f9ApyABz
>>490
http://www.hi-ho.ne.jp/kama/uranai2.html のページの下みたいにしたいです。
492Name_Not_Found:04/12/01 22:14:53 ID:???
>>491
下のページのソース見て勉強汁
493Name_Not_Found:04/12/01 22:31:39 ID:f9ApyABz
>>492
全然わかりませんでした。
上を選んで下を表示する方法さえわかれば解決しそうなんですが・・
助けて!
494Name_Not_Found:04/12/01 22:39:25 ID:???
>>493
>上を選んで下を表示する方法

それは別のスクリプトを使ってる。
メニューセレクタでググれ。
495Name_Not_Found:04/12/01 22:39:37 ID:???
じゃ上のページのソースも見て勉強汁
あれで全然わからないんだったらここで教えてもお前には無理
496Name_Not_Found:04/12/01 23:08:01 ID:???
モー娘。羊や椎名林檎の板みたいに背景やタイトルgifをランダムに変更する方法はどうするのですか
ソースを見てもランダムに使われる他のgifの名前は見あたりません
そのやり方を教えて下さい
497Name_Not_Found:04/12/01 23:52:19 ID:???
>>496
見るソースを間違えてるんだろ。
そうでなければ、JavaScriptで実現しているわけではない。

↓やりたいこととしては、このあたりのことかな?
ttp://page.freett.com/elledia/tips/background.html
498Name_Not_Found:04/12/02 00:20:03 ID:???
>>496
CGIでやってることがソースを見ればわかるだろうが。
そんなHTMLもわからないやつにJavaScriptなんか早い。
おっと、CGIも早いからもっと勉強するまで固定で我慢しとけ。
499Name_Not_Found:04/12/02 12:43:12 ID:???
>>496
今朝、出勤の途中に30万くらい入った財布を拾って、
さっき警察から落とし主が来たと連絡があった。

そんなこんなでご機嫌なのでアドバイス。
JavaScript 画像をランダムに表示
でググろう。
500Name_Not_Found:04/12/02 13:20:05 ID:???
JIS コードに含まれていない文字がテキスト欄に入力されている場合に
アラート出すようなスクリプトって、どこかにありませんでしょうか?
過去ログ捜したんだけど、見つけられなかったです。
捜し漏れかもしれませんが、教えて下さい。
501Name_Not_Found:04/12/02 13:46:46 ID:???
>>500
許可する文字全てのデータを自前で用意して正規表現マッチ。
502Name_Not_Found:04/12/02 15:49:07 ID:???
下記状態でアラーとは半角整数ですがアルファベット若しくは半角整数、
もしくは空欄にするにはどうすればよいでしょうか?

var retv;
retv = parseFloat(touroku.atusa.value);
if (isNaN(retv) || retv <= 0) {
alert("高は半角文字の正数でなくてはいけません。")
503Name_Not_Found:04/12/02 17:10:47 ID:nGvegE9o
WinでIE6.1使ってます。

左右に分かれたフレームを使っていて、右側のページをあるリンクで移動した際、
自動的にページ移動させたいと思っています。
その時、親フレーム全体で開くようにしたいのですが、その設定がわかりません。

_parentというターゲットを埋め込めばできるような気がしているのですが、
どこにやればいいのか検討がつきません。

<META HTTP-EQUIV="refresh" CONTENT="0; URL=http://hoge.jp/index.htm">

分かる方、何卒教えてください。
504503:04/12/02 17:14:34 ID:???
あ、すみません。
よく考えたらこれはJavaScriptではないですね(^^;

すれ違い、失礼しました。
505Name_Not_Found:04/12/02 17:20:46 ID:Ad1Go95x
ページを表示するたびにランダムで文字を変えたいのですけど
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<SCRIPT language="JavaScript">
<!--
colors=new Array();
colors[0]="#ffffff";
colors[1]="#000000";
colors[2]="#cccccc";
colors[3]="#ffcccc";
colors[4]="#ccffcc";
colors[5]="#ccccff";
index=Math.floor(6*Math.random());
document.bgColor=colors[index];
// -->
</SCRIPT>
</BODY>
</HTML>
だと背景色が変わりますよね?colorsの部分をTextsにしてもだめでした。助けてください。
506Name_Not_Found:04/12/02 17:23:04 ID:???
<SCRIPT LANGUAGE="JavaScript">
<!-- begin script
function netie(net, ie) {
if ((navigator.appVersion.substring(0,3) >= net && navigator.appName == 'Netscape' && net != -1) || (navigator.appVersion.substring(0,3) >= ie && navigator.appName.substring(0,9) == 'Microsoft' && ie != -1))
return true;
else return false;
}
// end script -->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!-- Start script
function transitionTxt() {
if (idTransTxt.filters.item(0).status == 0) {
idTransTxt.filters.item(0).apply();
idTransTxt.style.visibility = "visible";
idTransTxt.filters(0).play();
}
}
// End script -->
</SCRIPT>
507Name_Not_Found:04/12/02 18:44:28 ID:???
>>505
文字を変えたいとはどういうことなのか判断しかねるが、
文字色を変えたいのなら、bgColor を fgColor に変更するだけ。
508Name_Not_Found:04/12/02 18:54:48 ID:???
>>502
var pattern = /^[0-9a-zA-Z ]+$/;
pattern.test( 'あいうえお'); // false
pattern.test( 'XYZ'); // true
pattern.test( 'XYZあいうえお'); // false
509Name_Not_Found:04/12/03 00:26:42 ID:pDPDjjCZ
すいません、スレイプニルのスクリプトをjavascriptで書いてるんですが、
ブラウザを50pxゆっくり下にスクロールさせるだけなんですが出来ません。

下記コードを書いたのですが、一度だけscrollByが実行されるだけで、
再帰的な処理をさせるsetTimeoutが実行されてないようです。
setTimeout("scroll()", 100);の"scroll()"の部分のダブルクォーテーションを取ってやると、
きちんとゆっくり下にスクロールされるのですが、
スクロールが終わると「引数が無効です」とエラーが出て終了してしまいます…。
どなたかアドバイス頂けないでしょうか。

var id,obj,document,window;

obj = new ActiveXObject("Sleipnir.API");
id = obj.GetDocumentID(obj.ActiveIndex);
window = obj.GetWindowObject(id);

var y = 0; // 移動距離初期値
var move = 1; // 移動量
var timerID = 10; // タイマ変数初期化

scroll();

function scroll() {
y += move;
if (y < 50) {
window.scrollBy(0, move);
var timerID =window.setTimeout("scroll()", 100);
window.clearTimeout(timerID);
}
}
510509:04/12/03 01:00:39 ID:???
あれ?
setTimeout(scroll(), 100);のダブルクォーテーションを取って↓

var timerID =window.setTimeout(scroll(), 100);

コマンドプロンプトから開くと「引数が無効」のエラーも出ずにちゃんと動いたよ。
でもスレイプニルの「スクリプト」から実行するとやっぱエラーが出る。

どうなってるんだ…。
ちょっとどこが間違ってるのかわからないので、
よろしければ引き続き添削お願いします…。
511Name_Not_Found:04/12/03 01:05:00 ID:???
なぜsetTimeout()して直ちにclearTimeout()しているのか
説明してもらおうか。
512509:04/12/03 01:40:17 ID:???
>>511
え?だってsetTimeout(A , B)ってB時間使ってAを実行っていう関数ですよね?
で、scroll ()っていう自作関数の中から自分自身を呼んでるから、
clearTimeout()が実行されるのは再帰的に連続してscroll()が呼び出され終わった後になる、
と思ったので、直後に置いても良いのでは、と…。

というか再帰の最後まで終わらないとclearTimeout()が実行されないので、
直前に置いた方が良いのでは、と考えてさっきやってみたんですが、
やっぱ結果は同じでした。

というか何か変な勘違いしてたらすいません。
513Name_Not_Found:04/12/03 01:43:06 ID:???
(´-`).。oO(なんで再帰で書く必要があるのだろう・・・)
514Name_Not_Found:04/12/03 01:53:41 ID:???
(´-`).。oO(setInterval でいいよね・・・)

setTimeout を使うなら、clearTimeout を scroll() のはじめに書くと思う。
そして「var timerID = 10; 」が少し気になる。
515Name_Not_Found:04/12/03 02:02:28 ID:???
Webページにjava scriptで表示される広告を無効にするタグってありますか?
Geoの広告を表示させたくないフレームがあるので もしできるのならと思ったんですが・・・。
516509:04/12/03 02:10:05 ID:???
>>514
setInterval ってその行で立ち止まって勝手に何度も命令を実行し続けるやつですよね?
それだと条件分岐文を使って命令を止めたりする方法がわからなかったので、
使いませんでした。
javascriptでスクロール、のサンプルも大抵setTimeoutが使われてるようだし。

あとvar timerID = 10; はなんか見つけたサンプルがそうなってたもんで…。

とりあえず今日はこのへんで力尽きたので寝ます、、、。
517Name_Not_Found:04/12/03 08:31:48 ID:???
>>515
規約違反にならないことなら相談に乗ってももらえるかも知れないが。
>>512
setTimeout()は「実行を登録」するだけですぐ戻って来るだろ。
それで直後にclearTimeout()したら実行されないのが普通だよな。
このばあいclearTimeout()はまったく書く必要がないでしょ。
518Name_Not_Found:04/12/03 08:40:50 ID:???
>>516
用語の使い方とか、動きの前提が他言語で硬直してるような雰囲気。
適当にやらずに、ちゃんとリファレンスなりをきちんと読め。
519515:04/12/03 08:56:35 ID:???
>>517
別のフレームで、きちんと(表示領域内に)表示されるので規約違反にはなりません。
もし方法があるのでしたら教えていただきたいと思います。
520Name_Not_Found:04/12/03 09:06:25 ID:???
>>519
それってGeoに聞くことでしょ。違反でないなら。
521515:04/12/03 11:04:45 ID:???
>>520 なんとなく2chのが好きなんでw
522Name_Not_Found:04/12/03 13:29:47 ID:???
>>517
仕様としては問題ないはずだが、clearTimeoutを呼ばずにsetTimeoutを繰り返し使うと
動きがもっさりすることがある。

>>521
>タグってありますか?
この時点でスレ違いじゃないのか・・・というだけではヒドイので。スタイルシート使えばいい。
スクリプトを無効にするわけではないが、displayプロパティあたりで調べてみ。
523Name_Not_Found:04/12/03 13:42:04 ID:???
>>519
後ろの方に次のを入れる。番号が何番目かは試して決めれ。
<script type="text/javascript">
document.body.childNodes[番号].style.display = 'none';
</script>
524502:04/12/03 14:22:11 ID:???
現状:半角整数以外は入力不可
希望:半角整数、半角アルファベット、空欄で入力可にする

var retv;
retv = parseFloat(touroku.atusa.value);
if (isNaN(retv) || retv <= 0) {
alert("高は半角文字の正数でなくてはいけません。")
touroku.atusa.focus();
touroku.atusa.select();
return false
}
525502:04/12/03 14:22:31 ID:???
>>508を参考に以下のようにしましたが半角整数、アルファベット、
空欄のいずれかでもアラートメッセージが出てしまいます。
アドバイスお願いします

var pattern = /^[0-9a-zA-Z ]+$/;
pattern.test( 'あいうえお'); // false
pattern.test( 'XYZ'); // true
pattern.test( 'XYZあいうえお'); // false
pattern = parseFloat(touroku.atusa.value);
{
alert("高は半角文字の正数でなくてはいけません。")
touroku.atusa.focus();
touroku.atusa.select();
return false
}
526Name_Not_Found:04/12/03 14:37:02 ID:???
>>525
if (/[^0-9a-zA-Z ]/.test( touroku.atusa.value)) {
alert("希望:半角整数、半角アルファベット、空欄で入力可にする");
touroku.atusa.focus();
touroku.atusa.select();
return false
}
527Name_Not_Found:04/12/03 14:37:28 ID:???
java scriptを使ってチェックボックスのチェックされた内容によって
違うページを表示する様なページを作りたいのですが、どういった構文を用いればよろしいでしょうか?お願いします。
528Name_Not_Found:04/12/03 14:51:32 ID:???
>>527
チェックの組み合わせに呼応したリンク先のurlの配列を作っておいて、
location.hrefをそれに切り替える感じで。

特にそう言った機能限定の構文は無いです。
529502:04/12/03 15:09:03 ID:???
>>526
ありがとうございました
530Name_Not_Found:04/12/03 16:04:23 ID:???
>>527
SEO 度外視で構わないのなら、クエリ文字列にするのが良いと思う。
(SEO を気にするのなら、POST で、動的ページにするしかないが。)
そうしなければ、多数の HTML を用意しなければならなくなる。
チェックボックスが N個あったら、0個から N個までの選択状況が、
総計 2^N通り存在する。例えば 10個の場合、2^10 = 1024 通り。
531Name_Not_Found:04/12/03 17:01:19 ID:???
たぶん、占いとかそう言う類のチェックされた項目の傾向でいくつかのリンク先に振り分け、
とかそういうのじゃないかな、と思った。
実際の振り分け先はせいぜい10通りくらいとか。
532Name_Not_Found:04/12/03 17:27:54 ID:tCFS4dZx
Flash板で聞いたら、JavaScriptの領域だと言われたので、こちらで。。

Flashを開く時、
ウィンドウの横幅一杯に広げて表示する方法を教えて下さい。
<FRAME Src="./hoge.swf">
で何か設定があると思うのですが。
533Name_Not_Found:04/12/03 17:33:17 ID:???
http://ip.tosp.co.jp/../i.asp?I=kiss_keiきもい、近親相姦自作自演の馬鹿サイト
534Name_Not_Found:04/12/03 17:48:03 ID:???
>>532
frameは使わずに、
window.open("適宜","適宜","fullscreen=yes,適宜");
とすればいいです。

ただ、フルスクリーンにされるとブラウザやOS自体のいろいろなコントロールに
アクセス静楽なるので、コンテンツの中でなんらかの救済措置を執るようにしてください。
535Name_Not_Found:04/12/03 17:48:40 ID:???
×:アクセス静楽
○:アクセスしづらく
536Name_Not_Found:04/12/03 18:03:57 ID:tCFS4dZx
レスありがとうございます。
すみません、情報が不十分でした。

Frame1, Frame2, Frame3とFrameが3つあるページで、
Frame2とFrame3にFlashを表示させ、
なおかつそれらをFrame内横幅一杯に拡大する、
というのがしたいことです。
どうすればよろしいでしょうか。
537Name_Not_Found:04/12/03 18:09:39 ID:???
>>536
こりゃ失敬。
object要素に適当にidをつけて、
var obj = document.getElementById("id_string");
var emb = obj.getElementsByTagName("embed")[0];
としてアクセスして、それぞれのwidth/heightプロパティに目的とする幅を取得して
入れてあげれば良かろう…

と思ったが、単に <frame src="hoge.swf">としてしまうのが、一般的なUAでは早いような
気がしてならない。
538Name_Not_Found:04/12/03 18:24:59 ID:???
window.open("http://www.google.com").document とすれば
googleのページを開いてそのdocumentオブジェクトが得られると思うのですが、
なぜかアクセス拒否エラーがでてしまいます。

他のウインドウに別サイトを開いてそのオブジェクトにアクセスするにはどうしたら良いでしょうか?
539Name_Not_Found:04/12/03 18:31:08 ID:???
>>538
>>9のQ1。
540Name_Not_Found:04/12/03 18:59:27 ID:???
(´・ω・‘)ショボーン
541Name_Not_Found:04/12/03 19:37:00 ID:???
質問。

for(i=0;i<MH;i++){
    for(j=0;j<MW;j++){

という2重ループを作った。
(MH=12;MW=12;)
テストしたらバグッたため

k=i*12+j;
n=dt.charAt(k);

の記述(上のすぐ次)の次に

document.write(n);

と入れて検査したら、
本来なら144個の数字が出てこなきゃいけないのに
12個でストップしてた。
これは何故?

注:dtに入っているのはデータで、そっちはちゃんと144桁の数字が入っています。
542Name_Not_Found:04/12/03 21:33:00 ID:???
>>541
もうちょい詳しく。
エラーが出るの?
543542:04/12/03 21:40:17 ID:???
>>541
(追加)
その部分のソースをコピペしてもらえんかね。
544Name_Not_Found:04/12/04 00:57:42 ID:???
質問です。
ツリーメニューを外部ファイルにしたいんですが、どうすればいいでしょうか。
まさにこのページと同じなんですが、わかりませんでした。

ttp://chaichan.hp.infoseek.co.jp/qa4000/qa4446.htm
545Name_Not_Found:04/12/04 01:12:12 ID:???
その場に書くのも外部ファイルにするのも同じだと思うが。
同じだと思えないのなら勉強するしかないよね。がんばって。
546Name_Not_Found:04/12/04 01:26:48 ID:???
>>522,>>523 ありがとうございます。やってみます。
547Name_Not_Found:04/12/04 02:11:46 ID:???
>>541
i の 12回ループ毎に、j = 0 してないからだろ。
だいたい、
k = i * 12 + j を 144 回計算してるが、i * 12 部分は 12回(11回)で済む。
しかも、charAt とか、文字列を一々読ませると、JScript は激しく遅くなるから、
split('') して、配列にしてから処理する方が好ましい。

// charAt で JScript に文字列を 144回も繰り返し
// 読み込ませないように、配列にする。
var a = '\
633890766824505299946136414810287561520774771813283247171596767668054387\
544576869539059016671682776718032809969591167873695804406533997168743933\
'.split( '');
var i = 0;
var j = 0;
var k = 0;
var MH = 12;
var MW = 12;

while (i < MH) {

while (j < MW) {
document.write( a[ k + j]);
j++;
}

j = 0; // これを忘れていると思われる。
i++;
k = i * MH;

}
548Name_Not_Found:04/12/04 02:59:01 ID:???
>>541
追記:
何をしているのか分からないのでアレだが、144回 document.write させることもなかろうに、と、思う。
var b = new Array() とでもして、ループ内では、
b[ b.length] = a[ k + j];
という具合に配列に保持させて、ループ終了後に、
document.write( b.join( '')) とか、document.write( b.join( '<br>')) とか、
document.write( '<p>', b.join( '<\/p><p>'), '<\/p>') とか、適当に。
549Name_Not_Found:04/12/04 05:54:37 ID:???
>>541
特に問題が見当たらないんだけど、とりあえず { } の対応とかおかしくないかなぁ。とか。
var MW = 12, MH = 12;
var dt = '01234567890(中略)01234567890123';
for(var h=0; h<MH; ++h) {
  for(var w=0; w<MW; ++w) {
    var c = h * MW + w;
    document.write(dt.charAt(c));
  }
}
でちゃんと動いたし。
550Name_Not_Found:04/12/04 07:43:23 ID:EUddrWG6
>>542>>543
次のようになってます

var tx2='';
var n;
var MW=12;
var MH=12;
for(i=0;i<MH;i++){
    for(j=0;j<MW;j++){
        k=i*12+j;
        n=dt.charAt(k);
     document.write(n);
     switch(n){
    〜中略〜
        }
    }
    tx2+='<br>';
}
document.write(tx2);
551543:04/12/04 08:15:07 ID:???
>>550
起きるタイミング一緒だったんですかね。

var tx2='あ';
var i,j;
var MW=12,MH=12;
for(i=0;i<=MH;i++){
for(j=0;j<=MW;j++){
k=i*12+j;
document.write(k,"<br>");
}
}
document.write(tx2);

これで 12×12+12 つまり156までカウントしたよ。
んで最後にきっちり あ と出力された。
なのでfor文には問題ないことがわかる。
中略されてるところに問題があるのかもしれないね。
どんなことが略されてるか分からないので、とりあえず見えてる部分で確認したい。
switch文の書き方間違ってないよね?
case : ←セミコロンじゃなくコロン
そしてcase毎の最後にきちんとbreakしてあるかどうか。もちろんbreakは必須じゃないけどね。

>>547
ちゃんとjはリセットされてるじゃん。
for(初期値;解除値; でしょ。
552Name_Not_Found:04/12/04 08:47:24 ID:???
省略部分で、iかjを使ってしまっている。に1ゼニー。
553Name_Not_Found:04/12/04 10:18:57 ID:???
>>551
おおい、どこまで泥沼化するんだよ。
<MH が <=MH に変わってるじゃないか。
554Name_Not_Found:04/12/04 12:25:38 ID:???
>>551
あんた絶対向いてないよ。JavaScriptなんか触らない方がいいよ。
555Name_Not_Found:04/12/04 14:11:47 ID:EUddrWG6
>>548

144回その処理をしないといけないんです。
それでバグッたからその1文を入れたんです。

556Name_Not_Found:04/12/04 14:25:06 ID:???
>>553
あら、失礼。
けど<=を<に変えても回数が変わるだけで、他は変わらないよなぁ。

やはり中略の部分に問題があるんじゃないだろうか。
557Name_Not_Found:04/12/04 14:26:31 ID:???
>>555
お前は誰だ。
質問者ならレス番入れとけ。

それと、検査用(デバッグの為)に いちいちdocument.writeはお勧めできん。
alertにしてみ。
558Name_Not_Found:04/12/04 14:35:29 ID:???
>>550
>>552に一票。
とりあえずちゃんとループしているかチェックしてみな。

for(i=0;i<MH;i++){
  document.write(i); // i のループ回数
   for(j=0;j<MW;j++){
    document.write(j) // j のループ回数
    k=i*12+j;
    n=dt.charAt(k);
     〜中略〜
   }
  tx2+='<br>';
}
559550:04/12/04 16:47:11 ID:EUddrWG6
 var n;
 var MW=12;
 var MH=12;
 for(i=0;i<MH;i++){
     document.write(i);
     for(j=0;j<MW;j++){
         dociment.write(j);
         k=i*12+j;
         document.write(k);
         n=dt.charAt(k);
         document.writeln(n);
     }
 }

でテストしたら、「0」で終わった上、「実行しまたが、ページでエラーが発生しました。」
        _, ,_
・・・・・・・・・(゚ _゚ )
560Name_Not_Found:04/12/04 16:59:14 ID:???
>>559
> 「実行しまたが、ページでエラーが発生しました。」
その黄色い三角でもダブクリしとけ
561559:04/12/04 17:07:52 ID:EUddrWG6
ありがとうございます。

でも単純なミス・・・orz
562Name_Not_Found:04/12/04 18:31:36 ID:???
>>551 < 547 あ、j はリセットされてた。指摘ありがとう。
563Name_Not_Found:04/12/04 21:27:17 ID:???
>>561
とりあえずその「単純なミス」の内容と解決方法を書かないことには
ノウハウとして蓄積されず、何の成果もなかったことになる。
>>559でのエラーが解決されただけなのか、それとも>>550で出ていた
エラーが解決できたのか。質問者はそれなりにきちんと結果報告しないと
回答者に失礼だと思うのだが、どうか。
564Name_Not_Found:04/12/04 21:33:15 ID:???
ちょっとお前ら
武蔵応援しようぜ
565Name_Not_Found:04/12/04 23:37:56 ID:EFhF2AMI
■■■ お勧めレンタルサーバー ■■■

★あなたのHPのアドレス長くて憶えられません!

【独自ドメインでホームページを作るならここ!】

A:無難なサーバー。 お勧め!!  
 http://www.webspeed.ne.jp/  
 http://www.wadax.ne.jp/
 http://www.ktplan.ne.jp/
 http://domainya.net/
 http://www.cpi.ad.jp/  
 http://solid.ad.jp/  

B:ある程度の障害は大目に。  
 http://www.binboserver.com/
 http://s55.net/
 http://www.j-navi.com/
 http://www.wakuwaku.ne.jp/
 http://www.j-speed.net/main/
 http://www.cyberjellyfish.com/
566566:04/12/05 09:17:30 ID:???
以下のJavaScriptについての質問です。
ttp://www.sky.sannet.ne.jp/masapine/java_gazou3.html

<SCRIPT LANGUAGE="JavaScript">
<!--
function gazou(mySrc){
document.myimg.src=mySrc;
}
//-->
</SCRIPT>
<center>
<a href="JavaScript:void(0)" onMouseOver="gazou('images/icons1.gif')">sample1</a>
<a href="JavaScript:void(0)" onMouseOver="gazou('images/icons2.gif')">sample2</a>
<a href="JavaScript:void(0)" onMouseOver="gazou('images/icons3.gif')">sample3</a>
<a href="JavaScript:void(0)" onMouseOver="gazou('images/icons4.gif')">sample4</a>
<a href="JavaScript:void(0)" onMouseOver="gazou('images/icons5.gif')">sample5</a>
<br><br>
<img name="myimg" src="images/icons1.gif" border="0" width="32" height="32">
</center>

 ■ ■ ■ ■ ■
┏━━━━━━━━━━┓
┃          ┃
┃    画像    ┃
┃          ┃
┗━━━━━━━━━━┛
567566:04/12/05 09:20:00 ID:???
つづきです。

┏━━━━━━━━━━┓ ■
┃          ┃ ■
┃    画像    ┃ ■
┃          ┃ ■
┗━━━━━━━━━━┛ ■

上記のように■を横へ移動して、リンクを貼ったメニューボタンを作りたいのですが
どうしても上手くいきません。
■を横へ移動すると画像が切り替わらなくなってしましす。
どうか、良きアドバイスをお願いします。
568Name_Not_Found:04/12/05 09:55:31 ID:???
>>567
その、移動とやらをしたソースを張らないのはなぜ?
569Name_Not_Found:04/12/05 10:13:42 ID:???
>>568
まったくだ。アドバイスを拒否してるとしか思えん。
570566:04/12/05 10:52:15 ID:???
<p><SCRIPT LANGUAGE="JavaScript">
<!--
function gazou(mySrc){
document.myimg.src=mySrc;
}
//-->
</SCRIPT><center>
<table width="400" height="200" border="0" cellpadding="0" cellspacing="0">
<tr>
<th width="226" height="241" scope="col"><img name="myimg" src="Button_a/001.jpg" border="0" width="200" height="200"></th>
<th width="385" scope="col"><p align="left"><a href="JavaScript:void(0)" target="http;//xxx1.html" onMouseOver="gazou('Button_a/001.jpg')">◆aaa<br>
</a><a href="JavaScript:void(0)" target="http://xxx2.html" onMouseOver="gazou('Button_a/002.jpg')">◆bbb<br>
</a> <a href="JavaScript:void(0)" target="http://xxx3.html" onMouseOver="gazou('Button_a/003.jpg')">◆ccc<br>
</a> <a href="JavaScript:void(0)" target="http://xxx4.html" onMouseOver="gazou('Button_a/004.jpg')">◆ddd<br>
</a> <a href="JavaScript:void(0)" target="http://xxx5.html" onMouseOver="gazou('Button_a/005.jpg')">◆eee<br>
</a> <a href="JavaScript:void(0)" target="http://xxx.html" onMouseOver="gazou('Button_a/006.jpg')">◆fff<br>
</a> <a href="JavaScript:void(0)" target="http://xxx7.html" onMouseOver="gazou('Button_a/007.jpg')">◆ggg<br>
</a> <a href="JavaScript:void(0)" target="http://xxx8.html" onMouseOver="gazou('Button_a/008.jpg')">◆hhh<br>
</a> <a href="JavaScript:void(0)" target="http://xxx9.html" onMouseOver="gazou('Button_a/009.jpg')">◆iii<br>
</a> <a href="JavaScript:void(0)" target="http://xxx10.html" onMouseOver="gazou('Button_a/010.jpg')">◆ jjj </a></p>
</th>
</tr>
</table>
<p> </p>
</center>
571566:04/12/05 10:52:58 ID:???
>>568-569
すみません。こんな感じで汚いですが、よろしくお願いします。
572Name_Not_Found:04/12/05 11:10:20 ID:???
>>566 javascriptの前にHTMLを勉強しろ。
573572:04/12/05 11:17:50 ID:???
ほれ
<SCRIPT LANGUAGE="JavaScript"><!--
function gazou(mySrc){
document.myimg.src=mySrc;
} //-->
</SCRIPT>
<table width="300" height="240" border="0" cellpadding="5" cellspacing="0" align="center">
<tr>
<td width="240">
<img name="myimg" src="Button_a/001.jpg" border="0" width="200" height="200">
</td>
<td width="60" align="left">
<a href="xxx1.html" onMouseOver="gazou('Button_a/001.jpg')">◆aaa</a><br>
<a href="xxx2.html" onMouseOver="gazou('Button_a/002.jpg')">◆bbb</a><br>
<a href="xxx10.html" onMouseOver="gazou('Button_a/010.jpg')">◆jjj</a>
</td>
</tr>
</table>
574Name_Not_Found:04/12/05 11:27:50 ID:???
>>573
572からの流れで、ドラえもんの映画でのジャイアンを思い出したよ。
575566:04/12/05 11:29:03 ID:???
>>572-573
勉強不足で申し訳ありません。
それなのにソースまで貼って頂き、大変感謝しております。
ありがとう御座いました。
576Name_Not_Found:04/12/05 13:37:17 ID:XSkI0HFP
以下のような状態のとき、
 document.status.target.value=1
は出来るのですが
 「ひろゆき」を「ひろゆきちゃん」
に変更する方法を教えてください

<select name="target">
<option value=0>にちゃんねる
<option value=1>ひろゆき
<option value=2>その他
</select>
577Name_Not_Found:04/12/05 13:58:35 ID:50MMb84n
>>566-575 スレ違いは無視するか他スレに誘導だけしてやれ。
>>576 document[ 'status'][ 'target'][ 1].text = 'ひろゆきちゃん'
578 :04/12/05 23:16:39 ID:IB5qm0X8
windowのheightとwidthはどうやって得るの?Openするときは指定できるのは分かるんだけど。
579Name_Not_Found:04/12/05 23:36:59 ID:???
過去スレに何十回も出ている。
580Name_Not_Found:04/12/06 07:48:43 ID:MPMbSERF
ウィンドウサイズがらみの書き込みは何度もでていますが、どうもわかりません。
winXPだとデフォで拒否られてしまうので使えないと思っていたのですが、
たまにちゃんと固定で出してるサイトがあります。
これなら大丈夫っていうフォーマットってあるの?

581Name_Not_Found:04/12/06 08:20:06 ID:???
調べるのが面倒だからって適当なこと言ってんじゃねーよ
582Name_Not_Found:04/12/06 08:20:46 ID:???
>>580
取得する話じゃないじゃん。ふつーは window.reseizeBy(幅の差, 高さの差)
とかでしょ。それじゃだめなの。
583Name_Not_Found:04/12/06 12:09:58 ID:???
クリックすると左上に小さいウィンドウが出るようにするのって
どうやるんですか?ちょっとしたお知らせを載せたいので。
584Name_Not_Found:04/12/06 12:38:47 ID:???
>>583
window.open
つか、>>1-10を嫁よ。
585Name_Not_Found:04/12/06 21:01:00 ID:Utm2V8F5
focus()メソッドでフォーカスを持つ要素を変更することができますが、
逆に現在フォーカスを持っている要素を知る方法はありますか?
586Name_Not_Found:04/12/06 22:31:42 ID:???
各要素にonFocus持たせて、現在フォーカスを持っている要素を
どこかで保持しておくとかじゃダメ?
587Name_Not_Found:04/12/06 22:38:04 ID:???
>>585
全ての要素にアクセスして、onfocus=function(){ return this; }とするか…
…って書くと、アタッチイベントを使え!って怒られそうだな。
588Name_Not_Found:04/12/06 23:25:39 ID:???
>>587 //return this?
何を相手にしてるの、ってことなんだよね。
スクリプト有効で徘徊してるNN4なんてかなり珍しいし、
初期の MacIE5 は、= function で落ちると聞くし。
var currentFocusedElement;
while ( ...) {
element.onfocus = function () {
currentFocusedElement = this;
}}
なんてのが問題無く使えるブラウザのほぼ 100% が
DOM2 寄りのイベントモデル実装してるわけで。
例えば、onload のような使用率の高いイベントにおいて顕著だが、
見知らぬ誰かのスクリプトで上書きされても使用者(コピペな人)は気付かない。
addEventListener, attachEvent を使っていれば、そんな下らない問題は起こらない。

>>585
IE なら、document.activeElement
http://www.microsoft.com/japan/msdn/library/ja/jpisdk/dhtml/references/properties/activeElement.asp
// 最近1ヶ月以内にこのスレまたは前スレで答えた記憶がある。
589Name_Not_Found:04/12/06 23:36:05 ID:ryF690cP
初めまして、掲示板に来られる方にアドバイスいただければと思い、書き込みをいたします。

HTML-aのファイルから、window.openを使用して新しいウィンドウを開きます。その際に、アンカー指定を含んだURLを受け渡したいと思っています(http://www.aaa.com#topなど)
アンカー以下(#top)を引き継ぐために、escape、unescapeを使用していますが、こちらは技術上、セキュリティ上問題ありますでしょうか。

encodeURI, encodeURIComponentとの違いがいまいちわかりません…。初歩的な質問だと思いますが、どなたがご教授いただけると助かります。

よろしくお願いいたします。

関連リンク:http://www.felix.jp/~yugo/js/guide/escape.html
590Name_Not_Found:04/12/07 00:45:39 ID:???
>>585 Mozilla で IE を真似ると次の様になる。細部の詰めは自力でやってくれ。

addEventListener( 'load', function () {

var it = document.createTreeWalker(
document.body,
NodeFilter.SHOW_ELEMENT,
function (n) {
if (/^(?:A|AREA|BUTTON|INPUT|SELECT|TEXTAREA)$/.test( n.nodeName))
return NodeFilter.FILTER_ACCEPT;
return NodeFilter.FILTER_SKIP;
}, false);

var c;

document.activeElement = document.documentElement;

addEventListener( 'focus', function (e) {
document.activeElement = document.documentElement;
}, false);

while (null != (c = it.nextNode()))
c.addEventListener( 'focus', function (e) {
e.stopPropagation();
document.activeElement = e.currentTarget;
}, false);

}, false);
591527:04/12/07 10:53:09 ID:???
>>528 >>530ありがとうです。参考にして見ます。
592Name_Not_Found:04/12/07 14:47:43 ID:gNZUdhyR
お知恵を拝借させてください。
あるテキストボックスに文字列をいれたいのです。
入るべき文字列は、別のWEBサーバにアクセスしないとわかりません。
よって、JavaScriptでHTTPリクエストを発行して文字列を取得したいのですが、そういうことって可能でしょうか?
CGIで処理してから…という案もあるのですが現状だとスクリプトで処理できた方が工期が縮まりそうなので。

よろしくお願いします。
593 :04/12/07 15:54:03 ID:lxp0pVpk
英語辞書ソフトでIEで表示されてる英語ページの中の英単語の上でCTRL+右クリックしたら辞書から検索してくれるのがあるんだけど、
これと同じようなことJavaScriptで右クリックした位置の単語を知ることできますか?
document.elementFromPointメソッドを使えばエレメントは得られるけど、エレメントのテキスト(ノード)のマウス下の単語を正確に知りたいんです。
IE依存でいいんですけど。
594Name_Not_Found:04/12/07 16:13:34 ID:???
>>593
こんな感じじゃだめ?
とりあえず動作確認の意味も込めてアラートにしてある。

<script language="JavaScript"><!--
  var out="";
  function aaa(ABC){
    out=ABC;
  }
  function bbb(){
    alert(out);
  }
--></script>
</head>
<body oncontextmenu="bbb();return false;">
<div id="tango1" onmouseover="aaa(this.innerText)" onmouseout="aaa('')">あああ</div>
<div id="tango2" onmouseover="aaa(this.innerText)" onmouseout="aaa('')">goodjob</div>
</body>
595Name_Not_Found:04/12/07 16:31:26 ID:???
>>593
document.oncontextmenu=function(){
var rng = document.body.createTextRange();
rng.moveToPoint(window.event.x, window.event.y);
rng.expand("word");
alert( rng.text );
return false;
}
596594:04/12/07 17:12:56 ID:???
>>595
すげーシンプルで出来るんですね。
見習って精進しますわ。
597593:04/12/07 17:26:55 ID:ajUndyO6
>>594 >>595
どうもありがとう。感謝。
JavaScriptってすごいな。
JavaScriptを勉強し始めて間もないけど、できるとは思わなかった。
IEの内部にアクセスするためにComやWindowsのメッセージフックを勉強しなくちゃいけないのかと思った。
特に595には感動した。
598Name_Not_Found:04/12/07 18:02:06 ID:uL1u5B1X
こんにちは。JSPとJavaScriptで↓のように一度得た値をJavaScriptに飛ばして、その値を持って次のページに飛べるようにしたいのですが、うまくいきません。 何処が悪いのでしょうか?
<head>
<script language="JavaScript" charset="SHIFT_JIS">
<!--
function clickButtonShousai(butMM,i,A,B,C,D,E){
document.form1.i.value = i;
document.form1.A.value = A;
document.form1.B.value = B;
document.form1.C.value = C;
document.form1.D.value = D;
document.form1.E.value = E;
document.form1.butMM.value = butMM;
document.form1.submit();
}
//-->
</script>
</head>
<body>
<%for (int i=0;i<5;i++) {%>
<input type="button" name="Shousai" value="詳細" onclick="clickButtonShousai('詳細','<%=i%>','A','B','C','D','E');">
<%}%>
<form name="form1" method="POST" action="NEXTJSP">
<input type="hidden" name="i" value="">
<input type="hidden" name="A" value="">
<input type="hidden" name="B" value="">
<input type="hidden" name="C" value="">
<input type="hidden" name="D" value="">
<input type="hidden" name="E" value="">
<input type="hidden" name="butMM" value="">
</form>
</body>
599559:04/12/07 18:18:25 ID:???
>>563御免なさい。
えーと、確かtxを初期化したら一発で直ったような・・・
600Name_Not_Found:04/12/07 18:33:48 ID:???
右クリック無効を無効にするっていうので

javascript:d=document;
d.all.tags('BODY')(0).oncontextmenu =
d.onmousedown =
d.onmouseup =
d.onkeydown = 'return true';void(0);

これを見つけたんだけどできないよね?
601Name_Not_Found:04/12/07 19:13:40 ID:???
中途半端なコピーだなあ。
602Name_Not_Found:04/12/07 19:51:06 ID:???
>>595
自己流に陥らないよう、説明書に書いてある通りに書くことは
とても重要な事だが、何処を参考にして書いたのかを明記しなければならない。
http://www.microsoft.com/japan/msdn/library/ja/jpisdk/dhtml/references/methods/moveToPoint.asp
603Name_Not_Found:04/12/07 20:03:03 ID:???
>>602
なんで?
604Name_Not_Found:04/12/07 20:10:38 ID:???
また変なのが降ってきたな
605Name_Not_Found:04/12/07 20:27:00 ID:???
>>603
本を(読んだ|書いた)ことがあるか?
何のために巻末に参考文献として、その本を書くために著者が目を通したリソース群が明記してあるのか。
逆に、明記してなかったらどんな問題が起こるのか。時には出来の悪い頭を使って考えてみろ。

>>600
function foo ( ...) { ...}

その書き方で無効に出来る例
<body oncontextmenu="foo( ...);">
document.oncontextmenu = function () { ...}
document.oncontextmenu = foo;

別の書き方で無効に出来る例
document.attachEvent( 'oncontextmenu', foo);
→ document.detachEvent( 'oncontextmenu', foo);

無効に出来ない例
document.attachEvent( 'oncontextmenu', function (e) { ...});
606Name_Not_Found:04/12/07 20:39:43 ID:???
ごめん、603じゃないけど、できの悪い頭使っても分からないことが。
>>605レベルの場合はリソース群の明記が必要ないってことだよね。
どの程度まで元のものと違えば、あるいは抜粋量がどの程度であれば必要ないんだろう。
そのあたりの目安ってあるの? 内容を覚えてても出所を忘れてたら明記不要?
>>595の場合は質問者の要求事項を満たしているので、参考として勉強を促すためか、
あるいは参考元からの著作権その他の問題が起こる可能性といった問題を指しているんだろうけど、
MSDNではあらゆるドキュメントに対して複製や他のネットワークリソース上での表示を禁止
しているので、ダメってことになる? それともリソース明記すればOK?
マイクロソフトに聞けばいいんだろうけど、>>602,>>605を見る限りリソース書けばいいだけってことにも
見えるけど、その根拠は? スレ違いながら、今後もスクリプト自体は多く出てくるので聞いておきたい。
607Name_Not_Found:04/12/07 20:55:07 ID:???
回答するときは自分が勉強した本やサイトを明記すればいいだけだろ
そんなこともできないんならそもそも回答者の資格無しってこった
608Name_Not_Found:04/12/07 20:58:52 ID:???
関係ないけどNAOシフト思い出したw

>>607
メンド臭いから >>1-10 って書いときゃいいかな?
609Name_Not_Found:04/12/07 21:06:38 ID:???
ぉぃぉぃ、回答するのに資格いるってよ、やべぇよ
610Name_Not_Found:04/12/07 21:15:41 ID:???
>>609
自己弁護ウザイ

>>606
ごちゃごちゃ言っているつもりはないが、いくら何でもそこにある例文のコピペは無意味だと思うが。

// 私はどの法に対しても全く知識が無いし、仮に知識があったとしても、
// 著作権がどうのという話題に参加したいとは思わない。

伝言ゲームのようなことは避けなければならないと経験的に思っている。
ttp://ore.dyndns.org/web/limit.html
で指摘されているような問題は、WWW上の全員がリソースを明記することで
防げるような気がする。それは現実には不可能だが、2chのスレ単位なら不可能ではない。
Apache 同様、J(ava)Script にも、カノニカルで分かり易い説明書が揃っているわけで。
611Name_Not_Found:04/12/07 21:30:00 ID:???
コピペして回答するくらいなら
アドレス書いとけということでFA?
612Name_Not_Found:04/12/07 22:01:36 ID:???
つーことは、結局ググればなんとかなっちゃうってこと?
じゃあ、>>1

ググれ。

とだけ書いておくスレになっちゃうじゃんね。
>>607
そんなん、いちいち覚えてないよ、普通。本書いている訳じゃあるまいし。
何となーく質問して、何となーく答える人がいて、
で、いちいち面倒な手続き省いて適当に書き込めるからなりたってんじゃん、このスレ。
頭かたすぎ。
613Name_Not_Found:04/12/07 22:06:17 ID:???
つーか>>602のページだって何処を参考にして書いたのかなんざ書いてねーだろ
614Name_Not_Found:04/12/07 22:19:09 ID:???
志がご立派なのは結構だがここ2chなんすけど?って感じだな。
615Name_Not_Found:04/12/07 22:26:49 ID:???
まあ、質問する方も答える方も、空気読もうねってことで。






気を取り直して、次、ドゾー
616Name_Not_Found:04/12/07 22:37:53 ID:???
>>605
できません・・
エラーはなにも出ないのですが実行しても何も変わらずです・・

もう少し詳しく教えて頂けますか?
617Name_Not_Found:04/12/07 22:45:05 ID:???
当方ガノタなんですが、旧シャア板の質問スレには

【回答者の心得】
正確さを欠く回答があっても煽らずに冷静に補足してあげましょう
回答を出すのにレスを多く使いそうな質問は適切なスレに誘導してあげましょう
あくまで質問に対する回答なので、議論厨・考察厨は別にスレ立ててオナって下さい邪魔です。

というのがある。このスレも、次スレ以降いかがか。
618Name_Not_Found:04/12/07 22:59:48 ID:???
そしてこの流れでカレイにスルーされる>>598であった…
619Name_Not_Found:04/12/07 23:21:08 ID:???
JScriptですが.
ファイルをローカルで開かれたHTMLのパスと同じフォルダに保存したいのですが
開かれたHTMLのパスの取得方法がわかりません..

どなたか教えてください。お願いします。
620606:04/12/08 00:30:35 ID:???
>>610
そういうことか、ありがとう。
ただ、せっかくの質問用スレなので必要最低限のことはここの回答だけで分かるようにしてあげたい。
より詳細な解説を求めるなら参考ページがあるのなら載せるという感覚でいいかな。
それも回答者の裁量次第だろうし。あんまり深く掘り下げることではなかったね、ごめん。

>>618
エラー内容がよく分かんないし・・・
つか、inputを5個並べてるのはformで囲わなくてもいいのかな、まあ動くか。

>>619
JScriptでファイルの保存ということはHTA?
起動時なら (HTAのID).commandLine
で取得できるけど、ダブルクォーテーションに注意ね。
アドレス取得でよければ location.href に格納されてる。
[参考]
<HTA:APPLICATION ID="htaID" />
<html>
<body>
<script language="JScript" charset="SHIFT_JIS">
alert(htaID.commandLine);
alert(location.href);
</script>
</body>
</html>
621619:04/12/08 00:47:36 ID:???
>>620
location.hrefで無事取得できました。有難う御座います。
HTAではないです。警告がウザイですがhtmlでないと駄目なんで..
622Name_Not_Found:04/12/08 01:49:25 ID:6fW68bbl
JavaScript(と、一応PHP4です)下記のような制御をしてるのですが、<td></td>が100個くらいあるため、
それをハードコーディングするのはきついなぁと思ってます。
自分が考えつくのは、phpの側で、<td>につけるcssとjavascriptは交代交代の2種類しかないので、
phpの側で2つの変数に格納して、それを<?php print $cssjs1;?>のようにやってしまう方法なのですが。。。

ただ、クライアントに送られるhtmlソースとしては、ハードコーディングなので気もち悪いきもします。。。

この辺の処理って、なんかJSだけでスマートにコーディングできないですかねー・・・

(↓見やすさの問題で、全角スペースでインデントしてます)
-------------------------------------------------------------
<table border="1">
<tr><td bgcolor="#f5f5f5"
  style="cursor:hand"
  onclick="window.location.href='/?bid=1'"
  onmouseover="this.style.backgroundColor='#ffdddd'"
  onmouseout="this.style.backgroundColor='#f5f5f5'">あああ
</td></tr>
<tr><td bgcolor="#fafafa"
  style="cursor:hand"
  onclick="window.location.href='/?bid=2'"
  onmouseover="this.style.backgroundColor='#ffdddd'"
  onmouseout="this.style.backgroundColor='#fafafa'">あああ
 </td></tr>
・・・以下略
</table>
623Name_Not_Found:04/12/08 02:37:44 ID:???
>>598
なにがどううまくいかないんだ?コードを見る限りは間違いは無いように見えるんだが。
ループの部分をHTML に直した状態で、テストした(WinIE6, Firefox/1.0で確認)。何も問題無く動作したぞ。
JSP のソースコードを直す方がいいんじゃないか?
624Name_Not_Found:04/12/08 03:35:32 ID:???
>>622
ちょっと寝ぼけ気味なので変な事言ったらすまん。
ようするにセルのbgcolorと、クリックしたときの動作、マウスアウトさせたときの動作が2種類あって、
それを交互に100個以上配置したいってこと?
625Name_Not_Found:04/12/08 03:42:49 ID:???
>>622
for ( i=0 ; i < (100個くらい) ; i++) {
 document.write(2種類の内容);
}

そういう意味でなく、見苦しさだけを解決したいならスレ違いだがcssのセレクタで充分じゃなかろうか。
626Name_Not_Found:04/12/08 04:09:38 ID:???
>>616
お前は何がしたいんだ
627Name_Not_Found:04/12/08 08:23:04 ID:???
>>622
絶対やめた方がいい。JS OFFの人もいるんだから。PHPで全部展開
して送るのが結局は吉。
628Name_Not_Found:04/12/08 08:52:01 ID:???
>>622
迷うくらいなら100個書け。
629Name_Not_Found:04/12/08 10:13:15 ID:???
神経衰弱のゲームで終了するとダイアログが開いて(alert)
you did it in 3:20!
とか表示されるのですが、

その文章はこんな感じですが
alert('You did it in '+document.f.b.value+' !');

これでOKを押したら「webに書き込む?」
というダイアログが出てきて、OKを押すと
その得点を例えば http:/12345.456.com/cgi-bin/789.cgi
に送らせるにはどうしたら良いでしょうか?
630Name_Not_Found:04/12/08 10:39:31 ID:???
>>629
・alertの代わりにpromptを使ってYES/NOを取得する。
・隠しフォームを作ってそのフォームのacitonを送りたいCGIにしておく。
・YESだったら隠しフォームにデータを埋めてフォームを送信する。
631629:04/12/08 11:03:15 ID:???
ありがとうございます。

実例から学んでみたいのです。

そのような書き方をしているwebページご存じないでしょうか?

webの見栄えをよくする小技集を教えてくれるサイトは
見つかるのですがcgiの埋め込みの書き方とかなかなか参考にはなりません。

得点ランキング 等で検索してもなかなかヒットしなくて、
知っていたら教えて下さい。
632598:04/12/08 11:49:11 ID:8FN4Dabv
>>623さんのアドバイス通り原因はめっさ違うところでした・・・。
ご迷惑をお掛けしました。
633Name_Not_Found:04/12/08 12:37:08 ID:???
>>631
何が「実例から学ぶ」だ、あとはただ書くだけだろ。1行も
書けないくせにカッコだけつけてるのがミエミエだな。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var n = Math.floor(Math.random()*100);
if(confirm('value=' + n + ', submit?')) {
document.forms.f0.elements.i0.value = n; document.forms.f0.submit();
}
}
</script>
</head><body>
<form method="get" action="#" name="f0">
<input name="i0" type="hidden"></form>
<p><a href="javascript:test()">test</a></p>
</body></html>
634Name_Not_Found:04/12/08 16:02:33 ID:eyeRYZLl
<a href="test.cgi?pass=$pass">TEST</a>
例えば、上記の様にHP上でリンクから値を引き回すとURLに
http://www.*****.com/cgi-bin/test.cgi?pass=***
の様に値が表示されてしまうのはどの様にして回避すればよいですか?
すべてsubmitボタンにしてhiddenにするわけにもいかないので。
635Name_Not_Found:04/12/08 16:16:47 ID:???
>>634
すぐ消えればいいのなら、test.cgi の側で「?」以下がついていれば
ただちに「?」なしのURLにlocation.replace()するとかでどうかな。
それが嫌でsubmitボタンも嫌なら >>633 みたいに隠しフォームに
パラメタ設定してsubmit()するJavaScriptコードを
<a href="..." onclick="test('test.cgi?$pass')">test</a>
みたいに埋め込むんでしょうかね。
636Name_Not_Found:04/12/08 16:26:42 ID:eyeRYZLl
>>635
回答ありがとうございます。
そうですね。635氏の言う後者よりもURLの"?"以下の記述が見えないようになる方が
よさそうですが、
>すぐ消えればいいのなら
というのは、瞬間的にURL項目に表示されてしまうということでしょうか?
637Name_Not_Found:04/12/08 16:28:57 ID:???
(´-`).。oO(リンクにカーソル合わせればバレるがいいのか・・・?)
638Name_Not_Found:04/12/08 16:32:17 ID:eyeRYZLl
>>637
禿藁!
スイマセン・・・質問者の立場にも関わらず思わず爆笑してしまいました。
そうですか、それはマズいですね・・・。
うまく値が見えないように引き回す方法はないですかねぇ・・・。
639Name_Not_Found:04/12/08 17:21:30 ID:???
>>638
ということは、>>635でonclick側にだけパスワード書く(href側には
JavaScript ONにしろというページに飛ばすリンクを書く)のかな。
640Name_Not_Found:04/12/08 17:24:59 ID:???
>>634
マルチしてんじゃねーよ
641Name_Not_Found:04/12/08 19:11:27 ID:EtDo60DE
<input type=button value=100>
とした時に、上のボタンを押したらテキストフィールドに
100を入力するようにするにはどうしたらいいんでしょうか?
642Name_Not_Found:04/12/08 19:28:47 ID:???
テキストフィールド.value = 100
643Name_Not_Found:04/12/08 19:44:23 ID:???
>>641
<input type=... value=...
onclick="document.forms.フォーム名.elements.フィールド名.value = '100'">
644Name_Not_Found:04/12/08 21:41:49 ID:???
>>633
SCRIPT 要素の内容にスクリプトを書く場合は、コメントアウトしてくれ。
i-mode その他では延々と CSS 要素内容や SCRIPT 要素内容が表示される。
無駄な料金が発生するのは気分悪いものだ。
645Name_Not_Found:04/12/08 21:59:40 ID:???
コメントアウトすれば料金は発生しないのかそうなのか。
646Name_Not_Found:04/12/08 23:11:25 ID:???
>>645
そうですが何か?
647Name_Not_Found:04/12/08 23:16:40 ID:???
じゃあ、コメントアウトするのやめよw
648Name_Not_Found:04/12/09 01:03:55 ID:???
>>646
ドコモの鯖がhtmlをパースしている、ってこと?
649Name_Not_Found:04/12/09 01:07:43 ID:???
まじで!!始めて知った
650Name_Not_Found:04/12/09 01:12:12 ID:???
コメントとかメタ要素とかその辺は切りとばす、くらいかな?
それとも、全部パースしてrtfみたいなカタチにして端末に送っているの?
教えて >>646
651Name_Not_Found:04/12/09 10:50:05 ID:cQFsBEE+
document.createElement() と setAttribute() を使って、<IFRAME>を動的に生成しているんですが、
IE6ではframeborderの設定がうまくいきません。(NN7.1ではOK。)
JavaScriptではなくHTMLを直接書くときはOKなんですが…
調べてみたら、以下のような結果になりました。

JavaScriptのとき
scrolling    //IE:OK NN:OK
frameborder  //IE:NG NN:OK
width      //IE:OK NN:OK
height     //IE:OK NN:OK
hspace     //IE:OK NN:NG
vspace     //IE:OK NN:NG
marginheight //IE:NG NN:OK
marginwidth  //IE:NG NN:OK

HTML直接のとき
scrolling    //IE:OK NN:OK
frameborde  //IE:OK NN:OK
width      //IE:OK NN:OK
height     //IE:OK NN:OK
hspace     //IE:OK NN:NG
vspace     //IE:OK NN:NG
marginheight //IE:OK NN:OK
marginwidth  //IE:OK NN:OK

IE6はHTML直とJavaScriptで違いがありますが、NN7.1はJavaScriptだろうが、HTMLだろうが、
ダメなもんはダメなようです。

これはIE6の仕様だと思って諦めるしかないんでしょうか?
652Name_Not_Found:04/12/09 11:28:42 ID:???
>>651
setAttributeを使わずに
オブジェクト.frameBorder, オブジェクト.marginHeight,
オブジェクト.marginWidthを直接セットしたらどうか試行キボン。
あとsetAttributeでも指定する文字列の大文字小文字を上記の
ものに合わせた場合どうかもね。
653Name_Not_Found:04/12/09 11:42:52 ID:???
>>651
hspace, vspaceはHTML 4で定義されてない属性だからN7は
サポートしてない。もともとIE専な属性ってことでしょ。
654Name_Not_Found:04/12/09 11:59:14 ID:cQFsBEE+
>>652
ぐぎゃーーーー!! できた!!
setAttribute()で"frameBorder"、"marginHeight"、"marginWidth" とやったらOK!
藻前は偉いですね。アリガd。

>>653
あっそ。
655Name_Not_Found:04/12/09 12:10:41 ID:cQFsBEE+
>>652
オブジェクト.frameBorder, オブジェクト.marginHeight, オブジェクト.marginWidth に
直接セットするのもやってみたところ、うまくいきました。
これは当然ながら大文字小文字を区別していました。
でも、全部小文字でもエラーにならないという…
656Name_Not_Found:04/12/09 12:26:45 ID:???
>>655
エラーになるわけないじゃん。新しいプロパティを追加設定
するのはいつでもできるわけで。しかし結局ある意味IEのバグだね。
657Name_Not_Found:04/12/09 12:41:25 ID:???
>>656
setAttributeじゃなくて、直接代入のことかと。
658Name_Not_Found:04/12/09 12:57:25 ID:???
>>657
もちろん、直接代入がエラーにならないのはJavaScript的に当然
という話をしてるんでしょ。
659Name_Not_Found:04/12/09 13:22:29 ID:yx4ZzVRh
<script language="JavaScript"><!--
a=100;
document.write("<input type=button value=a>")
// --></script>
↑のように書くとボタンの名前がaとなってしまいます。
ボタンの名前を上のaに入れた数にするには、valueの値を
どう書けばよいのでしょうか?
660Name_Not_Found:04/12/09 13:34:38 ID:???
<script language="JavaScript"><!--
a=100;
document.write("<input type=button value="+a+">")
// --></script>
661659:04/12/09 14:03:28 ID:???
>>660
即レス感謝です
662Name_Not_Found:04/12/09 14:11:01 ID:???
form タグの target属性を指定してsubmit()後の結果を別ウィンドウで出したんですが,
ここで出てくる別ウィンドウのサイズやバーの有無等をwindow.open同様にコントロール
することは可能ですか?
663Name_Not_Found:04/12/09 14:23:19 ID:???
>>662
いいえ
664Name_Not_Found:04/12/09 14:26:39 ID:???
>>663
そうですか...
ありがとうございました.
665Name_Not_Found:04/12/09 14:29:32 ID:???
親ウインドからiframeの横スクロールバーだけを消したいのですが、
下のスクリプトから先へ進めません・・・

<script Language="JavaScript"><!--
function hideScrollBar()
{
document.body.style.overflowY = "hidden";
}
// --></script>
<body onLoad="hideScrollBar()">

これでbody内の横スクロールバーを消せますが、
iframeの指定の仕方がわかりません。
666Name_Not_Found:04/12/09 14:37:59 ID:???
質問します。
JavaScriptでテンプレートっぽい機能を使いたいと、以下のコードを書いたんですが
思ったとおりに動きません。どこが間違ってるんでしょうか。

ary = new Array();
ary["test"] = 'テスト';
ary["exam"] = 'イグザム';
str = '@test... @test... @exam...';

//str = str.replace(/@([a-zA-Z][a-zA-Z0-9]*)/g, "$1 and $1"); //(1) こっちはいける
str = str.replace(/@([a-zA-Z][a-zA-Z0-9]*)/g, ary["$1"]); //(2) こっちはダメ
newWin = window.open();
newWin.document.write(str);

(1)の方は"test and test... test and test... exam and exam..."とちゃんと置換されるので
正規表現じたいは間違ってないと思うんですが、
(2)の方はundefinedになってしまいます。配列添字の渡し方が良くないのでしょうか。
でも、(2)の添字の""をのぞくとエラーになっちゃうんですよね。
667Name_Not_Found:04/12/09 17:20:31 ID:???
>>665
window.frames.フレーム名.document.body.style.overflowY = 'hidden';
>>666
$1だの$2だの使うのをやめれ。
str = str.replace(/.../g, function(s, s1) { return ary[s1]; });
試してないけどね。
668Name_Not_Found:04/12/09 19:52:17 ID:???
>>667
できました! ありがとうございます。意図した通り"テスト... テスト... イグザム..."に
置換されました。

いやー前方参照ってこんな風にもできるんだ。しかも無名関数(?)も使えるとは。
JavaScriptあなどりがたし。
$1とかの書き方は古い書き方みたいですね。>>4の資料を調べてみます。
669Name_Not_Found:04/12/09 22:41:00 ID:???
> $1とかの書き方は古い書き方みたいですね。
んなこたあない。

どーでもいいが、同じような内容なのに見出しが違うドキュメント
後方参照
http://www.microsoft.com/japan/msdn/library/ja/script56/html/js56reconbackreferences.asp
前方参照
http://www.microsoft.com/japan/msdn/library/ja/jscript7/html/jsreconbackreferences.asp
Google
正規表現 後方参照 の検索結果 約 5,560 件
正規表現 前方参照 の検索結果 約 3,810 件
670Name_Not_Found:04/12/10 00:44:52 ID:???
$1、$2等は単純な置換の参照ならいいけど、今回みたいに
グループに入った文字列をキーとして表を引くだとか加工を
するには非力。だからreplace()の第2パラメタに関数を指定
する方法を覚えておくと絶対にいいと思うよ。関数ならその
中でどんな加工でも自由にできるわけだしね。
671Name_Not_Found:04/12/10 02:37:15 ID:???
>>662
送信する前にウィンドウサイズやバーの有無を指定したウィンドウを開いておけば。

<form ... target="..." onsubmit="window.open('', this.target, 'width=200, height=200');">

IE6 SP2、TBE無効のFirefox 1.0ではうまくいった。
(TBEを有効にすると空白タブと送信結果の2つのタブが新たに作成された。)

>>665
何で素直にフレーム内に表示される文書に対してCSSで

body { overflow-y: hidden; }

としておかないんだ?
こっちのほうが読み込み中のスクロールバー表示も防止できるだろうしよさそうに思えるんだが。
まあ親ウィンドウから操作しないといけない理由があるのなら仕方ないだろうが。
672Name_Not_Found:04/12/10 11:15:02 ID:U+IE1SPS
質問です。
フォームを作成しているのですが、チェックボックスで選択された値を
テキストフィールドに自動入力させたいです。
複数チェックにも応じて、テキストフィールドに追加していければ尚
嬉しいのですが・・・。
教えて下さい。
673Name_Not_Found:04/12/10 11:17:13 ID:???
>>672
checkboxのonchangeでONになった場合テキストフィールド
に対応する文字列を追加する。まんまやんけ。それ以上説明
しようがないがな。(全部書いてくれとかは勘弁ね。)
674Name_Not_Found:04/12/10 11:42:25 ID:U+IE1SPS
>>673 サン
レスどもです。
onchangeすら解からなかったので検索したんですが、それらしい例が出てこず・・・。
(泣)
675Name_Not_Found:04/12/10 13:32:49 ID:???
>>672
http://www.openspc2.org/reibun/javascript/form_checkbox/010/index.html
これを改造するのがわかりやすいかな。

>>673
チェックボックスにonChangeはない。
676Name_Not_Found:04/12/10 13:41:54 ID:ourSiEb+
実在した選手(江川等)からヒットを打つゲームで、
コースと球種を予測して、振るコース等も考えるJAVA(CGIだったかも)ゲームを昔に見ました。
詳細が知りたいのですが思い出せません。なにか、ご存知の方はいますでしょうか?
677Name_Not_Found:04/12/10 13:49:41 ID:IJMpoLut
>>675 サン
レスどもです。
なるほど。改造の知識が無いので難しそうですが、研究してみます。

ちなみに、今の所別のサンプルを元に

<SCRIPT LANGUAGE="JavaScript">
function check(checkbox) {
form = checkbox.form;
form.val.value = checkbox.value;
}
</SCRIPT>

<FORM METHOD="POST">
<INPUT TYPE="checkbox" VALUE="い" onclick="check(this)">い<BR>
<INPUT TYPE="checkbox" VALUE="ろ" onclick="check(this)">ろ<BR>
<INPUT TYPE="checkbox" VALUE="は" onclick="check(this)">は<BR>
<INPUT NAME="val" SIZE="10">
</FORM>

ここまで出来たのですが、テキストフィールドに「い ろ は」と
連続して複数表示可能にしたいです。
どなたか教えて下さいッ。
678Name_Not_Found:04/12/10 14:02:13 ID:???
>>677
チェックする順番とかによって入力される値はどうするんだ?
チェックが外されたときは?
679Name_Not_Found:04/12/10 14:04:35 ID:IJMpoLut
>>678 サン
チェックされる順番に関しては気にしません。
チェックを外した時にはフィールドの表示も消したいですが、分からなかったです。
ラジオボタンでも良いのですが、複数チェック=チェックボックス的なイメージが
ありましたので、とりあえずチェックボックスにしてました・・・。
680Name_Not_Found:04/12/10 15:04:38 ID:???
>>679
<html>
<head>
<title>チェックするとテキストフィールドが有効、チェックオフにするとテキストフィールド内容を消去する</title>
<script Language="JavaScript">
<!--
function check(checkbox) {
 if(checkbox.checked){
  document.hoge.val.value += checkbox.value;
 }else{
  document.hoge.val.value = document.hoge.val.value.replace(checkbox.value, "");
 }
}
// -->
</script>
</head>
<body>
<FORM NAME="hoge">
<INPUT TYPE="checkbox" VALUE="い" onClick="check(this)">い<BR>
<INPUT TYPE="checkbox" VALUE="ろ" onClick="check(this)">ろ<BR>
<INPUT TYPE="checkbox" VALUE="は" onClick="check(this)">は<BR>
<INPUT NAME="val" SIZE="10">
</FORM>
</body>
</html>
681Name_Not_Found:04/12/10 15:27:50 ID:IJMpoLut
>>680 サン
凄い!!感激です。目指していた物はこれです。
親切に書いて頂きまして有難う御座いました。

レス下さった方もありがとうございました。もっと勉強したいと思います。
682Name_Not_Found:04/12/10 15:34:42 ID:???
>>679
680だと重複が出るかもしれないので。
チェックボックスにすべて同じnameをつけた上で

function check( checkbox ) {
  var values = new Array();
  var checks = checkbox.form.elements[ checkbox.name ];
  for ( var i = 0; i < checks.length; i++ ) {
    if ( checks[i].checked ) values[ values.length ] = checks[i].value;
  }
  checkbox.form.val.value = values.join(" ");
}
683682:04/12/10 15:44:58 ID:???
ごめん、680でも重複は出ないよな。
ただ

<INPUT TYPE="checkbox" VALUE="いわし" onclick="check(this)">いわし<BR>
<INPUT TYPE="checkbox" VALUE="いわ" onclick="check(this)">いわ<BR>

といったときに不具合がおきる。
684Name_Not_Found:04/12/10 16:04:05 ID:IJMpoLut
>>683 サン
なるほど。丁寧にありがとうございます。
VALUE="いわし : " などにすれば問題なさそうなので、
区切り記号をつける事にしました。
どもでした。
685Name_Not_Found:04/12/10 16:23:37 ID:5hHOfG4h
引数で値を持ってきたときに、どちらも数値のデータであるにもかかわらず、
片方はちゃんと数値として扱われるのですが、片方が文字列として扱われてしまいます。
何か原因があるのでしょうか?
686Name_Not_Found:04/12/10 17:00:27 ID:???
>>685
そうなってしまうように書いているから
687Name_Not_Found:04/12/10 18:28:15 ID:+reuS3R9
PHPとJS間でのデータのやり取りはどうのようにすればいいのでしょうか?
また、PHPの中でJSを書く場合は
<?php
print "<script language=JavaScript><-- 
上のように記述すればいいのでしょうか?
688Name_Not_Found:04/12/10 19:04:08 ID:???
>>687
うん、printする必要も無いと思うが…。で、
フォームの隠しフィールドとかURIにクエリ付けるとかクッキーとかだ。
こういうテクニクはWebProgの方が詳しいと思うぞ。
689Name_Not_Found:04/12/10 19:11:39 ID:???
690Name_Not_Found:04/12/11 09:22:56 ID:VJr/KYZ1
おはよございます。質問宜しいでしょうか。

1つのフォームボタンのonClickで、"window.close();"と"setData()"は
同時に使えますか?
フォーム内データを転送しつつそのボタンでウィンドウも閉じたいのです。

宜しくお願いします。
691Name_Not_Found:04/12/11 09:43:10 ID:???
>>690
実行順番さえ間違わなければ使えるよ
692Name_Not_Found:04/12/11 09:50:10 ID:???
>>690
やってみれば良いのに。

コーディングによっては不安定になる。
ちゃんと反映されたのを、内部的に待ってからcloseな。
693690:04/12/11 10:33:05 ID:???
>>691 >>692 
ありがとうございます。
可能なんですね。
<input type="button" value="転送&閉じる" onClick="setData()" onClick="window.close();" name="button">
↑これだと出来なかったのですけど、根本的に記述が間違ってますか??
お願いします。
694Name_Not_Found:04/12/11 10:43:08 ID:???
>>693
<input type="button" value="転送&閉じる" onClick="setData();window.close();" name="button">

書き方としてはこう。
ただし、setData()の内容がどうなってるかしらんから、保証はできんがなー
695690:04/12/11 11:02:17 ID:???
>>694
出来ました!!
ありがとうございました。;で区切るのですね。
696Name_Not_Found:04/12/11 13:36:26 ID:???
大丈夫かこのスレ_| ̄|○
697Name_Not_Found:04/12/11 14:01:27 ID:???
引数がない setter だと……信じられん
698Name_Not_Found:04/12/11 14:09:14 ID:cjEcBE+D
ボタンを1度押すとテキストフィールドに入力された文字を1文字消す
キャンセルボタンを作ろうと考えているんですが
function cansel(){
document.forms.フォーム名.elements.フィールド名.value -= 〜
上の部分で右側の〜の部分をどうすればいいのかがわかりません。
どなたかご教授お願いします。
699Name_Not_Found:04/12/11 14:51:14 ID:???
>>698
まず「キャンセル」のスペルを辞書で調べること。はずかしい。
var s = document.forms.フォーム名.elements.フィールド名.value;
if(s.length() > 0) s = s.substring(0, s.length()-1);
document.forms.フォーム名.elements.フィールド名.value = s;
700Name_Not_Found:04/12/11 16:08:05 ID:???
度々質問お願いします。
テキストフィールドに現在時刻を表示させたいのですが、
以下のソースだと「16時8分」と表示しますが「16時08分」と
2桁表示させるにはどうしたら良いでしょうか?

<script Language="JavaScript"><!--
function pTime()
{
dt = new Date();
h = dt.getHours();
m = dt.getMinutes();
document.ABC.time.value = h+"時"+m+"分";
setTimeout("pTime()",1000);
}
// --></script>
</head>
<body onLoad="pTime()">
<form name="ABC">
現在時刻:<input type="text" name="time">
</form>
701Name_Not_Found:04/12/11 16:11:33 ID:???
>>700

if (m < 10) m = "0"+ m;
702700:04/12/11 16:19:55 ID:???
>>701
即レスありがとうですた。
出来ました。感謝致します!
703Name_Not_Found:04/12/11 16:55:46 ID:???
そういうコードを書くときはいつもprintfみたいなのはないのかと思う俺ガイル
704Name_Not_Found:04/12/11 18:16:37 ID:???
>>703
そんなもん暇なときにでも書けよ。
そんな漏れは pack() 書いたことがあるが まず使わね
705Name_Not_Found:04/12/11 18:28:01 ID:???
>>701-704
別に「String(m+1000000).substring(1)」とか瞬時に書くけどね。
マイナスには対応していないので注意。
706Name_Not_Found:04/12/11 19:00:08 ID:???
定説というか基本というか、>>701 みたいな単純な if が一番速い。
それに比べて馬鹿で無意味な方法をもう一つ。
Date.prototype.to(UTC|GMT)String() の戻り値で
2桁に整形されている時分秒を使ってみる。
先読み部分は古い J(ava)Script では動かないが、
対応させたければ、処理を二段階に分ければよい。

var hhmmss;
var d = new Date();
d.setTime( d.getTime - 1000 * 60 * d.getTimezoneOffset());
hhmmss = d.toUTCString().match( /\d{2}(?=:| G)/g);
707Name_Not_Found:04/12/12 02:30:36 ID:???
>>706
× d.getTime
○ d.getTime()
708Name_Not_Found:04/12/12 03:08:14 ID:???
>>1
いきなり大人気の Google Suggest
ttp://www.google.com/webhp?hl=en&complete=1
ttp://www.google.com/ac.js
のせいでウェブオートメーション関連の質問が減ることはなさそう。
ac.js ファイルをざっと読んでみた。URI は現在のところ次の形式。
ttp://www.google.com/complete/search?hl=en&js=true&qu=f
最後の「f」が、encodeURIComponent( 検索語入力テキスト )。
適当にまとめてテンプレ追加よろしく。
709Name_Not_Found:04/12/12 03:11:31 ID:???
710Name_Not_Found:04/12/12 03:17:28 ID:???
<html><head><title></title></head>
<body><body onLoad = init()><h2></h2>
<script language="JavaScript">
<!--
var kana1,kana2,kana3,kana4,kana5,
count1,count2,count3,coun4,count5;
function init() {
document.cellphone.display.value = "";
kana1 = "あいうえお";
kana2 = "かきくけこ";
kana3 = "さしすせそ";
kana4 = "たちつてと";
kana5 = "なにぬねの";
count1 = 0;
count2 = 0;
count3 = 0;
count4 = 0;
count5 = 0;}


711Name_Not_Found:04/12/12 03:22:28 ID:???
すいません、上の続きです

function push1() {document.cellphone.display.value = kana1.charAt(count1);
count1 = (++count1) % 5;}
function push2() {document.cellphone.display.value = kana2.charAt(count2);
count2 = (++count2) % 5;}
function push3() {document.cellphone.display.value = kana3.charAt(count3);
count3 = (++count3) % 5;}
function push4() {document.cellphone.display.value = kana4.charAt(count4);
count4 = (++count4) % 5;}
function push5() {document.cellphone.display.value = kana5.charAt(count5);
count5 = (++count5) % 5;}
//--></script>
<form name ="cellphone">
<p><textarea name = "display"rows = "7"cols = "16"></textarea>
<p> <input type = "button" value = "あ"onclick="push1()">
<input type = "button" value = "か"onclick="push2()">
<input type = "button" value = "さ"onclick="push3()"></p>
<p><input type = "button" value = "た"onclick="push4()">
<input type = "button" value = "な"onclick="push5()"></p>
</form></body></html>
っと長いな・・・・orz
これで新たに押された文字を次の欄にいかせたいんですがどうすればいいのでしょうか?
「文字をためておく変数を用意して、それと押された文字を連結して表示させる」
「関数はひとつにまとめて引数で処理をわける」
というアドバイスもらったんですが色々いじってもうまくいきません。
680と似たようなものだと思うのですが・・・

712Name_Not_Found:04/12/12 09:43:49 ID:???

下記のような、「次の画像」をクリックすると次の画像を表示させるスクリプトに、
1つ前の画像に戻れる機能も加えたいのですが、java scriptをあまり知らないので分かりません。
お願いします。

<SCRIPT Language="JavaScript">
<!--
imgNum = 0;
maxIMG = 20;// 最大ページ数
function nextIMG()
{
imgNum++;
if (imgNum > maxIMG) return;
document.xyzIMG.src = "images/"+imgNum+".JPG";
}
function resetIMG()
{
imgNum = -1;
nextIMG();
}
// -->
</SCRIPT>
</HEAD>
<BODY>

<P>pictures</P>

<IMG SRC="images/0.JPG" NAME="xyzIMG"><BR>
<A HREF="javaScript:nextIMG()">次の画像</A>|
<A HREF="javaScript:resetIMG()">最初の画像</A>

713Name_Not_Found:04/12/12 09:54:29 ID:???
>>710-711
「あお」みたいに同じあ行が続くときはどうするの。
>>712
それは「全部書け」と言っているようなもんだなあ。
まあ一応ヒントとしては、「前の画像」リンク作ってそこからは
別の関数を読んび、そこではimgNumを減らす、ただし
減らしすぎないようにチェックは必要、ということかな。
714Name_Not_Found:04/12/12 10:02:39 ID:???
>>710-711
document.cellphone.display.value = kana1.charAt(count1);
                    ↓
document.cellphone.display.value += kana1.charAt(count1);
715Name_Not_Found:04/12/12 10:04:13 ID:???
>>714
馬鹿か、それじゃ「あ→い→う→…」のように「押すたびに交替」
が実現されないだろ。
716712:04/12/12 10:06:58 ID:???
>>713 何となく予想して書いてみたら一応動いちゃったんですけど、これであってますでしょうか
<SCRIPT Language="JavaScript">
<!--
imgNum = 0;
maxIMG = 20;// 最大ページ数
minIMG = 0;
function nextIMG()
{
imgNum++;
if (imgNum > maxIMG) return;
document.aquaIMG.src = "images/"+imgNum+".JPG";
}
function resetIMG()
{
imgNum = -1;
nextIMG();
}
function preIMG()
{
imgNum--;
if (imgNum < minIMG) return;
document.aquaIMG.src = "images/"+imgNum+".JPG";
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<IMG SRC="images/0.JPG" NAME="aquaIMG"><BR>
<A HREF="javaScript:nextIMG()">次の写真</A>|
<A HREF="javaScript:resetIMG()">最初の写真</A>|
<A HREF="javaScript:preIMG()">前の写真</A>
717Name_Not_Found:04/12/12 10:17:17 ID:???
>>710 適当に欲しいだろう機能をつけておいたぞ。
<html><head><title></title></head><body><body onLoad = init()><h2></h2>
<script language="JavaScript">
<!--
function init(){
kana = new Array("","あいうえお","かきくけこ","さしすせそ","たちつてと","なにぬねの");
count = new Array(0,0,0,0,0,0);
output = ""; nowcount = 0; nowchar = "";
}
function push(n){
if(nowcount!=n && nowcount!=0){pushnext();}
nowchar = kana[n].charAt(count[n]);
document.cellphone.display.value = output + nowchar;
count[n] = (count[n]+1) % 5; nowcount = n;
}
function pushnext(){
if(nowcount != 0){
count[nowcount] = 0; nowcount = 0;
output += nowchar;
document.cellphone.display.value = output;
}
}
//--></script>
<form name ="cellphone">
<p><textarea name = "display"rows = "7"cols = "16"></textarea>
<p> <input type = "button" value = "あ"onclick="push(1)">
<input type = "button" value = "か"onclick="push(2)">
<input type = "button" value = "さ"onclick="push(3)"></p>
<p><input type = "button" value = "た"onclick="push(4)">
<input type = "button" value = "な"onclick="push(5)">
<input type = "button" value = "→"onclick="pushnext()">
</p></form></body></html>
718717:04/12/12 10:23:31 ID:???
あまり確認してなかった。
pushnext() 内の
document.cellphone.display.value = output;
は特に必要ない。改行の問題で見にくいのは許してくれ。
<html><head><title></title>
<script language="JavaScript">
<!--
var kana = ["あいうえお", "かきくけこ", "さしすせそ", "たちつてと", "やゆよ"];
var count = 0;
var LastKey = -1;
function push(key) {
var s = document.cellphone.display.value;
if (key != LastKey) {
LastKey = key;
count = 0;
} else {
if (s.substr(s.length-1) == kana[key-1].charAt(count)) {
s = s.substr(0, s.length-1);
}
count = (++count) % kana[key-1].length;
}
document.cellphone.display.value = s + kana[key-1].charAt(count);
}
//-->
</script></head>
<body><body onLoad = init()><h2></h2>
<form name ="cellphone">
<p><textarea name = "display"rows = "7"cols = "16"></textarea>
<p> <input type = "button" value = "あ"onclick="push(1)">
<input type = "button" value = "か"onclick="push(2)">
<input type = "button" value = "さ"onclick="push(3)"></p>
<p><input type = "button" value = "た"onclick="push(4)">
<input type = "button" value = "や"onclick="push(5)">
<input type = "button" value = ">"onclick="LastKey = -1"></p>
</form></body></html>
720Name_Not_Found:04/12/12 10:41:40 ID:???
・・・>>719 はもはや別物だな。
だが>>710-711 よ、>>719の「やゆよ」あたりの処理をじっくり考えるといいぞ。
721Name_Not_Found:04/12/12 11:23:10 ID:I9b/48H3
ime-modeがactiveなテキストエリアからコンボボックス(プルダウン?)に
フォーカスを移動する際に以下の様な処理でime-modeをinactiveできるらしいのですが、
コンボボックスに遷移した際に矢印キー(↑↓)でコンボボックスの中身を動かす事ができなくなってしまいます。
ime-modeをinactiveにしつつ、上記の操作もしたいのですが、
可能なのでしょうか?
もし有識者の方がいれば教えていただきたいと思います。
よろしくお願いします。

// [Public Function]SetActiveImeMode
// SetActiveImeMode関数は、指定したselectオブジェクトに
// ime-mode:inactiveの効果を擬似的に実装します。
function SetActiveImeMode(form_Select)
{
var obj_Parent = form_Select.parentNode;
var form_Text = document.createElement("input");
form_Text.style.cssText = "ime-mode:inactive;";
form_Text.setAttribute("type", "text");
obj_Parent.insertBefore(form_Text, form_Select.nextSibling);
form_Text.focus();
form_Text.blur();
obj_Parent.removeChild(form_Text);
form_Select.focus();
return;
}
722Name_Not_Found:04/12/12 12:28:25 ID:???
>>721
>フォーカスのを移動する際に
の検出方法をどのようにしているのかが気になる。
まさかコンボボックス(リストボックスか?)側で onFocus じゃないよな。
723721:04/12/12 12:36:34 ID:I9b/48H3
>>722さん
テキストからTABキーで遷移させてコンボボックス(セレクトボックス?)の
onFocusでSetActiveImeMode(this)ってやってます。
これがまずいのでしょうか???
724722:04/12/12 12:58:58 ID:???
>>723
すまん、俺の勘違いだ…。
725710:04/12/12 14:29:56 ID:???
>>717
>>719
聞いた甲斐がありました、ありがとうございます。
こういう処理もう一度自分なりにじっくり考えて見ます。
では失礼しました

726Name_Not_Found:04/12/12 23:04:14 ID:???
innerHTMLでポップアップを表示させるセルの隣セルにselectboxを配置。
onMouseOverでポップアップが表示されると、selectboxがポップアップの上に表示されてしまいます。
ポップアップを上に表示する方法を教えてください。

<html>
<script language="JavaScript">
<!--
function popUp() {
text = '<TABLE width="250" bgcolor="#c0ffc0"><TR><TD>詳しい値が表示される</TD></TR><TABLE>';
ID.innerHTML = text;
ID.style.left = event.x + 10;
ID.style.top = event.y - 5;
ID.style.visibility = "visible";
}
function hidePop() {
ID.style.visibility = "hidden";
}
//-->
</script>
<body>
<form action="" method="post" name="form1">
<span id="ID" STYLE="visibility: hidden; position: absolute;"></span>
<table border="1">
<tr>
<td align="right"><span style="cursor:hand" onMouseOver="popUp()" onMouseOut="hidePop()">マウスをあてる場所</span></td>
<td align="center"><option>セレクトボックスの値1</option></td>
</tr>
</table>
</form>
</body></html>
727Name_Not_Found:04/12/13 00:01:38 ID:???
>>726
仕様だった気がする。
#例のソース、<select></select> がないよ。
728Name_Not_Found:04/12/13 00:27:42 ID:BJZPqzgp
イベントから右クリックメニューを表示させるにはどうしたらいいでしょうか?
onmousedownなどから右クリックメニューを出したいのですが・・・
729Name_Not_Found:04/12/13 06:37:48 ID:???
あくまで右クリックメニューはブラウザのメニューなので、
独自メニューでない限り、今のところは無理。

右クリックメニュー「みたいな」独自のメニューを表示させたいだけなら
>>726を応用すればできます。
730Name_Not_Found:04/12/13 10:22:59 ID:???
731Name_Not_Found:04/12/13 16:46:21 ID:???
3つのswfをページを読み込み毎にランダム表示したいのですができません。

head内

n=parseInt(Math.random() * 3);
var flashurl = ["1.swf","2.swf","3.swf];

body内

<script language="javascript">
document.write("<OBJECT CLSID=xxxx SRC='"+flashurl[n]+"' ...>");
document.write("</OBJECT>");
</script>

どこがまずいのでしょうか、、、?
よろしくお願いします。
732Name_Not_Found:04/12/13 17:29:14 ID:???
まずは「<OBJECT」等の「<」を削ってタグ本体を表示させてみれ。
733Name_Not_Found:04/12/13 18:02:59 ID:???
>>731
JavaScript以前の問題。
OBJECTタグの書き方を勉強するように。
734Name_Not_Found:04/12/13 20:37:09 ID:29TjvoXP
クリスマスデザインにしたいのですが、雪を降らすjavaがあると聞いたのですが
教えてもらえないでしょうか?
735Name_Not_Found:04/12/13 20:39:37 ID:???
>>734
そういうのはまずググってからききなさい。
736Name_Not_Found:04/12/13 22:37:09 ID:???
禁句集
1. Java: 別の言語。
2. クラス: 実体はオブジェクト。あくまで、オブジェクト - プロトタイプ。
3. フィールド: Java厨初心者。
4. インスタンス: C++ではありません。
737Name_Not_Found:04/12/13 22:38:31 ID:???
>>729
ありがとうございます。
やはりJavascriptでは無理ですか・・・
別の方法考えないとなぁ・・・
738Name_Not_Found:04/12/13 22:42:18 ID:???
こんなふうにthisを書き換えたいんですがどうやったらできますか?
おしえてください。

function number_increment() { this++; }

Number.prototype.increment = number_increment;
num = new Number(100);
num.increment();
739Name_Not_Found:04/12/13 23:06:06 ID:???
Number 配列でいったら配列名みたいなもんだから。
Numberのプロパティを定義して、引数をそこに入れる、とかではいかんの?
740Name_Not_Found:04/12/13 23:06:27 ID:???
×Number 配列
○Number は配列
741Name_Not_Found:04/12/13 23:48:33 ID:UmGMXl/w
先日スクリプトを作っていて、突然動作しなくなったんです。
そこまでは正常に動作していたのに、if文をひとつ付け加えただけで動作しなくなりました。
その関数は、そこで103行目にあたるんですが、もしかして関数っていうのは長さに制限があるものなんでしょうか?
それとも他に要因があるんでしょうか?
初心者ですいません。御願いします。
742Name_Not_Found:04/12/13 23:52:03 ID:???
>>741
> 動作しなくなった
エラーは?

> 長さに制限
いいえ。
743Name_Not_Found:04/12/13 23:52:33 ID:???
>>741
長さに制限はない。アンタが壊したんだろ。付け加えたものが
どんなに少なくたって(1文字だって)下手な奴は壊すさ。終了。
744Name_Not_Found:04/12/13 23:54:32 ID:UmGMXl/w
>>742
エラーが見つかりましたと出るだけです。
詳しく見る方法があるのでしょうか。
745Name_Not_Found:04/12/14 00:15:26 ID:???
>>744
IEならステータスバーの黄色い三角、
Moz系ならアドレスバーに javascript: とかあるが
746Name_Not_Found:04/12/14 00:31:08 ID:geK7BgAe
>>745
ありがとうございます。
とりあえず もう一度1から見直してみます。
747Name_Not_Found:04/12/14 01:07:23 ID:???
画面を表示したときに、画面の一番上の部品(AAAA)に
focusをあわせる関数を作ろうと思ったのですが一番上
の部品の要素を知る方法はあるでしょうか。

<body>
<form>
<AAAA/>
<BBBB/>
<CCCC/>
</form>
</body>

AAAAはinput(text、checkbox、radio)またはselectです。

複数の画面を作っていて、AAAAはそれぞれ違うので共通の関数で
対応できないものかと思ったのですがどうでしょうか。
748Name_Not_Found:04/12/14 01:27:47 ID:???
>>727
>>730
ありがとうございます。
>>730の方法を試してみます。
749Name_Not_Found:04/12/14 01:29:51 ID:???
>>747
フォーム部品限定ならdocument.forms[0].elements[0]で取れそう
750Name_Not_Found:04/12/14 01:58:11 ID:crnlaYpO
教えてクンで申し訳ありませんが、inputタグのtype="file"のテキストフィールドに
初期値を入れたいんですけど方法が解りません教えて下さい。
751Name_Not_Found:04/12/14 02:01:06 ID:???
>>750
あ、それセキュリティ上の理由でできないのよ。
752Name_Not_Found:04/12/14 08:20:14 ID:???
初期値を入れて、すぐ送信したら、任意のファイルが
サーバに読み出せるわなあ。そんなブラウザ誰も使わんよ。
753Name_Not_Found:04/12/14 09:12:33 ID:tPEKa336
http://www.hajimeteno.ne.jp/dhtml/dist/js07.html
ここ辺りを参照してセレクトフォームをつくってるんだけど
同じようなセレクトフォームを2つ以上作りたいと考えているんですが
何分web製作初心者なわけでうまく作れません。
先輩方何卒ご教授願いませんか?
754753:04/12/14 09:13:57 ID:???
PS:言い忘れていましたが同じwebページに作りたいです。
お願いします。
755Name_Not_Found:04/12/14 10:12:52 ID:???
>>753
自分なりにどういう風にやろうとしたか書きなよ。全部
他人に書いてもらうスレじゃないんだからさ。
756Name_Not_Found:04/12/14 10:26:17 ID:???
>>753
こんなもの、全くプログラム経験が無くても調べれば短時間でできる。
できなかったのなら、>>753 は並外れた低脳ということになる。
調べようとしなかったのなら、>>753 は並外れた怠け者ということになる。
普通にだらだらと、
<ul>
<li><a href="http://example.com/foo">foo</a></li>
..
</ul>
と書けよ。そんなくだらないものつけてウマシカアピールしてんじゃねえよ。
757Name_Not_Found:04/12/14 16:25:32 ID:???
馬でも鹿でも書けるJavaScript!
758Name_Not_Found:04/12/14 16:53:35 ID:???
CSSで右と左に疑似フレームを作ったのですが、左のリンクをクリックすると
右の疑似フレームに表示させるにはどうすればいいんですか?
JavaScriptで可能ならご教授下さいませ。
759Name_Not_Found:04/12/14 16:55:18 ID:pC1LisbZ
正規表現でURLを抽出したいと思います
それは必ず一行で先頭と末尾に全角、半角スペースが入る可能性もあります
その行からreplaceでURLを抜き出したいです。

例えば
url_1="  tp://2ch.net "

url_1="http://2ch.net"
にしたいです
この場合
url_1=url_1.replace(Reg_http_head_main,Reg_http_head_re);
とhtmlに書いていますが
Reg_http_head_mainとReg_http_head_reは何を書けば良いでしょうか?

それと
url_1.test(Reg_http_test);
で置き換えたURLかどうかを判定したいのですがどの様に表記すれば良いでしょうか?

それとjavascriptの正規表現使用時に半角文字で\を使いエスケープすべき文字の一覧を教えてください。

沢山ですいません。
760759:04/12/14 16:59:08 ID:???
urlの条件の追加です。
必ず半角です。

ttp://www5a.biglobe.ne.jp/~n_rieko/jslibrary/regurl.htm
だと半角も反応してしまいますし……
761Name_Not_Found:04/12/14 17:22:23 ID:???
>>759
> 必ず半角です。
> 半角も反応してしまいます
「半角」とは何ぞや。

> エスケープすべき文字
+ * ? . ( ) [ ] { } | \ あたりか。

ちなみにとても長いが。
ttp://www.din.or.jp/~ohzaki/perl.htm#httpURL
762Name_Not_Found:04/12/14 17:34:56 ID:???
エスケープって文字クラス内の話じゃねーの?
763731:04/12/14 17:46:46 ID:???
すみません、、、。
結局、>>731での「>」をとったりしてみたんですが、結局動きませんでした、、、。

<script language="javascript">
<!--
SWFURL = new Array("1.swf", "2.swf", "3.swf");
i = Math.floor(Math.random() * SWFURL.length);

document.write('object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
document.write('param name=quality value=high');
document.write('param name="movie" value="' + SWFURL[i] + '"');
document.write('object');
//-->
</script>

これでも動きません。
今日中にやらないといけないんです、、、。
助けてください、、、。
764Name_Not_Found:04/12/14 18:10:25 ID:???
>>763
いやいや。
タグの文字列を書き出したいのだったら、例えば<object classid="hoge">だったら
document.write("<object classid=\"hoge\">");
のように、エスケープしなさいっつーことでは?
765Name_Not_Found:04/12/14 18:11:45 ID:???
で、いちいち書き出していくよりは、
str = "<object …";
str+= "…";
  :

と文字列を変数に入れていって、最後に
document.open();
document.write(str);
document.close();

とするのがいいかと。
766Name_Not_Found:04/12/14 18:12:08 ID:???
>>763
「<」を取るとかってのは
スクリプトが動いてるかどうかの確認のためだべ。
767731:04/12/14 18:19:33 ID:???
結局ちょっと直してできました、、、。
申し訳ありません、、、。
HTMLの書き方が悪いだけでした、、、。
おつき合いいただいてご迷惑かけました、、、。
javascript全くダメダメなんですよね、、、
768Name_Not_Found:04/12/14 20:28:12 ID:???
HTMLの書き方悪いだけだったんだから、JavaScriptがダメなせいではない。
769Name_Not_Found:04/12/14 20:45:21 ID:???
>>765
document.write( 'a', 'b', 'c'); // abc
というふうに引数を複数にして連結処理を委ねておけば、大きな間違いは無い。
そもそも、JavaScript は文字列の連結を適切に処理してくれるが、
JScript は、連結がある度に、文字列を最初から読み込む。
だから、昔から、文字列処理に際しては配列を使えと言われている。
文字列連結 と String オブジェクトのメソッドには注意が必要。

var strList = new Array;
strList[ strList.length] = '<object ...>';
strList[ strList.length] = '<param ...>';
...
strList[ strList.length] = '<\/object>';
document.write( strList.join( ''));
770Name_Not_Found:04/12/14 20:54:02 ID:???
>>768 javascript が苦手だと言いたいのだろうに。
771Name_Not_Found:04/12/14 21:09:18 ID:???
>>769
// 例示が好ましくなかったように思えてきた。
文字列連結について。
長い文字列は連結するな。
document.write では、引数を複数与えることで解決する。
引数を複数与えられない場合 (insertAdjacentHTML とか、innerHTML とか) は、
配列にして最後で join( '') しろ。
772Name_Not_Found:04/12/14 21:11:35 ID:???
>>771
△ 文字列連結について。
○ JScript の文字列連結について。
773Name_Not_Found:04/12/14 23:03:00 ID:3dqAQdeK
WEBの印刷時にjavascriptで用紙の指定って可能ですか?
調べたらscriptxで簡単にできそうだったけど、これって用紙の指定機能は有料なんでしょ?
774Name_Not_Found:04/12/15 07:53:15 ID:???
プリントダイアログ出すまではできてもその中は操作
できないように思うな。
775Name_Not_Found:04/12/15 11:06:00 ID:PMDW1Tcl
質問宜しいですか。

メールフォーム内にあるサブウィンドウをopenするためのボタンを
イメージ画像にしようとしてるのですが、

<input type="image" src="xxx.gif" onClick="openWin()">

とすると、サブウィンドウは開くのですが、
親ウィンドウ側ではsubmitボタンとして機能してしまうようで、
<form action= で指定したcgiに飛んでしまいます。

サブウィンドウを開くためだけのボタンとして使うにはどうしたら良いでしょうか?
お願いします。
776Name_Not_Found:04/12/15 11:10:23 ID:???
>>775
return false;
777775:04/12/15 11:25:22 ID:PMDW1Tcl
>>776
レスどもです。
<form action="../cgi-bin/xxx.cgi" method="post" name="mailform"
onsubmit="return false">
と加えれば良いのでしょうか?
試してみた所、確かにサブウィンドopenで親ウィンドウもsubmitされないですが、
メールフォーム自体のSUBMITボタンも機能しなくなってしまいました・・・。
778Name_Not_Found:04/12/15 11:40:00 ID:???
>>777
「onclick="openWin(); return false"」だ!!!
779775:04/12/15 11:46:01 ID:PMDW1Tcl
>>778
おお・:*:・  出来ました。ありがとうございました!
780Name_Not_Found:04/12/15 14:56:49 ID:0hYqe/Jh
window.openでtoolbar=no,menubar=noを指定しているにも係らず、
いくつかのPCでは開いたウィンドウにツールバー、メニューバーが
表示されてしまいます(身近にあってIEの設定を見ることのできる
PCでは同じscriptでちゃんと非表示になるのですが・・・)
表示されてしまうPCのOSはXPsp2、IEは6.0sp1です。
OS、ブラウザのspレベルが原因で起こるのでしょうか?
それともIEの設定によるものでしょうか?
情報のある方がいたら教えてください。

781Name_Not_Found:04/12/15 15:40:07 ID:???
JavaScript OFFだったりしてね(ry
782Name_Not_Found:04/12/15 19:43:48 ID:0hYqe/Jh
>>781
レスありがとうございます。
開いたwindow内のscriptは正常に動作しているようなんです。
だからJavaScript OFFってことはないはずなんですよ〜。
今windows updateするように依頼しているので、また経過を報告しますね。
783Name_Not_Found:04/12/15 20:02:10 ID:???
>>782
とりあえず窓を開いているところのコード貼ってみない?
784Name_Not_Found:04/12/16 00:50:56 ID:B9edhtEo
時刻をリアルタイムでテキスト表示するような単純なScriptを作っているのですが
アクセスした瞬間の時刻は表示されるのですが1秒毎に変わってくれません。

できればどこが間違っているかみてもらえないでしょうか?
785Name_Not_Found:04/12/16 00:55:09 ID:???
>>784
で、ソースは?
786784:04/12/16 00:59:24 ID:B9edhtEo
<HTML>
<HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!--
function Time(){

newD=new Date();
Week= new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");

Year=newD.getYear();
Month=newD.getMonth()+1;
Date=newD.getDate();
Hours=newD.getHours();
Minutes=newD.getMinutes();
Seconds=newD.getSeconds();
Day= newD.getDay();

if (Year<1000) {Year+=1900}
if (Hours<10) {Hours="0"+Hours}
if (Minutes<10) {Minutes="0"+Minutes}
if (Seconds<10) {Seconds="0"+Seconds}

document.form1.box1.value= " " + Year + "/" + Month + "/" + Date + "(" + Week[Day] + ")" + " " + Hours + ":" + Minutes + ":" + Seconds;
setTimeout("Time()",1000);
}
//-->
</SCRIPT>

</HEAD>
<BODY>
787784(続き):04/12/16 01:01:56 ID:B9edhtEo
<FORM NAME="form1">
<INPUT NAME="box1" SIZE="31">
</FORM>
<SCRIPT LANGUAGE="JavaScript">
<!--
Time();
//-->
</SCRIPT>

</BODY>
</HTML>



………こんな感じです。
788784:04/12/16 01:06:56 ID:B9edhtEo
下のペ―ジを参考に 曜日も表示されるようなリアルタイム時計を考えていたのですが………

ちなみに下のサイトにアクセスするときちんと1秒ずつ表示されます。
どこが違うのだろう………気になって眠れません。


ttp://www.din.or.jp/~hideyuki/home/java/watch.html
789Name_Not_Found:04/12/16 01:29:50 ID:???
>>788
Date=newD.getDate();  ←

変数名をオリジナルと同じにして少しずつ試せばわかるだろうに。
790Name_Not_Found:04/12/16 01:30:59 ID:???
>>784
Date=newD.getDate();
の行が問題あり。
変数 Date の名前を変えないと、おかしなことになる。
次に呼び出されたときの
newD=new Date();
で文句言われるハズなんだけど、エラーは出なかった?
791790:04/12/16 01:32:09 ID:???
かぶった・・・スマソ
792Name_Not_Found:04/12/16 01:42:10 ID:B9edhtEo
成る程。
考えもなしに英語が対応関係にあるように変数名を変えてしまったのが原因だったのですね。


今日の朝部屋に置いてあった時計が壊れて
「これを機に自分のHPのTOPにリアルタイム時計でも置いとくか―」と作り始めたのですが。

これで漸くもやもやしていた1日が終わってくれました。


789さん・790さんどうも有難う御座いました。
793Name_Not_Found:04/12/16 02:44:10 ID:RCo77Tc9
曜日を3英字で書いて分かるなら、月を3英字で書いても分かるだろうから、
Date.prototype.to(UTC|GMT)String が返す形式をちょっと加工して使えばよかろうに。
もしその「HP」とかいうドキュメントが公開されるなら、
仕様書に則して時刻表示形式を決めるべきだと思うが。
794Name_Not_Found:04/12/16 03:17:58 ID:???
すれ違いだが変数名・関数名をキャメルで書く習慣はないのか?
組み込みのメソッドとかと命名規則が違って気持ち悪くないのか?
795Name_Not_Found:04/12/16 03:54:09 ID:???
>>737
右クリックメニューっぽいものを表示してユーザーの個人情報を
盗み取られると困るのでできないようになってます。
あ、フィッシング詐欺の業者さんでしたか。それは失礼しました
796Name_Not_Found:04/12/16 04:01:55 ID:???
>>780
多分IE6 SP2でウィンドウの管理が厳しくなったからじゃないかな。
ttp://www.microsoft.com/japan/technet/prodtechnol/winxppro/maintain/sp2brows.mspx#EBAA

それからWinXPにSP2を当てると自動的にIE6もSP2になります。
797Name_Not_Found:04/12/16 09:06:33 ID:???
JavaScriptでソースを暗号化、右クリック禁止、文字列選択不可能な文字列をコピーすることは可能でしょうか?
798797:04/12/16 09:37:49 ID:???
自己解決しますたorz
A:IE以外のブラウザを使用。
799Name_Not_Found:04/12/16 17:55:03 ID:???
教えていただけたら幸いです。

たとえば空欄のテキストフォームの隣に「本日」というボタンを
用意しておいて、それを押すとテキストフィールドに今日の日付が
入力されるJavaScriptってどんな感じになるでしょうか?
800Name_Not_Found:04/12/16 18:17:48 ID:???
<HTML><BODY>
<SCRIPT>
<!--
d = new Date();
t = d.getMonth()+1 + '月' + d.getDate() + '日';
//-->
</SCRIPT>
<FORM>
<input type="text">
<input type="button" onClick="document.forms[0].elements[0].value=t" value="本日">
</FORM>
</BODY></HTML>
801799:04/12/16 18:33:27 ID:???
ありがとうございます!>800
802Name_Not_Found:04/12/16 20:00:50 ID:???
ラジオボタンでテーブルの背景色を変えるにはどうすればいいですか?
ページ全体の背景色を変えるのは見つかったのですが、どこを直せばテーブルにだけ適用できるのか分からなくて…
803Name_Not_Found:04/12/16 20:07:38 ID:???
>>802
table に id でもつけて識別子にしよう。
で、getElementByid("id_no_mojiretsu") でアクセスすればよいです。

これで分からない場合、そのスクリプト自体の仕組みを理解する必要があります。
>>1-5あたりを良く読んで頑張ってみてください。
それから、また分からないところがあったら質問してみると(・∀・)イイです。
804Name_Not_Found:04/12/16 21:29:09 ID:???
onmouseupで左右同時クリックを(多少の誤差を許容して)判定する
簡単な方法とかライブラリとかありますか?

自作JSマインスイーパ用に一応使える奴を自分で作ったんですが、
もっと効率いい方法があったりしないのかな、と思って。
805802:04/12/16 21:32:47 ID:???
>803
ありがとうございます!
getElementByidを使ったらすぐに出来ました。
806Name_Not_Found:04/12/16 21:35:08 ID:???
getElementByidをにやにやしながらつっこんでおこう
807803:04/12/16 21:54:12 ID:???
>>806
恥ずかしさのあまり、おしっこ漏れました。
808Name_Not_Found:04/12/17 01:49:55 ID:???
809Name_Not_Found:04/12/17 03:18:07 ID:???
>>808
/java_top.html, /java/, /hp/ が URI に含まれる糞リソース貼るな。
810Name_Not_Found:04/12/17 07:38:59 ID:???
>>809
禿同! (うーん、なんかなつかしい響きだ)
811Name_Not_Found:04/12/17 07:42:57 ID:???
>>809-810
子供みたいだな
812Name_Not_Found:04/12/17 08:06:43 ID:???
別に子供だろうと何だろうと糞よりはましさ。
813Name_Not_Found:04/12/17 10:23:56 ID:???
いや、>>809 の指摘は意味がなくはないぞ。HPだとかjavaだとか
いってる奴にまっとうにJavaScriptが解説できるとは思えんね。
一見分かりやすく親切でも大嘘を教え込まれる危険が大きい。
近寄らない方が吉だね。
814 ◆0iKnzEvCeU :04/12/17 13:29:59 ID:???
ウインドウオープンについて教えて下さい。
ボタンではなく文字のみにするにはどうすれば良いですか?

<SCRIPT LANGUAGE="JavaScript">
<!--
function open_win(){
window.open("001.html","","menubar=no,toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes");
}
//-->
</SCRIPT>


<FORM>
<INPUT type="button" value="クリック" onClick="open_win()">
</FORM>
815Name_Not_Found:04/12/17 13:53:40 ID:???
>>814
<span onclick="...">文字</span> とか
<a href="JS OFF時の行き先" onclick="...; return false">文字</a> とか。
816 ◆0iKnzEvCeU :04/12/17 15:18:26 ID:???
>>815
いろいろやり方があるんですね。
ありがとうございました。
817Name_Not_Found:04/12/17 15:41:22 ID:???
<INPUT type="button" value="クリック" onClick="open_win()" style="background: transparent; border: none;">

こういうのも気持ち悪くていいぞ。
818Name_Not_Found:04/12/17 15:55:38 ID:???
いまだにlanguage属性を使ってるのはいかがなものか
バージョンにうるさいんならともかく…
819Name_Not_Found:04/12/17 16:02:10 ID:???
<script type="text/javascript">
820Name_Not_Found:04/12/17 16:37:00 ID:???
Q2. JavaScriptでローカルファイルを読み/書きたいのですが…
A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに…



ローカルファイルだけじゃなくて一般にファイル読み書きができないんだっけ?
クッキーと画像だけOKなんだっけ?
821Name_Not_Found:04/12/17 17:04:18 ID:???
画像切り替えのキャッシュイメージって、
画像切り替え時にどこかで保持している必要はありますか?
具体的には、
function cacheImg() { //window.onload より。
var cache = new Image(); cache.src = 'foo.gif';
}
function flipImage(img) { //イベントハンドラ等より。
img.src='foo.gif';
}
上記のように、局所変数ででも一旦読み込んでおけば破棄してしまっても
問題ないのでしょうか?それとも、どこかでそのsrcを持つ
Imageオブジェクトを保持しておく必要があるのでしょうか?
手持ちの環境ではきちんとキャッシュが効いているようなのですが、
もしかしたら問題ある環境もあるかなと思いまして…。
822Name_Not_Found:04/12/17 18:19:10 ID:???
http://www.asahi-net.or.jp/~AE5T-KSN/memo/rfc2397.html
ここみたいにするなら、オブジェクトと関係大有りだが…
823Name_Not_Found:04/12/17 18:48:52 ID:???
>>820
自鯖のファイルなら読めるよ。他鯖はページ開かせるだけなら
できるけどその開いたページ内容はアクセスできない。
824Name_Not_Found:04/12/17 20:28:26 ID:/k8LHI5l
>>821
破棄した場合でもキャッシュに残るかどうかは
実装依存(というかガベコレのタイミング依存)
な気がする。保持しておくのが無難と思うが。
825Name_Not_Found:04/12/17 21:08:39 ID:???
キャッシュとガベージコレクトって関係ないはず。
キャッシュはキャッシュだ。
826Name_Not_Found:04/12/17 22:50:57 ID:???
>>825
そんなの分からんよ、やっぱり実装依存だと思うね。
Weak Referenceとかって知ってる?
827804:04/12/17 23:17:24 ID:???
反応がないので自分で書いたの貼ってみます。

var MOUSEBUTTON_LEFT = 0;
var MOUSEBUTTON_RIGHT = 2;
var MOUSEBUTTON_BOTH = -1;
if(document.all) { //IE
MOUSEBUTTON_LEFT = 1;
MOUSEBUTTON_BOTH = 3;
}
//左右ボタンを放す時間差がこれ未満だったら同時押しと判定(単位:ミリ秒)
var WATCHER_THRESHOLD = 80;

function MouseWatcher(obj) {
obj.onmousedown = this.hook_onmousedown(obj.onmousedown);
obj.onmouseup = this.hook_onmouseup(obj.onmouseup);

this.left = false;
this.right = false;
this.threshold = WATCHER_THRESHOLD;
this.last_mouseup = 0;
}
MouseWatcher.prototype.underThreshold = function() {
if(this.last_mouseup == 0) return false;
var ret = (new Date().getTime() - this.last_mouseup < this.threshold);
this.last_mouseup = 0;
return ret;
}
828804:04/12/17 23:18:14 ID:???
MouseWatcher.prototype.hook_onmousedown = function(handler) {
var watcher = this;
return function(evt) {
if(evt == undefined) evt = window.event; //IE
if(evt.button == MOUSEBUTTON_LEFT || evt.button == MOUSEBUTTON_BOTH)
watcher.left = true;
if(evt.button == MOUSEBUTTON_RIGHT || evt.button == MOUSEBUTTON_BOTH)
watcher.right = true;
if(handler) handler(evt);
}
}
MouseWatcher.prototype.hook_onmouseup = function(handler) {
var watcher = this;
return function(evt) {
if(evt == undefined) evt = window.event; //IE
if(evt.button == MOUSEBUTTON_LEFT || evt.button == MOUSEBUTTON_BOTH)
watcher.left = false;
if(evt.button == MOUSEBUTTON_RIGHT || evt.button == MOUSEBUTTON_BOTH)
watcher.right = false;
if((evt.button == MOUSEBUTTON_LEFT && watcher.right) ||
(evt.button == MOUSEBUTTON_RIGHT && watcher.left)) {
watcher.last_mouseup = new Date().getTime();
} else if(watcher.underThreshold() || evt.button == MOUSEBUTTON_BOTH) {
if(handler) {
evt.bothButtons = true;
handler(evt);
}
} else {
if(handler) handler(evt);
}
}
}
829804:04/12/17 23:19:42 ID:???
<!--使用例-->
<html>
<head>
<script type="text/javascript" src="mousewatcher.js"></script>
<script type="text/javascript">
function doc_onmouseup(evt) {
if(evt == undefined) evt = window.event;
if(evt.bothButtons) alert("左右");
else switch(evt.button) {
case MOUSEBUTTON_LEFT: alert("左"); break;
case MOUSEBUTTON_RIGHT: alert("右"); break;
}
}
function body_onload() {
document.oncontextmenu = function() {return false;}
document.onmouseup = doc_onmouseup;
document._mw = new MouseWatcher(document);
}
</script>
</head>
<body onload="body_onload();">
<p>左右同時クリックのテスト</p>
</body>
</html>

こんな感じで作ったんですが、これより効率いいやりかたとかあったら
アドバイスよろしくです。
830K-tai:04/12/17 23:27:21 ID:3ZZ9NMyV
質問ですが、Javascriptは携帯ホームページに使えますか?
よろしくお願いします。
831Name_Not_Found:04/12/18 01:16:18 ID:???
832Name_Not_Found:04/12/18 07:41:06 ID:???
>>804
そもそも、ボタンを同時に押さなきゃならないようなUIのデザインに
欠陥があると思う。
833Name_Not_Found:04/12/18 08:47:14 ID:???
>>827
もともと1個のイベントとして取れないものなのだから
そうやって時間差を見るしかないと洩れも思うよ。
834Name_Not_Found:04/12/18 10:11:02 ID:???
>>827-829
マインスイーパを楽しむ訪問者に限定せずとも、J(ava)Script を有効にしている UA の約 100% が、
WinIE5 以上、Mozilla1.7 以上である。attachEvent または addEventListener が使えるから、
イベントの追加で変則的な処理をする必要はない。
835Name_Not_Found:04/12/18 10:21:14 ID:???
>>827-828
分岐が整理されていない。一つだけ指摘すると、>>828 最後の else if ... else ... 部分は、
else if (handler) {
 if (watcher.underThreshold() || evt.button == MOUSEBUTTON_BOTH)
   evt.bothButtons = true;
 handler( evt);
}
と同じ事では?
836Name_Not_Found:04/12/18 11:27:50 ID:kg3+e6p+
JavaScriptでイメージを表示するのに

document.write('<IMG SRC="xxx">);

と記述するのはわかるんですが、
このイメージにリンクを付ける事はできますか?

document.write('<A href="xxx"><IMG SRC="xxx"></A>);

としても正しく動いてくれないみたいで困っています。

動作環境はWindowsXP+IE6です。
初心者スレでスレ違いとの指摘を受けましたので、こちらで
質問させていただきました。
837Name_Not_Found:04/12/18 11:56:44 ID:???
>>836
文字列閉じてない。
838Name_Not_Found:04/12/18 11:57:48 ID:???
しかも全角...
839Name_Not_Found:04/12/18 12:08:05 ID:???
すみません、閲覧側のプリントスクリーンを無効にすることって可能ですか?
840Name_Not_Found:04/12/18 12:16:51 ID:???
>>839
ミリ
841Name_Not_Found:04/12/18 12:40:22 ID:kg3+e6p+
>>837-838
…ほんとだ。
マジでスイマセン。逝ってきます…。

どうもありがとうございました。
842836:04/12/18 12:50:38 ID:kg3+e6p+
修正してみたんですが、やっぱりリンクが出来ません。
やっぱりこういう記述の仕方は出来ないものなのでしょうか。
もしそうなら、何か他のやり方はありませんでしょうか?
843836:04/12/18 13:37:28 ID:kg3+e6p+
自己レス。
ちゃんとリンク出来ました。
またもや恥ずかしいイージーミスを…。
何度もすいませんでした。
844Name_Not_Found:04/12/18 14:21:09 ID:???
めげずにがんがれ。
845Name_Not_Found:04/12/18 14:59:53 ID:???
どっちかというと、自分がミスをしているくせに「ちゃんと
できている」と思い込む態度を改めるとずっとマシになるよ。
そんなことでこのスレに2回も質問したことを忘れるな。
846Name_Not_Found:04/12/18 15:23:16 ID:ApjrlGpB
SSIやCGI(CGIをSSIで呼び出すのも可)によって正確な時間を取得し、JavaScriptでカウントダウン等の処理をするにはどうしたらよいでしょうか?
847Name_Not_Found:04/12/18 15:32:10 ID:???
CGI で JavaScript 書けばいいだろ
848846:04/12/18 15:53:52 ID:ApjrlGpB
>>847
私がやりたいことは正確な時間(時間がずれているPCでも正しく見れる共通の時間)を取得したいことです。
説明がわかりづらくて申し訳ありません。
849Name_Not_Found:04/12/18 15:58:19 ID:???
>>846
tp://www2.nict.go.jp/cgi-bin/JST.pl
こういうことだべ?
850Name_Not_Found:04/12/18 16:02:14 ID:???
>>848
NTPサーバに問い合わせろ
851846:04/12/18 16:06:12 ID:???
>>849
はい。そのようにしたいのですが、どのようなソースになりますか?
852Name_Not_Found:04/12/18 16:06:21 ID:???
853846:04/12/18 16:07:48 ID:???
完璧に正確でなくともよろしいのです。通常のWEBサーバーの時刻を取得&JavaScriptで処理を行ないたいのですが・・・
854Name_Not_Found:04/12/18 16:15:54 ID:???
855Name_Not_Found:04/12/18 16:16:56 ID:???
856610:04/12/18 16:17:03 ID:???
>>854
SSIなどで時間取得→JavaScriptでリアルタイム処理としたいのですが。。
857846:04/12/18 16:19:46 ID:???
ミス

JavaScriptでSSIを使おうとすると、どうしても<!---->の記述の不正が出てしまいます。。諦めることにします。
858Name_Not_Found:04/12/18 16:22:32 ID:???
>>857
pgr
859Name_Not_Found:04/12/18 16:27:03 ID:???
クヲートで括ることも知らんヴァカハケーン
860804:04/12/18 16:30:34 ID:???
みなさんコメントthxです。
>>832
winmine.exeの仕様を再現するためなので、勘弁して下さい。
>>833
やっぱそうですかね。本家でも似たような処理をしてるのかしら。
>>834
恥ずかしながらaddEventListenerは初めて知りました。まだあまり
よく分かってないんですが、「元のハンドラを横取りして、Eventオブジェクトを
加工してから元のハンドラに処理を投げる」ような処理も書き換えが
効くんでしょうか。
obj.onxxxx=func; の代替にobj.addEventListener('xxxx', func, false);
とするのかな、程度のイメージしか沸きません。
>>835
条件式に同じ変数が何回も出てくるのはみっともないなー、と思いつつも
目をつむっていました。耳が痛いです。
861Name_Not_Found:04/12/18 16:37:12 ID:???
>>857

m9(^Д^) プギャー
862Name_Not_Found:04/12/18 18:09:22 ID:???
>>857
ネタ…か?
ちょっと落ち着いて基本サイト巡ってみなって。焦りすぎ。
863Name_Not_Found:04/12/18 19:25:59 ID:+9QZ5g0o
<script type="text/javascript">
function _resize()
{
  if (document.getElementById)
  {
    document.getElementById("layer1").style.left = window.outerWidth / 2;
  }
}
</script>

</head>
<body onresize="_resize()">
<div id="layer1" style="position:absolute;width:10px;top:0;left:0">a</div>
</body>
</html>

上のコードをNN7.1で動かそうとしてます。
スクリプトのif文の中に入りwindow.outerWidthの値も取れるのですが
代入後leftの値を見ると0ptで、もちろんdivブロックの移動も起きません。
何が間違っているんでしょうか?
864Name_Not_Found:04/12/18 20:10:43 ID:???
>>863
window.outerWidth / 2.0;
865864:04/12/18 20:14:57 ID:???
ごめん、>>864は無視して。
866Name_Not_Found:04/12/18 20:53:49 ID:I2KedJtj
http://pc5.2ch.net/test/read.cgi/software/1103177237/
ここの207です
window.getSelection()で受け取った文字列を改行ごとに
配列に格納するのにいい方法はないでしょうか?
toString()してからsplit()しようとしたら改行が消えてうまくいきませんでした
867Name_Not_Found:04/12/18 22:39:47 ID:???
>>860
>>835 の書き方が適切でなかったようで誤解されていますが、
>>828 の ..hook_onmousedown では if (handler) なのに、
..hook_onmouseup では結果的に else if (handler) となっている
ように見えるのだが良いのだろうか、という事です。
つまり、後者では handler が実行されない場合があるように読めた、という事です。
868Name_Not_Found:04/12/18 22:57:31 ID:???
>>866
たぶん、http://pc5.2ch.net/test/read.cgi/tech/1102172958/l50
のスレの事を言ってたんだと思うよ。
869Name_Not_Found:04/12/18 23:19:20 ID:???
>>866
> toString()してからsplit()しようとしたら
> 改行が消えてうまくいきませんでした

とりあえず
javascript:alert( getSelection().toString().match( /[^\r\n]+/g))
してみた。思い通りに動いた。
870Name_Not_Found:04/12/18 23:45:31 ID:???
>>863
outerWidth / 2 + "px"
// CSS1Compat モードでは、CSS1 または CSS2.1 仕様書に従う。

CSS プロパティ値の読み出しは、>>9 FAQ8 の通り、
getComputedStyle( document.getElementById( "layer1"), "").getPropertyValue( "left")
とした方が間違いない。
871Name_Not_Found:04/12/19 00:01:42 ID:???
質問です。
Internet Explorer for Handheld 4.01が対応してるのはJavaScript 1.5ですか?
872871:04/12/19 01:05:59 ID:???
恐らく解決です。

<script language="JavaScript1.1"><!--
document.writeln....

と順番にやっていったら1.2だけ反応しました。
873Name_Not_Found:04/12/19 03:09:01 ID:???
>>871
WinIE4 は、JScript3.0 で、機能的には、JavaScript1.1から1.3 くらい、
ECMA262-2から3 くらい、という感じ。
WinIE5 以上の JScript のヴァージョンは、
ttp://www.openspc2.org/reibun/javascript/browser/016/index.html
http://msdn.microsoft.com/library/en-us/jscript7/html/jsconditionalcompilationvars.asp
辺りを参考に。

自分の環境を晒してみる。
C:\>cscript //Logo
Microsoft (R) Windows Script Host Version 5.6
(略)
C:\>jsc /?
Microsoft (R) JScript .NET Compiler version 7.00.9502
(略)
C:>jsshell -v
JavaScript-C 1.5 pre-release 5a 2003-05-29
(略)
874821:04/12/19 03:10:20 ID:???
>>824
遅レスすみません。ありがとうございます。
やっぱり実装次第ですよねー。無難に全部保持しておくことにします。
875Name_Not_Found:04/12/19 04:12:56 ID:???
>>874
その Image オブジェクト自体へのスクリプトレベルでの問い合わせではないよ。
過去にセキュリティホールと指摘された、
(new Image).src = 'javascript:alert( "foo");'
を思い出せば自明だろうし、また、キャッシュを覗けば自明だろうし。
そして、特に、こういうレガシーな部分が仕様を変えて新規実装されることは *永久に* 無い。

また、そもそも、現在では、画像の先読み自体が不要では。
14.4kbps や 28.8kbps の接続速度など皆無。100MHz の CPU に 8MB のメモリに
100MB のハードディスクというクライアントマシンなど皆無。Image オブジェクトが
登場した当時とは環境が大きく違うから、先読みをする意味は薄い、というか、
使わない画像まで読み込むので、寧ろ邪魔。
876Name_Not_Found:04/12/19 04:36:57 ID:???
>>860
> 元のハンドラを横取りして、Eventオブジェクトを
> 加工してから元のハンドラに処理を投げる

これは >>828 のことでしょうか。簡単具体的に言うと、
..onmousedown = oldHandler
..onmousedown = newHandler
function newHandler () {
(略)
if (this[ 'on' + event.type]) this[ 'on' + event.type]( event);
}
ということでしょうか。
文意を正確に汲み取れている自信はありませんが、とりあえず、
そういう処理はしません。自動追加には必要ありません。

因みに、addEventListener と attachEvent は似ています。
WinIE にはイベントハンドラの結び付け方法が幾つか用意されていますが、
attachEvent と <public:attach .. /> がイベント自動追加します。
特に、attachEvent はその第二引数である関数の引数(全て)を無視して、
新たにイベントオブジェクトで上書きします。これは NN4 の
イベントモデルや、addEventListener と同じです。

イベントを書き換え(られ)てしまいたくないという要望を満たすために、
イベントに追加するという考え方があるのだろうと思われますが、
処理を細かく分割できるという仕様自体を上手に利用すれば、
後々のメンテナンス性向上に役立つかもしれません。
877Name_Not_Found:04/12/19 05:22:18 ID:???
>>860 ( >>876 の続き)
>>827-829 を参考にして、別の仕様を考えてみます。略記すると、
- setTimeout で、80ミリ秒後に、左(右)ボタン押下用の処理を実行。
- 左(右)ボタンが押下され続けている状態(80ミリ秒内)で右(左)ボタンが押下されたら、
 両ボタンが押下されたと見なし、clearTimeout して、両ボタン押下用の処理を実行。
という感じになります。

その処理を 5段階に分割してみます。
1. マウスが押下され続けているかどうか。
  この Boolean 値を左右それぞれ 変数 l と r に入れておく。
2. 左(右)ボタンが押下され続けている時に、右(左)ボタンが押下されたかどうか。
  この Boolean 値を変数 b に入れておく。
3. b == true の時、clearTimeout。
4. b == true の時、両ボタン押下用の処理を実行。
5. b == false の時、80ミリ秒後に左(右)ボタン押下用の処理を実行。

// JavaScript1.5 + DOM2
// 定数と変数
const P = 80; // 80ミリ秒
var t; // t = setTimeout( 左(右)ボタン押下用の処理, P);
var l = false; // 左ボタンが押下され続けていれば true
var r = false; // 右
var b = false; // 両
878Name_Not_Found:04/12/19 05:31:04 ID:???
>>860 ( >>877 の続き)
// 処理1: 左(右)ボタンが押下され続けているかどうか。
// onmousedown で true、onmouseup で false。

document.addEventListener( 'mousedown', function (e) {
switch (e.button) {
case 0: l = true; break;
case 2: r = true;// break;
}
}, false);

document.addEventListener( 'mouseup', function (e) {
switch (e.button) {
case 0: case 2: l = r = false;// break;
}
}, false);

// 80ミリ秒という要求を追加する。

document.addEventListener( 'mousedown', function (e) {
switch (e.button) {
case 0: setTimeout( 'l = false;', P); break;
case 2: setTimeout( 'r = false;', P);// break;
}
}, false);
879Name_Not_Found:04/12/19 05:51:26 ID:???
>>860 ( >>878 の続き)
// 処理2: 左(右)ボタンが押下され続けている時に、右(左)ボタンが押下されたかどうか。

document.addEventListener( 'mousedown', function (e) {
switch (e.button) {
case 0: b = r; break;
case 2: b = l;// break;
// 分かり易く冗長に書けば、
// case 0: if (r) b = true; else b = false; break;
// case 2: if (l) b = true; else b = false;// break;
}
}, false);
880Name_Not_Found:04/12/19 05:53:23 ID:???
>>860 ( >>879 の続き)
// 処理3: b == true の時、clearTimeout( t) する。

document.addEventListener( 'mousedown', function (e) {
switch (e.button) {
case 0: case 2: if (b) clearTimeout( t);// break;
}
}, false);

// 処理4: b == true の時、両ボタン押下用の処理を実行。

document.addEventListener( 'mousedown', function (e) {
switch (e.button) {
case 0: case 2: if (b) (両ボタン押下用の処理)();// break;
}
}, false);

// 処理5: b == false の時、t = setTimeout( (左(右)ボタン押下用処理), P)。

document.addEventListener( 'mousedown', function (e) {
switch (e.button) {
case 0: if (!b) t = setTimeout( (左ボタン押下用処理), P); break;
case 2: if (!b) t = setTimeout( (右ボタン押下用処理), P);// break;
}
}, false);
881Name_Not_Found:04/12/19 06:29:15 ID:???
>>860 ( >>880 の続き)
// おまけ。
document.addEventListener( 'contextmenu', function (e) {
e.stopPropagation(); e.preventDefault();
}, false);

以上です。しかし、>>877-880 で完成ではありません。
そもそも、document に addEventListener しても良いのか、と。
マインスイーパの方眼部分全てを抱合する要素オブジェクトにすべきだろう、と。
そして、確かにこれは Firefox1.0 で問題無く動きますが、それだけのことです。
他のバージョンの Mozilla で動く保証はありませんし、
各押下用処理が重ければ正しく動作しないかもしれません。
保守を容易にする為に処理を分割して例示しましたが、実用段階では、
予想されるトラブルを避ける為に、自分の管理できるイベントは、
全て一つにまとめましょう。まとめるのを見越して、置換しやすくなるように、
switch (e.button) { case 0: ...; ... } な書き方に統一しています。
>>827-829 のように、分かり易い(定数|変数|関数)名をつけて、
適切に構造化して、Mozilla 用のスクリプトは完成です。
882Name_Not_Found:04/12/19 06:49:03 ID:???
>>878
> document.addEventListener( 'mousedown', function (e) {
> switch (e.button) {
> case 0: setTimeout( 'l = false;', P); break;
> case 2: setTimeout( 'r = false;', P);// break;
> }
> }, false);

訂正。やはり、タイマーは丁寧に扱わないと。
// こういう訂正も、イベント追加という形で出来る。

var tt;
document.addEventListener( 'mousedown', function (e) {
switch (e.button) {
case 0: clearTimeout( tt); break;
case 2: clearTimeout( tt);// break;
}
}, false);
document.addEventListener( 'mousedown', function (e) {
switch (e.button) {
case 0: tt = setTimeout( 'l = false;', P); break;
case 2: tt = setTimeout( 'r = false;', P);// break;
}
}, false);
883Name_Not_Found:04/12/19 07:39:32 ID:???
>>875
亀レスだけど。
読み込んでおかないでやるロールオーバ効果は、たとえ100Mbps通信であっても
ちらつくので見苦しいです。
884Name_Not_Found:04/12/19 08:49:21 ID:???
>>846
セキュリティ設定次第だが、一応、JS だけで処理は完結できる。
つうか、JS だけでできるのにやらないとスレ違いにならないとも言えない。
>>849 にあるページに、
Standard = new Date( Date.parse("Sun Dec 19 08:32:21 2004") + 258 + JSToffset )
という部分がある。この、"Sun Dec 19 08:32:21 2004" 部分を書き換えようとしていると思う。
404 が返って来るリクエストを送り、Date レスポンスヘッダを利用すれば良い。
var uri = (new Date).getTime() + '.txt';
var ua = null;
try { ua = new ActiveXObject( 'Msxml2.XMLHTTP');} catch (e) {
try { ua = new ActiveXObject( 'Microsoft.XMLHTTP');} catch (e) {
try { ua = new XMLHttpRequest();} catch (e) { ;}}}
if (null != ua) {
ua.open( 'HEAD', uri, false);
ua.send( null);
Standard = new Date( Date.parse( ua.getResponseHeader( 'Date')) + 258 + JSToffset );
}
こんな感じ。これで出る誤差と >>846 が望むようなサーバでの処理で出る誤差に、大差は無い。
885Name_Not_Found:04/12/19 09:26:09 ID:???
>>883
スレ違いですが、いわゆるロールオーバー効果は、これに決まりでしょ。JS でやるもんじゃない。
ttp://wellstyled.com/css-nopreload-rollovers.html
886Name_Not_Found:04/12/19 11:02:59 ID:???
>>885
なるほど、ロールオーバ「だけ」ならそういうことなのね。
ロールオーバに伴って別のこともしたい場合が多いんじゃないのかな。
887Name_Not_Found:04/12/19 13:23:14 ID:???
>>885
中に書くテキストも画像化したい(装飾したい)ときに、
a要素の中身をどうするか、が面倒なんだよね、それ。
888Name_Not_Found:04/12/19 13:42:39 ID:???
>>866-867
両方とも特に問題だと思わないが…
889Name_Not_Found:04/12/19 13:58:49 ID:???
>>885
スレ違いだがそれはボックスのwidth, heightが固定じゃないと使えないからCSS的にも決定版なわけじゃない
890Name_Not_Found:04/12/19 14:31:07 ID:???
win ie6 や mozilla 1.x系でまったく問題ないスクリプトが、macIE (5.x) で「";"が必要です」みたいなエラーではじかれるのは、一般に何が原因なのでしょうか?
891Name_Not_Found:04/12/19 16:07:16 ID:???
JavaScriptの文法にきっちり従って書けばいいだけのことじゃないの。
892Name_Not_Found:04/12/19 16:12:11 ID:DYjxzE03
教えてください。

<head>
<script type="text/javascript"><!--
function obj () { this.t1 = "Hello"; }
// -->
</head>
<body onload="fnc( new obj( ) );"> // fcn() は別ファイル


<!--
document.write( t1 );
// -->

とやるとエラーになるわけですが、やはり<head>の中で、o = new obj(); とやって、
document.write( o.t1 ); とやるしかないでしょうか?
なんかカッコ悪い…
893Name_Not_Found:04/12/19 19:15:13 ID:???
>>892
アンタのその「やりたい」コードのが何倍もカッコ悪いと
思うけどね、洩れは。
<script type="text/javascript">
function Obj(s) {
this.str = s;
this.toString = function() { return this.str; }
}
var o1 = new Obj('Hello');
// ここで func(o1)を呼びたければ呼ぶ
document.write(o1);
</script>
894Name_Not_Found:04/12/19 21:54:12 ID:???
ちょっと知恵を貸してください。

Obj = window.open(<xxx.html>,"XXX");
のように、新しくウィンドウを生成したとします。

とんだ先のxxx.htmlの内容が、

<FRAMESET border="0" frameborder="NO">
<FRAMESET border="0" frameborder="NO">
<FRAME src='aaa.html' name="AA" noresize>
<FRAME src='bbb.html' name="BB" noresize>
</FRAMESET>
<FRAMESET border="0" frameborder="NO">
<FRAME src='ccc.html' name="CC" noresize>
<FRAME src='ddd.html' name="DD" noresize>
</FRAMESET>
</FRAMESET>

のようにフレームの入れ子になっている場合、そのうちの特定のフレームのみを指定して
リロードさせるようなことはできるでしょうか。

Obj.parent.BB.location.href = "eee.html";
のようにやってみていますが、うまくいきません。

よろしくおねがいします。
895863:04/12/19 22:41:21 ID:???
>>870
動きましたー!ありがとうございます。
896Name_Not_Found:04/12/19 22:45:02 ID:???
>>894
window.document.frames[1].open("eee.html","_self");
でいけるはず。
897Name_Not_Found:04/12/20 00:27:37 ID:???
どなたか知恵をかしてください。
結果で出力したものをボタン一発でコピーしたいと思っているんですが、
いい知恵が浮かびません。
window.clipboardData.setData
でなんとかいけるかな、と思っていたのですが、
全部をコピーするような事ができなかったもので…(汗)
一発コピーできるような方法はないでしょうか。
以下、自分で途中まで作ってみたものです。
結果は出力できますが、コピーが…

http://smash.s68.xrea.com/uploader/filez/3119.html
898Name_Not_Found:04/12/20 07:09:27 ID:???
クリックされた際の、カーソルの状態を調査するにはどうすれば良いのでしょうか?
クリックイベントを拾った時、カーソルがdefaultなら何もしない、handなら何か処理を行う、
というふうに処理を分岐させたいのですが。
899Name_Not_Found:04/12/20 07:35:11 ID:???
事故解決しました。this.style.cursorでした。調査不足でした。
900Name_Not_Found:04/12/20 08:04:46 ID:???
>>898-899
styleオブジェクトのcursorプロパティにスクリプトで
値をセットしていたから読み取れたんだろ。>>9 FAQ-8
901Name_Not_Found:04/12/20 08:13:51 ID:???
>>900
そうです。
既存のメニュースクリプトを改造中で・・・。
902Name_Not_Found:04/12/20 08:18:42 ID:???
>>889
HTMLで埋め込む画像自体にもwidthとheightがあるから、似たようなもの。
display:block出来なくてbackground-positionが適用されない時には、
JSでやるのと同様に複数枚の画像を用意すればよい。
HTMLのa要素を使う限りにおいて、約100%のブラウザが適用できるCSS規則だから、
JSのしゃしゃり出る幕は無い。
903Name_Not_Found:04/12/20 08:29:43 ID:???
>>887
スレ違いだが、<a href...><img src="foo" class="x" ...></a>
.x { visibility: hidden; }
:link, :visited { background-image: url("foo"); }
a:hover { background-image: url("bar"); }
とかなんとか書けばいいだろ。
904Name_Not_Found:04/12/20 09:11:20 ID:???
>>897
質問内容がよく分からない。わざわざコピーさせて貼り付ける手順を踏ませるより、
自動入力させれば良いだろうし。とりあえず、
http://msdn.microsoft.com/workshop/samples/author/dhtml/DXTidemo/DXTidemo.htm
のHTMLソースにcopy2Clipboardという名前の関数がある。それが参考になるかも。
905Name_Not_Found:04/12/20 13:21:37 ID:???
reg_1=/(http|ttp|tp):\/\/([!-z])+/
reg_2="ttp://abc"
reg_3="ttp://abcあいうえお"
でURL だけ かどうかを判定したい、つまりreg_2はマッチしてreg_3はマッチしたくないのですが、reg_1はどの様に書けばよいでしょうか?
reg_1だとreg_3の前半にマッチして
reg_3.test(reg_1)
がtrueになってしまいます。


それと1行の文字列のスペースを取り除いて
"  ttp://abc   "

"ttp://abc"
にしたいのですが\sを空白に置き換えると
"ここで はきものを脱いでください"→"ここではきものを脱いでください"
と文字列の途中の空白も消されてしまいます
先頭と末尾、どちらに有るか、何個有るかも変動します。
after=before.replace(reg_a,reg_b);
でreg_a,reg_bをどの様に定義したらよいか教えてください。
ちなみにURLの判定は無理が有りますがこれで良いです。
906Name_Not_Found:04/12/20 13:38:05 ID:???
>>905
全部正規表現の問題だな。
^ と $ について調べると良い。
907Name_Not_Found:04/12/20 18:07:56 ID:???
すいません、JavaScriptってどうやってOffにする(切る)んですか?
908Name not Found:04/12/20 18:32:15 ID:fGxCgT/e
javaのopenメソッドで、小窓のセンタリングにpopupcenterという記述を
行っています。

最近ふっと思ったのですが、画面のcenterに来る設定しか知らない
のですが、親元ページにセンタリングすることは可能なのでしょう
か?

よろしくですー
909Name_Not_Found:04/12/20 19:16:59 ID:???
>>907
板違い。ブラウザとバージョンを明記してPC初心者板かソフトウェア板へ

>>908
java? popupcenter?
910894:04/12/20 20:12:30 ID:???
>>896
ありがとうございます。参考になりました。
911Name_Not_Found:04/12/20 23:00:05 ID:???
ついさっきJavaScriptの勉強を始めたわけなのですが、
早速つまってしまいました。
”CLICK”というラベルの付いたボタンを作成しようと思ったのですが、
以下の記述ではエラーが発生してしまい、何も表示されません。
どこに問題があるのでしょうか?

<HTML>
<HEAD>
<script language = "JavaScript">
<!--
<form name = "form1">
<input type = "button" value = "CLICK">
</form>
//-->
</script>
<noscript>
JavaScriptが使えません
</noscript>
</HEAD>
</HTML>
912Name_Not_Found:04/12/20 23:01:28 ID:FfSxROtZ
window.open()で開いた窓(html)の中にあるJavaScriptにパラメータを渡すにはどうしたらよかと?
913Name_Not_Found:04/12/20 23:02:17 ID:???
>>911
マジなのか、ネタなのか?
914Name_Not_Found:04/12/20 23:04:13 ID:???
>>913
天然w
915Name_Not_Found:04/12/20 23:05:27 ID:???
>>911
> どこに問題があるのでしょうか?

キミの頭。
916Name_Not_Found:04/12/20 23:05:37 ID:???
>>92
親ウィンドウのwindow.open()が子ウィンドウのwindowを返す。
子ウィンドウのwindow.openerが親ウィンドウのwindowを返す。
あたりを利用すれ
917911:04/12/20 23:07:34 ID:???
マジなんですけど…。
918Name_Not_Found:04/12/20 23:07:57 ID:FfSxROtZ
>>916
おお、そげなよかもんがあったとですか。あいがとごわした。
919Name_Not_Found:04/12/20 23:09:36 ID:???
テンプレに

・JavaScriptとHTMLの違いを理解する者

を追加きぼんぬ。
920911:04/12/20 23:15:56 ID:???
スマン、わかった…。
921Name_Not_Found:04/12/20 23:29:15 ID:FfSxROtZ
window.openerで親窓からのパラメータの受け渡しちゅうか、変数を参照することはできもしたが
同様に親窓にある処理を子窓から呼ぶのに、

 a = window.opener.func();

とやったら、NN7.1では正常動作するとですが、IE6ではエラーになりもす。
マイクロソフトをしばいてもよかですか?
922Name_Not_Found:04/12/20 23:46:09 ID:???
img.innerHTML=<img src='url' alt=''> でid="img"のタグ内容を書き換えてから
window.scroll(0,999) でウィンドウスクロールされる関数を組んだんだけど、
画像表示時間と処理が干渉するのか、画面がスクロールされないことがあります。

解決方法はないでしょうか。よろしくお願いします。
923Name_Not_Found:04/12/21 00:59:19 ID:???
>>922
setTimeout(function() { window.scroll(0, 999); }, 20);
とかどうかね。
924Name_Not_Found:04/12/21 08:45:33 ID:???
次期テンプレ、FAQ等の希望あれば今のうちに議論しよ。
975超えたら次たてます。
925908:04/12/21 09:30:09 ID:fnV6016f
小窓オープン時のpopupcenterです。
親ページに

<script language="JavaScript" type="text/JavaScript">
<!--
function popupCenter (url, name, width, height) {
var left = (screen.availwidth - width) / 2;
var top = (screen.availheight - height) / 2;
var options = "left=" + left + ",top=" + top +
",width=" + width + " ,height=" + height;
window.open(url, name, options);
}
//-->
</script>

を記述し、clickすべき部分にa要素で

<a href="小窓ページ.htm" onclick="popupCenter(小窓ページ.htm','タイトル',
580, 460); return false;"><img src="クリックすべき画像.jpg" width="70" height="70" border="0"></a>

としています。

これで小窓が 【画面】 のセンターには来るのですが、これを応用して
親ページのセンターに、という形にしたいのです。

達人様よろしくお願いします。
926Name_Not_Found:04/12/21 13:37:12 ID:???
>>925
ということは、アンタは「親窓の画面上の位置」と「親窓の
幅と高さ」を取得する方法が分からないと。そう理解してよい?
927908:04/12/21 13:58:49 ID:fnV6016f
>>926

そのとおりですね。
var left = (ここ)
var top = (ここ)

で指示していることは分かるのですが、親窓の記述が
分からないです。
928Name_Not_Found:04/12/21 14:51:31 ID:???
window が screen のどの辺にいるのか、を取得することはできないのではないかい?
いや、Windows+MSIEならできるのかもしれんが。
929Name_Not_Found:04/12/21 15:07:04 ID:???
>>925
Mozilla では大まかに出来る。IE では、Mozilla の outer(Width|Height)
に該当するプロパティが無いから、無理。ただし、親子窓共に JS で開いて、
ロケーションバーその他を無くしておけば、大まかにできるが、非現実的。
// その非現実を目の子でpx数えて実現してしまうと
// 悪意のあるサイトと間違われるから注意。

Mozilla。少なくとも数pxのずれが出るが、
screen(X|Y) + outer(Width|Height) - inner(Width|Height) / 2
で、スクリーン左上を原点とした時の表示領域部分の中心が求まる。
これに、子窓の中心: (子窓).outer(Width|Height) / 2
が重なるように、子窓の左上をセットすればよい。

このレスを書いていて、テンプレに、
http://lxr.mozilla.org/seamonkey/source/dom/public/idl/
は必要だろうと思った。 >>924
930K-tai:04/12/21 15:27:56 ID:Tj4d1nMY
携帯用ホームページにJavaScriptは使えますか?
よろしくお願いします。
931Name_Not_Found:04/12/21 15:29:22 ID:???
>>930
携帯による
932K-tai:04/12/21 15:56:54 ID:Tj4d1nMY
携帯によるとは、キャリアによって違うということでしょうか?こういうことが
書いてあるサイトがあれば教えて欲しいのですが。
よろしくお願いします。
933Name_Not_Found:04/12/21 16:06:50 ID:???
>>932
それ以前に携帯端末でJavaScriptが有効に動作する機種を探したほうが早い。普通は動かない。
JavaScriptの仕組み自体を考えれば、携帯では動かないと思うが。

もっとも最近の携帯がどうなってるのかは知らん。ただ、今現在では携帯=JavaScript動かない
934Name_Not_Found:04/12/21 16:46:56 ID:???
>>929 で大嘘書いたアフォです。
IE も大まかにできる。
screen(Left|Top) + document.body.client(Width|Height) / 2
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/screenleft.asp
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/screentop.asp
935Name_Not_Found:04/12/21 16:55:30 ID:???
>>930 == >>830 ?
>>831
最近出たauのカシオもOpera搭載してるな、と言って欲しいのか?工作員?
936Name_Not_Found:04/12/21 17:14:22 ID:???
>>929
それが読める人ならこのスレにはこないだろうと思った。
937Name_Not_Found:04/12/21 19:24:23 ID:???
ColorStrという配列を作りそれをr_ColorStr = ColorStr.reverse();
でひっくり返しdocument.writeでその両方を使って書き出したいのですが、
例えば以下のように
for(i=0;i<ColorStr.length;i++){
document.write(str1 + ColorStr[i] + str2 + r_ColorStr[i] + str3);}
alert(r_ColorStr)、alert(ColorStr)、も同じ値が帰ってきます。
何がダメなのでしょうか?よろしくお願いします。
938Name_Not_Found:04/12/21 20:11:07 ID:???
Colorstr.reverse()は自分自身をリバースさせて、なおかつ自分自身を返すから。
だから、

var r_ColorStr=ColorStr;
r_ColorStr.reverse();
;
ってやればいい。
つーか、質問する時は変数を宣言してくれ…
読めねぇよ。
939Name_Not_Found:04/12/21 20:53:57 ID:???
レスありがとうございます。
変えてみたのですが......。やはり変わりません。
具体的なソースを教えて頂けるとありがたいのですが....。
よろしくお願いします。ちょっと過去スレの旅に行ってきます。
940Name_Not_Found:04/12/21 21:32:34 ID:???
でけました。document.writeを二行に分けて、ColorStr.reverse();
としました。ありがとうございました。
941Name_Not_Found:04/12/22 03:32:46 ID:???
>>937-940
var a = new Array( 1, 2, 3);
var reference = a; // 参照として代入。同一の参照。
var duplicate = a.slice( 0); // 参照の複製を代入。コピー。
// var duplicate = Array.apply( null, a); としても複製できる。

// 確認。
a == reference; // true
a == duplicate; // false

// まず、a の reverse メソッドを実行してみる。
a.reverse(); // 3, 2, 1
reference; // 3, 2, 1 ( == a)
duplicate; // 1, 2, 3 不変。

// reference の reverse メソッドを実行してみても同じ結果。元に戻る。
reference.reverse(); // 1, 2, 3
a; // 1, 2, 3 ( == reference)

// duplicate の reverse メソッドを実行してみる。
duplicate.reverse(); // 3, 2, 1
reference; // 1, 2, 3 不変
a; // 1, 2, 3 不変

次を読め。
http://www.microsoft.com/japan/msdn/library/ja/script56/html/js56jsconvalref.asp
942Name_Not_Found:04/12/22 11:06:39 ID:pktK+JPo
webページのボタンクリックで、ローカルにあるvbsをキックする処理を作った所、
ファイルの場所がCドライブ直下にあれば、成功するのですがCドライブにフォルダを作ってそこをキック
するように変更したら、「ファイルが見つかりません」エラーになりました。なぜでしょう?

-- これはOK 該当ファイルはC\:sample.vbs --
wshshell=new ActiveXObject("WScript.Shell");
wshshell.run("C:\\sample.vbs");

-- これがNG 該当ファイルはC\:test\hoge\sample.vbs --
wshshell=new ActiveXObject("WScript.Shell");
wshshell.run("C:\\test\\hoge\\sample.vbs");

IFRAME内である条件を満たせば上記がスクリプトが走るつくりになっています。
943Name_Not_Found:04/12/22 11:45:20 ID:???
>>942
試したが、問題は再現されなかった。
//「C\:」みたいな誤記をしている人は似たようなミスをしているものだ。
944Name_Not_Found:04/12/22 13:52:32 ID:???
"0123456789ABCDEF"
"F0123456789ABCDE"
"EF0123456789ABCD"
"DEF0123456789ABC"
"CDEF0123456789AB"
"BCDEF0123456789A"
"ABCDEF0123456789"
"9ABCDEF012345678"
"89ABCDEF01234567"
"789ABCDEF0123456"
"6789ABCDEF012345"
"56789ABCDEF01234"
"456789ABCDEF0123"
"3456789ABCDEF012"
"23456789ABCDEF01"
"123456789ABCDEF0"
こういうのを吐き出させるにはどうしたらいいのでしょうか?
よろしくお願いします。
945Name_Not_Found:04/12/22 14:20:14 ID:???
宿題か?
var str="";
for(vari=0;i<0x10;i++){str+="\"";for(var j=0; j< 0x10;j++)str+=((0x10+j-i)%0x10).toString(0x10);str+="\"\n";}
alert(str.toUpperCase());
946Name_Not_Found:04/12/22 14:23:04 ID:???
あ、vari じゃなくて、var i だな。
947Name_Not_Found:04/12/22 15:29:20 ID:???
訊き方が悪う御座いました。
"アイウエオ"
"オアイウエ"
"エオアイウ"
"ウエオアイ"
"イウエオア"
でお願いします。
948Name_Not_Found:04/12/22 15:42:05 ID:???
>947
氏ね
949Name_Not_Found:04/12/22 15:44:05 ID:???
>>947
"アイウエオアイウエオ"
のi番目から5文字抜き出せばいいだろう。
あとはforとsubstrの使い方調べれ。
950Name_Not_Found:04/12/22 15:47:08 ID:???
>>948
厭じゃ
951Name_Not_Found:04/12/22 16:47:57 ID:???
>>950
手とり足とり教えるJavaScriptスレ
http://pc5.2ch.net/test/read.cgi/hp/1099993040/
952Name_Not_Found:04/12/22 20:23:54 ID:???
javascript:var str="";const code = "ア".charCodeAt(0);const length=5;for(var i=0;i<length;i++){str+="\"";for(var j=0;j<length;j++)str+=String.fromCharCode(((length+j-i)%length)*2+code);str+="\"\n";}alert(str);
953Name_Not_Found:04/12/23 01:10:58 ID:???
JavaScriptに「const」なんてあった?
954Name_Not_Found:04/12/23 01:21:33 ID:???
>>953 Netscape拡張な
955Name_Not_Found:04/12/23 06:27:52 ID:???
>>954
揚げ足取りだが"JavaScript"はNetscape/Mozilla.orgが策定したものだから
「Netscape拡張」という言い方はちょっと変じゃないか?

const自体はJavaScript 1.5から追加されたようだ。
ttp://www.mozilla-japan.org/js/js15.html
956Name_Not_Found:04/12/23 07:07:17 ID:???
わかったからさっさと代替案を出してくれ
957Name_Not_Found:04/12/23 13:15:58 ID:???
constの代わりにvarを使えばよかろう。
958Name_Not_Found:04/12/23 13:17:16 ID:???
つーか、952はvarにしたら、マジで動くな…
959Name_Not_Found:04/12/23 15:35:59 ID:???
CSSの切り替えスクリプトを使ってるんですが、Firefoxでたまに動作しなくなります。
JSコンソールを見たところ、
if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
この二つの行でエラーが発生しているようです。
エラー内容が、a.getAttribute("rel") has no properties、とあるのですが、これはどう言う意味なのでしょうか?
どうすれば改善することが出来るか、どなたか宜しくお願いします。
960Name_Not_Found:04/12/23 16:05:06 ID:???
つまり、relがないからnullになってるんだろ。
961Name_Not_Found:04/12/23 16:08:25 ID:???
>>959
link 要素の rel 属性の存在を確かめていないから
rel 属性を取得(=null) になって、 null にプロパティなんてねーぞコラと怒られている。
if(a.getAttribute("rel") && a.getAttribute("rel").indexOf....
にしれ。
ていうかどこのスクリプトだ、それは……。
962Name_Not_Found:04/12/23 16:24:22 ID:???
>>960-961
仕様書読め。例えば、このページで
javascript:alert(document.body.getAttribute('lang'))
すると、空の文字列ではなく、null が返って来る。
DOM1-3 全ての勧告で、空文字列と定められているから、紛れも無いバグだな。

>>959
そのスクリプト自体が遠回りなやり方をとっていることにも問題が無いとは言えない。
StyleSheetList ではなく NodeList に問い合わせる意義は想像できない。
HTMLでlink要素に忘れずrel属性値を書くか、
'string' == typeof a.getAttribute("rel")
という条件を if の最初に挿入するか。
963Name_Not_Found:04/12/23 16:46:40 ID:???
良くありがちな質問だと思うのですが・・・

下記の関数を、

function WeekdayName(weekday)
{
wname = new Array(7);
wname[0] = "日";
wname[1] = "月";
wname[2] = "火";
wname[3] = "水";
wname[4] = "木";
wname[5] = "金";
wname[6] = "土";

wdname = this[weekday];
return wdname;
}

HTMLファイルの中に記述するとOKなのですが、
別ファイルにして、記述すると、
「終了していない文字列型の定数です。」
とエラーになります。
どうも"日"が悪いようで、これを"月"にしたりするとOKだったりします。
何がいけないのでしょうか?また回避策はあるのでしょうか?





964Name_Not_Found:04/12/23 17:01:00 ID:???
>>963
なぜ「良くありがち」と判断するのか、その根拠をうかが
おうか。このスレで未だかって出たことがないような気がする。
文字コード変換ツールで文字コードをJIS、SJIS、EUCの3通り
に変換してテストしてみれ。
965Name_Not_Found:04/12/23 17:12:45 ID:???
何で俺が仕様書を読まなくちゃいけないんだ?
mozillaはわざとDOMを無視してるんだし。
966Name_Not_Found:04/12/23 17:13:41 ID:???
967Name_Not_Found:04/12/23 17:14:42 ID:???
>>964
素直にユニコードでエスケープした方がいいと思うが。
968963:04/12/23 17:24:22 ID:???
>>964
「終了していない文字列型の定数です。」でぐぐったら沢山出てきました。

"月"はよくて"日"が駄目というのは、文字コードに関係する
ような気がしてブラウザのエンコードを見ると、
UTF-8になってました。

HTMLはShiftJisで作成しているつもりなので、不思議です。

>>967
ユニコードでエスケープする方法を教えてください。
969Name_Not_Found:04/12/23 17:54:32 ID:???
>>968
多分、JAVAのSDKに入ってるNative2Asciiが定番だとは思うが、
あまり素人にはお薦めできない。めんどいから。
escaped-unicodeを生成できるエディタはいくつかあるけど、
その気になれば、ローカルのjavascriptで生成することも可能。
とりあえず、"日"の代わりに"\u65e5"をいれておけば大丈夫でしょ。

//日月火水木金をescaped-unicodeにする方法
var str="日月火水木金土";var retval="";for(var i = 0;i<str.length;i++) retval+="\\u"+str.charCodeAt(i).toString(16); document.write(retval);

もちろん、生成する時に既に文字化けしてたら、どうしようもないが、
それはHTMLの中に書く方で何とか対処してくれ。
ちなみに答えは"\u65e5\u6708\u706b\u6c34\u6728\u91d1\u571f"

javascript: alert("\u65e5\u6708\u706b\u6c34\u6728\u91d1\u571f");
で確認できる。
970963:04/12/23 20:29:29 ID:???
>>969
ありがとうございます。

わかったことがあります。
現在作成しているページはhtmlではなく、aspxでした。
aspxの場合、ファイルをShiftJisで作成し、charsetをShiftJisに指定しても、
エンコードはUnicodeになるようです。

別ファイル(.js)をUnicodeで作成してみたらうまくいくようになりました。

色々とありがとうございました。


971Name_Not_Found:04/12/23 22:20:16 ID:0aIRJ8jJ
Another HTML-lintを使うと、onclick属性を使用するときはonkeypress属性も併用するように警告されますが
ボタンにonkeypressを追加した場合、Enterキーでボタンを押した場合onClickとonkeypressが同時に実行されてしまいます。
これに対処する(同時に2回実行されないようにする)にはどうしたらいいですか?
よろしくお願いします。
972Name_Not_Found:04/12/24 01:21:06 ID:???
>>971
同時ではない。順序は決まっているから、実験してみろ。

仮に、Enter キー を押した時の順序が、keypress → click ならば、
次のような処理になる。
var enterKeyPressed = false;
function foo (event) {
if (event.type == 'keypress') { if (event.keyCode == 13) { // Enter キー
enterKeyPressed = true;
bar( event);
setTimeout( 'enterKeyPressed = false', 100); // 本当に click イベントが発生しない UA への配慮
} } else if (enterKeyPressed) { // keypress に連続する click
enterKeyPressed = false;
} else { // click
bar( event);
}
}
function bar (event) { やりたい処理 }

重要なのは、アクセシビリティのために追記した HTML の onkeypress 属性を
無視しないよう工夫すること。要するに、foo 関数は
function foo (e) { if (e.type == 'click') { bar(); }}
と定義することも出来る ( keypress イベントを無視している) が、
それでは HTML の onkeypress 属性を書いた意味が無いだろう、ということ。
973Name_Not_Found:04/12/24 01:31:46 ID:???
>>972
> 本当に click イベントが発生しない UA への配慮
「本当に」を「連続して」に訂正。
974Name_Not_Found:04/12/24 08:35:15 ID:???
>>972
ブラウザによって順番が違う場合の配慮も必要じゃないの?
975Name_Not_Found:04/12/24 08:41:54 ID:???
976Name_Not_Found:04/12/24 13:26:14 ID:???
preventBubbleで泡の方を消せば万事解決。
977Name_Not_Found:04/12/24 16:45:02 ID:???
>>972-974
ありがとうございます。いろいろと試してみます。
978Name_Not_Found:04/12/25 06:13:14 ID:???
>>976
違う。
// しかもそれは Mozilla の独自拡張メソッド。
979Name_Not_Found:04/12/26 00:20:55 ID:???
フォームで、Undo/Redoボタンを付けたいのですが
document.undo()のような事って出来るのでしょうか?
検索したのですが、期待する資料は出てきませんでした。
出来ない場合、change毎にテキスト等を記憶し、呼び出す等しかないでしょうか。
もし、他に有効的な方法があれば教えてください。
980Name_Not_Found:04/12/26 01:35:55 ID:???
>>979
それがUndo/Redoのロジックだと思うょ
がんばって実装してみてね♪
981Name_Not_Found:04/12/26 21:12:27 ID:Nn+buiLi
JavaScriptを実装するとき、HTMLファイルのヘッダーには

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

と2つ書く必要がありますか?
982Name_Not_Found:04/12/26 21:16:15 ID:???
>>981
Content-Script-Typeでしょ。それぞれ役割が違う
983981:04/12/26 21:25:57 ID:???
>>982
> Content-Script-Typeでしょ。

ぬほっ(;´Д`)
すっかり書き間違えてました。
出直してきます。
984Name_Not_Found:04/12/27 11:54:41 ID:???
>>981
charsetはいらない。
HTML中に記述するなら当然そのHTMLの文字コードと同じだし、
外部ファイルにするならcharset属性を使えばいいから。
985Name_Not_Found:04/12/28 07:31:26 ID:jWbTRZuv
たまに、ホームページのソースに

if(document.all){
}else if(document.getElementById){
}else if(document.layers){
}

というものがありますが、
これは何を目的に何を判別しているのですか?
986Name_Not_Found:04/12/28 07:51:55 ID:???
ブラウザの判別してると思う
987Name_Not_Found:04/12/28 17:53:36 ID:???
>>985
if に続く ( ) の内容で真偽を判定して、(真|偽)なら続くブロックは実行(される|されない)。
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/9_Type_Conversion.html#section-9.2
の規則が適用される。

例えば、document.layers は、
NN4 にとっては LayerArray オブジェクト、その他にとっては undefined だから、
規則に照合して真偽値に変換すると、NN4 では true、その他では false となる。

例えば、document.getElementById は、
DOM 云々を謳うブラウザにとっては function、その他にとっては undefined になる。
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/13_Function_Definition.html
の通り、J(ava)Script では、関数それ自体もオブジェクトだから、結果的に、
DOM 云々ブラウザでは true、その他では false に変換される。

注意すべきは、document.all で、次か次の次あたりの Firefox はこれを理解するだろうし、
Opera は IE モードだと理解する (理解するとは、少なくとも undefined では無いということ)。
988Name_Not_Found:04/12/28 18:00:39 ID:???
>>985
> 何を目的に何を判別しているのですか?
未知のメソッドを実行させてエラーメッセージが出てしまうのを防ぐのが目的。
document.all をオブジェクトとして理解していますか、
document.getElementById を関数として理解していますか、
document.layers をオブジェクトとして理解していますか、と問い掛けている。

>>987 からなんとなく分かってもらえると思うが、直接的なブラウザ判定ではないということ、
そして、使うメソッドやプロパティを理解するかどうかを問う方が近道だということ。
直接的なブラウザ判定なら、navigator.userAgent 辺りを見て、自己申告される
ユーザエージェントを信じることになる。クライアントサイドで自己申告される
ユーザエージェントは、HTTP リクエストヘッダに比べれば、ユーザに書き換えられ難いので、
全てのユーザエージェントを把握していて、それら全ての J(ava)Script 実装まで
把握できているというなら、有効な手段にならないわけでもない。が、そもそも、
多数のユーザエージェント全てを把握しようと努力すること自体がナンセンス。
結局、前記「近道」に辿り着くことになる。
989Name_Not_Found:04/12/28 18:22:22 ID:???
>>985
例えば、new Image と書きたいとする。ならばブラウザに、if (window.Image) と問えばよい。
例えば、document.images と書きたいとする。if (document.images) と問えばよい。
例えば、document.compatMode と書きたいとする。if (document.compatMode) と問えばよい。
ただし、String型のプロパティの場合は、その値に 'undefined' という文字列が現れない限り、
if ('CSS1Compat' == document.compatMode) と問う方が現実的。
例えば、if (document.implementation.hasFeature( 'Events', '2.0')) と書きたいとする。
if (document.implementation && document.implementation.hasFeature) {
if (document.implementation.hasFeature( 'Events', '2.0') { ... } } という感じになる。

実は、こういう面倒な記述は、(WinIE5 以上|Mozilla) では殆ど必要無い。
(HTC|XBL) を使うに限る。そもそも、これらは変数を隠蔽してくれるから、
それだけでも使わない手は無い。
990Name_Not_Found:04/12/29 03:27:50 ID:???
>>987
Firefoxがif (document.all) ...を真判定するようになることは多分ない。
しかしFirefoxはすでにdocument.all(id)といったオブジェクト取得法を実装している。
ttps://bugzilla.mozilla.org/show_bug.cgi?id=248549
991985:04/12/29 07:45:19 ID:2D4y5uzE
ありがとうございます。
992Name_Not_Found:04/12/29 20:07:13 ID:???
Oh!
993Name_Not_Found:04/12/30 18:31:59 ID:???
ume
994Name_Not_Found:04/12/30 18:34:45 ID:???
再度次スレを貼っておくか

+ JavaScript の質問用スレッド vol.33 +
http://pc5.2ch.net/test/read.cgi/hp/1103844975/
995Name_Not_Found:04/12/31 04:53:25 ID:???
ume
996Name_Not_Found:04/12/31 04:53:46 ID:???
sakura
997Name_Not_Found:04/12/31 04:54:01 ID:???
age
998Name_Not_Found:04/12/31 04:54:07 ID:???
matsu
999Name_Not_Found:04/12/31 04:54:27 ID:???
999
1000Name_Not_Found:04/12/31 04:54:48 ID:???
sen
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。