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

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

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

前スレ http://pc5.2ch.net/test/read.cgi/hp/1084943518/l50
FAQ・過去ログ・関連資料・その他質問スレは >>1-10
2Name_Not_Found:04/06/22 16:32 ID:???
【過去ログ】全部マスターしたらあなたも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
vol.24 http://pc5.2ch.net/test/read.cgi/hp/1070943773/l50 (行方不明)
vol.25 http://pc5.2ch.net/test/read.cgi/hp/1075096787/l50 (行方不明)
vol.26 http://pc5.2ch.net/test/read.cgi/hp/1077362343/l50
vol.27 http://pc5.2ch.net/test/read.cgi/hp/1077362343/l50
vol.28 http://pc5.2ch.net/test/read.cgi/hp/1084943518/l50
3Name_Not_Found:04/06/22 16:32 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/
4Name_Not_Found:04/06/22 16:33 ID:???
【チュートリアルサイト・サンプルサイト】
規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。

ECMAScriptチュートリアル
http://user.ecc.u-tokyo.ac.jp/~t10521/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/

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

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

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

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

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

役に立つ書籍は?
http://pc5.2ch.net/test/read.cgi/hp/992793435/l50
6Name_Not_Found:04/06/22 16:34 ID:???
【質問を書く上で】
弱気な表現は避ける
  弁解じみた表現は良くない。また、まわりくどい。
    ex) 超初心者で何もわかりませんが……
     <そんなことより自分で試したことをた方が答えやすい>
情報を小出しにしない
  読み手は馬鹿にされた気分になる。
  無駄な倒置も不要だ。
  使用したブラウザ、バージョン、OSくらい書こう。
感情的にならない
  何の説明なく決め付ける文はよい印象を与えない。
  また態度の大きい人は嫌われる。
    ex) 答えられねぇんなら黙ってろ!!! <お前だけだよ>
無視するべきものは無視する
  無能、知ったかぶり、宗教的主張、煽り、ぬるぽ等。
表記ミスに注意
  内容がどんなにすばらしくても文字使いにミスがあると誤解を招く。
曖昧文は書かない
  いくつにも解釈できる文章は絶対に書かない。
    ex) ここではきものをぬいでください。
「」など無駄な強調は避ける
  読みにくい。♪や顔文字も同様である。
ソースは要点を整理して出す。
  そのまま貼って動かせると試してもらいやすい。
  長い場合はアップロードしてURIを貼る。
7Name_Not_Found:04/06/22 16:36 ID:???
おつかれ〜!
8Name_Not_Found:04/06/22 16:54 ID:???
時はまさに世紀末
淀んだ街角で僕らは出会った
9Name_Not_Found:04/06/22 19:37 ID:???
>>1

>>6 ガッ
10Name_Not_Found:04/06/22 19:43 ID:???
>>1


>>8
no boy no cry
11Name_Not_Found:04/06/22 21:41 ID:???
【FAQ/よくある質問と回答】
…テンプレに入れるのは賛否あるのでとりあえずここに書いときます。

Q1. JavaとJavaScriptって同じですよね?
A1. 全然違います。型とかクラスはJavaだけ。DHTMLは普通JavaScript。
Q2. 開いた別窓/フレームの内容にアクセスできないのですが…
A2. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
Q3. JavaScriptでローカルファイルを読み/書きたいのですが…
A3. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに…
Q4. document.write(...)でページ内容を追加したいのですが…
A4. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。
 部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、
 (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。
 innerHTMLは非標準ですがIE、Opera、Gecko(N6/N7/Moz等)で対応済。
Q5. document.all(...)がNetscapeで使えないのですが…
A5. それはIE専。標準のdocument.getElementById(...)を使いましょう。
Q6. Aタグのonclickで動作指定してるのですが時々動きません…
A6. 「onclick="...;return false"」としないとページ移動しちゃうから。
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;」。
12Name_Not_Found:04/06/22 22:11 ID:???
正直>>6は いつだったかスレに変なのが沸いた時に
漏れが書いたものだが、もう不要と思われ。
というのも、テンプレが無駄に長くなるからだ。
13Name_Not_Found:04/06/22 22:15 ID:???
そうだねえ、5まであれば十分かなあ。
14Name_Not_Found:04/06/22 22:48 ID:GQMfUuAS
IE6 でウィンドウの高さを得るには
document.body.clientHeight を使うと思うのですが,
DOCTYPE スイッチで標準準拠モードにすると
document.body.clientHeight がウィンドウの高さではなく
body 要素自身の高さを返すようです.

この挙動の是非は置いておくとして (Opera も後者のようです),
標準準拠モードでウィンドウの高さを得るにはどうすればよいのでしょうか.
15Name_Not_Found:04/06/22 22:54 ID:???
>>1


>>10
♪キーピューバーニーン かーけーぬーけてー
16Name_Not_Found:04/06/22 23:04 ID:???
>>12
まあ なんか変な奴が来たら >>6読め って書くだけで済むから便利だよ

>>15
この腐敗と自由と暴力の真っ只中
17Name_Not_Found:04/06/22 23:38 ID:???
>>14
標準準拠モードでは最外側要素はdocument.bodyではなく
document.documentElementになるんじゃないの。
18Name_Not_Found:04/06/22 23:54 ID:???
なんじゃ>>11は・・・
Qに対してどれもまともな回答になってないじゃないか。
よくこんな陳腐なのを作ったものだな。
19Name_Not_Found:04/06/22 23:57 ID:???
たしかに、、、
内容をよく見てみると、かなりきてる。。。
20Name_Not_Found:04/06/23 00:00 ID:???
マトモなものが全く無いとは言わんけどね。

相手するまでも無いと思って放っておいたんだけど、
スルーしてると どんどん図に乗ってくるもんなんだなぁ。
21Name_Not_Found:04/06/23 00:15 ID:???
よっぽど自分の作ったものをテンプレに入れたがってるみたいだね。
スレーしてるより不要と言ってやらんと。
22Name_Not_Found:04/06/23 00:42 ID:???
多くの質問に、多少のFAQで問題が解決するはずがない、と思うのだがどうだろう
23Name_Not_Found:04/06/23 07:59 ID:???
このスレで実験するということじゃないのかな。それで
スレの終わりまでに「>>11のXX番をよめ」で済むことが
何回以上あったら成功だと思う?
24Name_Not_Found:04/06/23 08:34 ID:???
>>23
とりあえず最低7回。(QAが7個だから)
で、参照されなかった番号はリストラ。
25Name_Not_Found:04/06/23 09:27 ID:???
参照されなかったものを削るというのはいいなあ!
2614:04/06/23 09:38 ID:???
>>17
取れました,ありがとうございます.
…というかFAQっぽいですね(汗)
27Name_Not_Found:04/06/23 14:55 ID:???
>>26
FAQに入れましょう(ry
28Name_Not_Found:04/06/23 15:27 ID:???
windowの高さとクライアント領域の高さは別物ってことも付け加えとけ
29Name_Not_Found:04/06/23 20:15 ID:CP3uCzld
言葉を慎まれよ
30Name_Not_Found:04/06/23 20:16 ID:???
JavaScript外部ファイルについて
http://external.pcc.jp/~biso/

↑のサイトさんなんですが、ここ数日繋がらなくて本日やっと繋がったと思ったらパスワード制になってました
どうすれば入れるかわからないのですが誰かご存知の方いらっしゃったら教えてくださいませんか?

もし板違いでしたら恐れ入りますが誘導お願いします。
31Name_Not_Found:04/06/23 20:51 ID:???
スレ違い。初心者スレへ逝け。
32Name_Not_Found:04/06/23 20:54 ID:???
>>30
板違いだが、誘導といっても、答えられる奴はいないような気もする。

何のサイトか知らないが、管理者に問い合わせるしかないんじゃないの?
もしくは、ハッククラックの勉強をしてその道のプロになるといい。
33Name_Not_Found:04/06/24 03:50 ID:???
誘導されてこちらにきました。よろしくお願いします。
日記用CGI Nicky!に
<!--
function txvad(){
document.sform.Message.value += document.sform.sel01.options(document.sform.sel01.selectedIndex).text;
return false;
}
// -->
body部分
<form name="sform">
<select name="sel01">
<option>あいうえお
<option>かきくけこ
<option>さしすせそ
</select>
<a href="#" onClick="return txvad()">入力</a> <br>
<textarea cols=25 rows=5 name="Message"></textarea> </form>
というのを『入力』ボタン無しで、セレクトするだけで入力されるようにしたいのですが、
このままですら、動きません。
自分なりにやってみたものが↓です
http://tool-ya.ddo.jp/2ch/trash-box/contents.jsp?file=20040624034506711.txt
2564-2570行目:新規書込み画面のヘッダを足す
2436-2437行目:JavaScriptを足す
3433:04/06/24 03:57 ID:???
続き:単体では動くのですがCGIに入れた途端動かなくなるのはどうしてでしょうか?
もしくは、http://tool-ya.ddo.jp/2ch/trash-box/contents.jsp?file=20040623080435647.gifのように
リンクボタンを押すだけでテキストフィールドに指定の文字が入るようにしたいのですが、
どうすればいいのでしょうか…教授お願いします。
元の日記CGIです。
http://tool-ya.ddo.jp/2ch/trash-box/contents.jsp?file=20040624034506710.txt
よろしくお願いします。
35Name_Not_Found:04/06/24 04:13 ID:???
36Name_Not_Found:04/06/24 09:10 ID:???
すれちがいですが悶絶のimiをおしえてください
37Name_Not_Found:04/06/24 11:32 ID:???
国語辞典をひけ(ry
ttp://dictionary.goo.ne.jp/
38Name_Not_Found:04/06/24 12:11 ID:???
板違いかもしれませんが質問させてください。
お絵かき掲示板などでの最新絵をhtmlに呼び出すのってjavaスクリプト
ですか?
こういう感じの→ttp://homepage1.nifty.com/ikkodate/title/seiken/main.html
39Name_Not_Found:04/06/24 13:19 ID:???
>>38
そこ、リロードするとHTMLが(画像ファイル名が)変わるから
サーバ側でやってるんじゃないの。その場合WebProg板へどぞ。

あんたがやりたいことの内容によってはクライアント側だけで
(つまりJavaScriptで)できることもある。そっちを探求するの
ならやりたいことを具体的に分かりやすく説明してくれないと。
40Name_Not_Found:04/06/24 13:21 ID:???
クライアントサイドとサーバサイドくらいは理解してて欲しい
41Name_Not_Found:04/06/24 13:57 ID:???
先生、オフサイドが解りません。
42Name_Not_Found:04/06/24 14:03 ID:???
質問です。
setIntervalで更新間隔に短い値を指定するとclearIntervalの認識が悪くなってしまうのですが
これを改善する方法はないでしょうか?
プログラムは下のように書いています。
----------------------

function test() {
 click++;
 if(click == 1){
  timerID = setInterval("Action()", 100);
 }
 if(click >= 2){
  clearInterval(timerID);
 }
}

----------------------

<div id="start" onclick="test()"></div>
43Name_Not_Found:04/06/24 14:59 ID:???
>>42
そりゃ正確に1ミリ秒で実行してくれとか言われても困るだろう。
setInterval()を使う代わりにsetTimeout()で毎回自分を登録
するようにしてclickが2以上なら登録しないとかにしたらどうかな。
44Name_Not_Found:04/06/24 15:14 ID:???
>>42
setInterval も setTimeout も、引数で渡すのは待ち時間で、
再帰関数化して繰り返したりする場合とかもそうだけど、
スクリプト自体の実行時間は別勘定になるから、ずれまくるもんだよ。
45Name_Not_Found:04/06/24 17:57 ID:TM/Nbx1G
質問です

Windows 版 MSIE にて。
例えば http://hoge.com/foo/var.html という url のページで
<a href=""> と記述してある要素の href プロパティを参照すると
http://hoge.com/foo/ が返ってきます。
また、<a href="/foo/"> と記述してある要素も、当然ですが、
http://hoge.com/foo/ を返します。

この二つの要素を識別するにはどうしたらよいでしょうか。
46Name_Not_Found:04/06/24 21:50 ID:???
hrefプロパティは同じ文字列になっちゃうんだろ?
じゃあhrefプロパティだけで判別するのは無理だってことだ
ということはhref以外の識別できる要素を与えてやるしかない
ここまで言えば後は分かるだろう
47Name_Not_Found:04/06/24 22:06 ID:???
>>45
手元にWinIEがないのでこちらでは確認できないが、DOMのgetAttribute
メソッド使うとどうなる?
48Name_Not_Found:04/06/24 22:14 ID:???
>>47
>>45じゃないがIE6は"http://〜"が返るようだ
4945:04/06/24 22:22 ID:???
>>46
やっぱそうっすよね。
本来 <a href=""> なんてのはあり得ないわけで、もしも、あった場合の
安全装置として考えていたので。他を考えてみます。

>>47
漏れもちょうどやってみたところです。
http://〜が返r(略

どうも、ありがとう。
50Name_Not_Found:04/06/25 09:17 ID:???
>>49
outerHTMLで比較するしかないのでは。
ちなみに空のURIは当該文書自身を示し
/foo/var.html に記述した href="" が /foo/ を参照するのは本当は間違い。
(でなきゃ href="#baz" が /foo/#baz を参照することになってしまう)
51Name_Not_Found:04/06/25 19:38 ID:???
同じページに一枚絵のように別のcgiを埋め込みたいのですが、スキルが足りないせいでどうしても行き詰って
ます _/TO
自分が考えているのは、そのリンクをクリックしたばあいに右側にリンク先のページを表示させたいのです。
こんな感じのソースにしたいのですが、無理なのかなあ。。

他のサイトでどういう風にしているのか、判らずじまい・・・。
厨ぽくて、すいません(ノ□T)

<script language="JavaScript" type="text/javascript">
<!-- function chat(チャットのurl); // -->
</script>
</head>
<body>
<table>
<tr>
<td align="center" valign="top">
<a href="wl_index.html">TOP</a><br>
</td>
<td align="center" valign="top">
<script language="JavaScript" type="text/javascript">
<!-- document.write=chat // -->
</script>
</td>
</tr>
</table>
52Name_Not_Found:04/06/25 20:03 ID:???
>>51
とりあえずテンプレのサイトで基本的なことを学んでから質問した方が
いいと思う。
たぶん、何をアドバイスしても分けわからんだろうから。

そんな書き方、どこでおぼえたの?
53Name_Not_Found:04/06/25 20:05 ID:6YhDTYrI
あい、もっかい、勉強してきますです〜。
54Name_Not_Found:04/06/25 20:06 ID:???
>>51
IFRAME使ってるだけじゃない?
まあその「他のサイト」ではどうなってるのかを自分で見た方が早いだろ。
55Name_Not_Found:04/06/25 20:18 ID:???
>>51 のが、イメージを返す cgi へのアクセス、ということなら、

<img src="hoge.cgi?あqwsでfrtgyふじこlp;@:「」">

とだけ書いておけば済む、だろうね。で、そのイメージを切り替える
のであr
56Name_Not_Found:04/06/25 20:55 ID:???
>>55
どうした?脳が破壊されつつあるのか?
>>51
あんたさあ、まずは
<script>
<!--
JavaScriptコード
// -->
</script>
のように行をきちんと変えた方がいいよ。にしても
あんたが書いているものはJavaScript的に無意味なんだが
ホント、どっからそういう書き方を学んだの?
57Name_Not_Found:04/06/25 23:32 ID:+c+sy2NM
リロードするごとに一定の場所に表示される画像が
変わるようにするにはどうしたらいいでしょうか?
58Name_Not_Found:04/06/25 23:42 ID:???
ランダムにする
59Name_Not_Found:04/06/26 00:40 ID:???
>>57
<script type="text/javascript">
var imgs = ['img1.png','img2.png', ...];
document.writeln('<img src="' + imgs[Math.floor(imgs.length*Math.random())] + '">');
</script>
60Name_Not_Found:04/06/26 01:36 ID:???
JSを切っている場合でも支障のないようにスクリプトを書いてくれ。
オレはJSは好きだけど、多くの場合切っているから。。。
61Name_Not_Found:04/06/26 07:54 ID:???
ん?ランダム画像が飾りならほっとけばいいこと。
切った場合かわりの画像なり「JS切ったら使えない」
という説明を出すなら<noscript>...</noscript>に
囲んで入れとく。いちいち説明しないけどそゆことでしょ?
62Name_Not_Found:04/06/26 12:56 ID:???
>>61
そうじゃなくて、document.writeを使わないで、onLoadでDOMを操作する
方法をとって欲しいなと。つまり、構造とプログラムを分離したいということです。
63Name_Not_Found:04/06/26 14:22 ID:???
>>62
気に入らないなら代わりに回答してやれよ。
64Name_Not_Found:04/06/26 14:45 ID:???
DOMの方がそういうメリットがあるよと言いたければ単刀直入に
そう言って欲しいな〜。とりあえず入門レベルの人には
document.write()がいけないってこたないと思うけどね〜。
65Name_Not_Found:04/06/26 15:21 ID:???
...onloadでDOM操作は、確かに構造とプログラムの分離はできるが、
スクリプト無効環境下における支障の回避という面では
document.writeと変わらんだろ。結局は配慮するかしないかなんだから。
66Name_Not_Found:04/06/26 16:01 ID:???
onloadなんてかざりだよ
67Name_Not_Found:04/06/26 16:29 ID:???
つーかJavaScriptでDOM操作自体単なる装飾だよ
そう捉えれない奴らがスクリプト切ると見れないページ作るんだよねぇ
68Name_Not_Found:04/06/26 16:46 ID:???
買い物かご作ったんだけど、クッキーで問題が出た。

商品ページと買い物かごのページは
http://自サイトドメイン/
なんだけど、住所とか入力するページからは鯖の無料SSLを使う
https://鯖のドメイン/
ドメインが途中で変わっちゃうんだけど、そうすると↑のドメイン&パスで焼いたCOOKIE
を↓の住所入力ページでは受け取れないんだよね。(受け取れるドメインって一つしか指定できないでしょ)

一応方法をいくつか考えてみた。
1.「注文に進む」ボタンをカートページにしかつけずに、カートページはいつも最新のカートの中身をhiddenで
持たせておいて、「注文に進む」ボタンを押した時にフォーム提出をする。
2.クッキーを二つ焼く。NAME=VALUEの内容は同一で、ドメインとパスの設定↑で挙げた二つにする。
3.カートのページもhttpsにしてしまう。
4.商品ページから全てhttpsにしてしまう。

それぞれの問題点
1.「カートの中身を見る」を経由しないと注文が始められないのは不便。
2.クッキーを二つ焼くのってアリ?なんか悪いことしてるみたいで、気が引ける。
3.これをやってしまうと、ブラウザの設定によってはhttpsとhttpの移動の度にアラートボックス
が出てしまい、かなりうっとうしい。
4.せっかくドメイン取ったのにそのドメイン使えるページが通販部分以外の2ページでは悲しい。

意見を聞かせて欲しい。
69Name_Not_Found:04/06/26 17:12 ID:???
そんなページ、見なくていいじゃん?
70Name_Not_Found:04/06/26 17:26 ID:???
>>67
どんなページだって「装飾だ」といえばそうなってしまうけどね。
いちいちページをリロードしない画像ビューアだとかツリーブラウザ
だとかそういうのもユーザインタフェースとしてアリだと思う。
ゲームなんかもね。JavaScriptを切ってそういうユーザインタ
フェースを使わない人もいるということを覚悟しておけばそれで
いいんじゃないの。
71Name_Not_Found:04/06/26 17:29 ID:???
>>68
「注文に進む」ボタンが押されたら「お待ちください」ページに
飛び、このページはカートページと同様の内容を保持してhttps
側にすぐデータを提出する、というのはどうですかね。
7268:04/06/26 17:44 ID:???
>>71
自動でフォームを提出させるページを作るという事ですか?
URLのバーが途中で変わるのって客側としてはイヤな印象を持たれそうで怖いです。
「処理中です。少々お待ち下さい。」
が出てちょっと間を置いてドメインが変わってしまうと、
「ん?別のサイトに飛ばされたのか?」
みたいに思い、手口が少しエロサイトみたいで・・・・・;
食品を扱う会社なので、信用第一でやっているのですが、本来専用の有料SSL証明書を買えば
こんな問題もなくなるんですが、クレジットカードは扱わないので、十何万も出す程の
事ではないかなと思っています。
73Name_Not_Found:04/06/26 17:55 ID:???
>>72
だったら全ページにhiddenで最新の内容を持たせるのが一番いい
んじゃないですかね。で、「注文に進む」ボタンが押されたら
そのフォームをhttpsサーバに提出すると。
7468:04/06/26 17:58 ID:???
>>73
やっぱそうですかね。ん〜。

実際のとこクッキーを二つ(ドメイン。パスだけが違う)焼くのってどうなんですかね?
悪いことですか?

あまりやったことないので良い悪いがわかりません;
75Name_Not_Found:04/06/26 18:00 ID:???
>>67
うむ。
本気で動的なコンテンツ作って一般に公開したいなら
サーバサイドで組んだ方が閲覧環境広いしな
76Name_Not_Found:04/06/26 18:07 ID:???
COKKIEを二つねえ。
俺やったことねえからよくわかんないね。
誰かやったことあるやついんの?
77Name_Not_Found:04/06/26 18:13 ID:???
>>75
イケテル奴はJSとcgiをうまくからめて面白いものを作る。
JS切ってるやつには最低限の動作を
切ってないやつには最高のエンタメを
78Name_Not_Found:04/06/26 18:21 ID:???
>>77
とりあえずsageろ
79Name_Not_Found:04/06/26 18:23 ID:???
>>74
ドメインAが食べさせたクッキーをドメインBで読めないんだから
2つ使っても何の問題解決にもならないのでは?
>>75
動的たって動き方が違うでしょ。データをバシバシ管理するなら
サーバサイド。サクサク動かすユーザインタフェースメインなら
クライアントサイド。
8068:04/06/26 18:31 ID:???
>>79
え?
ドメインAが食べさせたクッキーをドメインBで読むのは可能だったと思いましたが・・・・
domain=値
path=値
の部分って今から焼くクッキーをどのドメインのどのパスの時に提出させるかっていうことですよね?

複数ドメイン可能かっていうのは実験環境がないので確信がもてませんが、
domain=値
っていうのはそのためにあるんじゃないのですか?他にdomain=値の使い道がわかりませんが・・・・

間違ってたら教えて下さい。
81Name_Not_Found:04/06/26 19:00 ID:???
domainの使い方なんて知るかボケ
82Name_Not_Found:04/06/26 19:49 ID:???
Netscapeのクッキーのドキュメントより:

 domain=DOMAIN_NAME
  (中略)
  Only hosts within the specified domain can set a cookie for
  a domain and ... (後略)

つまりあるホストから「domain=...」で指定できる値はそのホストが属
しているドメインだけなのね。

 host.a.b.c が domain=a.b.c を指定→○
 host.a.b.c が domain=x.b.c を指定→×

「domain=」の用途は「特定ホストから食べさせたクッキーを同じドメ
インの他のホストと共有するため」であり「他ドメインと共有する」
ことは許されていない。考えてもみなよ、自分のページでamazon.co.jp
のクッキー捏造して食べさせてからAmazonに飛ばしてとかできたらヤバ
すぎるでしょ。
83Name_Not_Found:04/06/26 22:44 ID:???
>>77
いけてる香具師はそもそもCGIは使いません

>>79
まぁ、実際にはフォームを動的に扱わなきゃならんから
JavaScript全く使わずってのは難しいけどね。
ユーザーインターフェースメインの処理でも
例えば商用サイトとかは
可能な限りLowerLevelのユーザを配慮せにゃならんけん
84Name_Not_Found:04/06/26 22:44 ID:???
シングルクリックでa.htmlのサブウィンドウ、ダブルクリックでb.htmlのサブウィンドウを開かせることはできますか?
85Name_Not_Found:04/06/26 22:45 ID:???
>>83
> いけてる香具師はそもそもCGIは使いません
それはない
86Name_Not_Found:04/06/26 23:20 ID:???
>>84
IE専ならonclickとondblclickを使い分ければいいのでは。
クロスブラウザならonclickで時刻を取得し、前回クリック
との差で判別とかちょっとめんどそう。
8784:04/06/26 23:54 ID:???
<img src="test.jpg" onClick="open1('a.html')" onDblClick="open2('b.html')">
こんな感じにやってみましたがダメでした、ダブルクリックしてもa.htmlの方が出てしまいます…
88Name_Not_Found:04/06/27 00:12 ID:???
>>86-87
ondblclickはMozでもOperaでも使える。一応HTML4で標準化されてるしね。
ただ、IEを含めどのブラウザもonclickと併用すると
ダブルクリックの1回目のクリック時にonclickが発生するので
onclickではその後ondblclickが発生しないことを判定する必要がある。

Moz,Operaでは2回目のクリック時にもonclickが発生し、それからondblclickが発生するので
event.detailを使ってonclickからダブルクリックを検出する方がいいかもね。
89Name_Not_Found:04/06/27 00:18 ID:???
>>86-87 クロスブラウザ版を作ってみたが。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var tid, time = 0, delta = 500
function test() {
var t = new Date().getTime();
if(time == 0 || t - time > delta) {
time = t; tid = setTimeout(link1, delta+50);
} else {
if(tid > 0) clearTimeout(tid); time = 0; link2();
}
}
function link1() { window.open('http://www.yahoo.com'); tid = 0; }
function link2() { window.open('http://www.amazon.com'); }
</script>
</head><body>
<p><img src="t0.png" onclick="test()"></p>
</body></html>
90Name_Not_Found:04/06/27 00:22 ID:???
>>88
そうか〜ondblclickってHTML標準だったのか、きちんと見て
なかった。でもこれを使っても結構面倒なんで、結局は時間
見て判別するのが簡単のような気がしている。
91Name_Not_Found:04/06/27 01:00 ID:???
俺ならonclickで変数に値1を代入&タイマーに変数を参照するウィンドウ開く関数を登録
ondblclickで変数を値2に上書き
って実装するかな。タイマーは0.5秒ほどかね
92Name_Not_Found:04/06/27 01:04 ID:???
>>89
IEはダブルクリックの2回目ではclickイベントが発生しない(Win2000/IE6で確認)。
OS側のダブルクリックの反応時間設定がそれほど短くない場合
通常のダブルクリックでは期待する動作にならないだろう。
(反応時間 > deltaならば「ダブルクリックもどき」自体が不可能になりかねない)
93Name_Not_Found:04/06/27 01:23 ID:???
っていうかシングルとダブルで動作を分ける必要がないだろ。
なんの為にそんなことするんだ?
94Name_Not_Found:04/06/27 01:33 ID:???
どんな場合も必要なかったらそんなもの標準化されたりしないと思うが。
95Name_Not_Found:04/06/27 01:56 ID:???
96Name_Not_Found:04/06/27 02:07 ID:???
まぁ遊んでるだけだろう
97Name_Not_Found:04/06/27 03:34 ID:vq7GoMK7
聞きたいのだがこのスクリプトがどういう動作をするのか詳しく聞きたい


<!-- VC active -->
<SCRIPT LANGUAGE="JavaScript">
<!--
// ValueParameters
ValueHost = "hs0068897";
ValueLoaded = false;
ValueID = "pagebuster";
ValueVersion = "1.1";
ValueBannerType = "pop";

ValuePopSize = "medium";


//-->
</SCRIPT>
<SCRIPT LANGUAGE="Javascript" SRC="http://oz.valueclick.ne.jp/jsmaster"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
if (ValueLoaded) ValueShowAd();
//-->
</SCRIPT>
<!-- vc active -->
98Name_Not_Found:04/06/27 04:27 ID:???
>>97
まずそのリンク(スクリプト本体)を右クリックから保存してメモ帳とかで見たと仮定すると・・・
その本体でクエリを一つずつ組み立ててる。
ユーザIDからUA、広告のサイズ、表示方法、どの広告にするか・・・etc.
つまり想像できそうなことしかやってない。(はず)
99  :04/06/27 06:16 ID:???
javascriptを始めたばっかりの初心者なんですが、よく見かける、ブラウザ上でイラストや写真等のオブジェクトがブラウザ上を動き回るようなスクリプトってどー書けばいいんでしょうか??
100Name_Not_Found:04/06/27 06:24 ID:???
>>99
まず写真やイラストのオブジェクトを適当に配置し
自由に座標を設定するといい。

でもマウスを追いかけるのは不評なのでやめよう。
101Name_Not_Found:04/06/27 06:26 ID:???
>>99
動きを持たせるなら時間で位置を書き換える
なるべく幾何学的な動きの方が楽だ
102Name_Not_Found:04/06/27 07:12 ID:vq7GoMK7
97はつまり広告をクリックしているということでいいのか?
つーかそれはコメントになっている感じだがそれでも動作するのか?
もし不正だったら通報しなきゃならん
103Name_Not_Found:04/06/27 12:59 ID:???
ウインドウ内にD&Dされたファイルのパスを取得するってのは可能でしょうか?
104Name_Not_Found:04/06/27 16:12 ID:???
無理です
10599:04/06/27 16:18 ID:???
>>100
オブジェクト自体に座標を設定するやり方ってのが分からないんですよ。
どう記述すればいいのでしょうか?
あと、それには<DIV></DIV>やレイヤーでくくらないとダメなんでしょうか?

>>101
時間で位置を変えるってのは、時間ごとに関数を再び呼び出して実行させるってことですか??
window.setTimeout(script, msec) ←この関数しか思い浮かばないのですが。
106103:04/06/27 17:25 ID:kwaizhig
>>104
HTAを使ってでも無理でしょうか?
107Name_Not_Found:04/06/27 17:30 ID:???
>>102
表示だけ。
外部ファイル側はvalueclickのサーバー上にあるし自動クリックみたいなスクリプトが入ってるわけないじゃん(w
108Name_Not_Found:04/06/27 21:07 ID:???
>>105
過去スレ群を読めば100回くらいはサンプルが貼られて
いるんじゃないですかね。それを見る気がないなら我々も
教える気にならんよ。
109Name_Not_Found:04/06/28 01:14 ID:???
>>106
その前にブラウザにファイルをD&Dしたらどんな動作するかやってみた?

D&Dじゃないならformのinput type="file"で選択はできる
けど恐らくセキュリティ関係でスクリプトからは読めないかも
110Name_Not_Found:04/06/28 18:17 ID:GInDAIra
document.open()をすると、ブラウザの履歴が一つ進んでしまいます。
これを進まないようにする方法はありますか?
111Name_Not_Found:04/06/28 21:09 ID:???
>>110
サブに書き出す又はinnerHTMLを使いメインを書き換える
112Name_Not_Found:04/06/28 21:30 ID:???
サブって何ですか?メインって何ですか?
113Name_Not_Found:04/06/28 21:53 ID:???
document.open()なんか使ったことねぇ
114Name_Not_Found:04/06/28 22:35 ID:???
>>112
window
>>113
ページをいくつかに分けて書き換えるときに使わない?
つかページ書き換えるときってみんな何使ってるの?
11562:04/06/28 22:44 ID:???
レス遅くなりすぎでスマン。
jsはサーバーサイドのプログラムと役割分担をすれば、主にユーザーインターフェース、デザインを受け持つと思うので、
document.writeなどで構造自体を書き出すのはあまり賛成できない。
私はWebを使う場合、情報収集が多いので、デザインはどうでもよく、多くの場合jsを切っている。切っていて見れないページを
作ることはない。またjsは好きではあるが、Webにjsは必須であるかということについては疑問を持っている。
デザインを重視する人は、それを必要としない人がいることも認識して欲しいな〜と思う。
116Name_Not_Found:04/06/28 22:48 ID:???
>>114
> ページをいくつかに分けて書き換えるときに使わない?
> つかページ書き換えるときってみんな何使ってるの?

createElement と createTextNode で書き換える内容をこさえて、
removeChild で消す部分をDOMツリーから取り外し、
appendChild で生成したモノをツリーにぶら下げる、

という方法。
117Name_Not_Found:04/06/28 23:03 ID:???
>>116
JSって言っていいのかな?
118Name_Not_Found:04/06/28 23:36 ID:05tfWPpd
「階和」というものを「n?=n+(n-1)+…+2+1」と勝手に定義し、
それを計算するプログラムを ↓の階乗を計算するプログラムを応用して作る
…という課題が出たのですが、
初心者のため、どのようにして書いたらよいのか全く分かりません。
時間があれば、一からじっくりと勉強したいのですが、 締め切りが迫っているため、とりあえず模範解答だけでも
教えて頂きたいと思い書き込みました。 どうかご親切な方、お力を貸して下さい。
119118の続きです:04/06/28 23:37 ID:???
<html>
<head>
<title>簡単階乗計算機</title>
<script Language="JavaScript">
<!--
function fact(n){
if(n==0){
return 1;
}else{
return n*fact(n-1);
}
}

function write_fact(){
n=document.frm1.number.value;
document.frm1.factrial.value=fact(n);
}
//-->
</script>
</head>
<body>
<h2>数字を入れてクリック</h2>
<form name=frm1>
<input type="text"name="number"size="3">
!=<input type="text"name="factrial"size="16">
<p>
<input type="button"value="計算"onClick=write_fact()>
</p>
</form>
</body>
</html>
120Name_Not_Found:04/06/28 23:51 ID:???
掲示板にて静的HTMLを吐き出すタイプを作成したのですが
名前とメールのクッキーを呼び出す際にHTMLをXHTML1.1で記述してる為、
form要素にname属性が振れず、四苦八苦しております。
classはboardと振っているのですが、このクラス名でアクセス(?)する方法がわかりません。

document.forms.board.elements['name'].value = getCookie("Cookname"); やら
document.forms['board'].elements['name'].value 等、色々試しましたが
どれも代入してくれませんでした。
IDを振ろうにもページ内に表示されてる各トピック毎にフォームが存在する為に振れず...。

よければクラスでアクセス(?)する方法を教えてもらえないでしょうか。
121Name_Not_Found:04/06/29 00:15 ID:???
>>120
ID属性つけてdocument.getElementById("id");
122Name_Not_Found:04/06/29 00:15 ID:???
>>120
クラス名だけでアクセスする方法はないのでちょっと遠回りだけど、
var target;
var tmp = document.getElementsByTagName("input");
for(var i=0 ; i<tmp.length ; i++){
    if(tmp[i].className.indexOf("Cookname") != -1){
        target = tmp[i];
    }
}
123122:04/06/29 00:17 ID:???
で、アクセスはできます。
途中でsubmitしてしまったスマソ
124120:04/06/29 00:48 ID:???
>>121
いや、IDはごにょごにょ…。

>>122
どうも、ありがとう。
しかし、こちらの説明不足だったようで(´・ω・`)
紹介してくれたのはinput要素のクラス名がCooknameの場合と思いますが、そうではなくて…。

HTMLソース晒します。
<form method="post" action="./bbs.cgi" class="board">
<fieldset>
<legend>新規投稿フォーム</legend>
<dl>
<dt><label for="name">名前</label></dt>
<dd><input type="text" name="name" id="name" value="" /></dd>
<dt><label for="mail">メール</label></dt>
<dd><input type="text" name="mail" id="mail" value="" /></dd>
<dt><label for="title">タイトル</label></dt>
<dd><input type="text" name="title" id="title" value="" /></dd>
<dt><label for="message">内容</label></dt>
<dd><textarea name="message" id="message" cols="40" rows="3"></textarea></dd>
</dl>
<p><input type="submit" value="書込" /></p>
</fieldset>
</form>

このソースのinput要素のname属性がnameのとこにCooknameを、
mailのとこにCookmailをgetCookieサブルーチンを通した値をvalueに与えたいのです。
説明不足すみませんでした。
125Name_Not_Found:04/06/29 00:56 ID:???
> いや、IDはごにょごにょ…。
なんだそれは
126Name_Not_Found:04/06/29 01:15 ID:???
>>124
アホですか?
cookieを読んでvalueに入れればいいだけだろ
127Name_Not_Found:04/06/29 01:18 ID:???
まぁ、マターリいこうぜ!
128Name_Not_Found:04/06/29 06:22 ID:???
>>118-119
自然数以外が入力された時に無限ループやエラーが
起こらないようにしておいたよ〜

function fact(n){
return (n=Math.abs(parseInt(n)))!=n?n:n?n+fact(n-1):0;
}

function write_fact(){
with(document.frm1)factrial.value=fact(number.value)||"not a natural number!";
}
129118:04/06/29 08:16 ID:???
>>128
助かりました!
どうもありがとうございます。
130122:04/06/29 12:18 ID:???
>>124
getElementsByName なんてのも遭った飢餓。
131Name_Not_Found:04/06/29 14:54 ID:???
>>130
あったあった。
getElementByName とか書いちゃって
「動かねーよボケ」ってディスプレイをビンタしたことあるなぁ
132Name_Not_Found:04/06/29 17:07 ID:PrcECRN5
http://hp.xrea.jp/m/link/37.html
上記ページのようなtree型メニューを作りたいのですが
NN4に対応して、
さらに
treeを複数使用し
展開するtreeは必ずひとつにしたい
(他のtreeを展開しようとすると、現在展開しているtreeは自動的に閉じる)
のですが、
使用、または、技術的に可能なものでしょうか。
もし可能でしたら、スクリプトを教えていただけないでしょうか。
よろしくお願いします。
133Name_Not_Found:04/06/29 17:21 ID:???
>>132
可能。
サンプルソースはいくらでも転がってるからあとはgoogleで
134120:04/06/29 22:42 ID:???
なんとか出来ました。
>>122さんのが大きなヒントになってくれました。
秀和システムの参考書の「HTMLを配列として扱う」という所を読んでピンときたです。

function writeCookie () {
  var tmp = document.getElementsByTagName("form");
  for(var i=0 ; i<tmp.length ; i++){
    document.forms[i].name.value = getCookie("Cookname");
    document.forms[i].mail.value = getCookie("Cookmail");
  }
}

以上のようにルーチン化してonLoad属性にて読み込むことで
全てのフォームに反映されそうです。

色々とありがとうございました。
135122:04/06/29 23:22 ID:???
document.forms[i] は tmp[i] だね。
せっかく変数(つか、配列)にほりこんだんだから、それ使った方が
メモリにやさしいかも。

あと name="name" はよくない気がする。
136Name_Not_Found:04/06/29 23:27 ID:???
ところでXHTML1.1はDOM HTMLでアクセスできるのか……?
137120:04/06/29 23:40 ID:???
>>135
あ、なるほど。
document.tmp[i]とか書いてましたorz
動かないわけですね。精進します。

nameの値…、これはJS的によろしくないのですね。
authorに変更しておきます。何度もありがとうございます。
138Name_Not_Found:04/06/30 00:07 ID:???
>>137
変数名とか、予約語に触れないようにしたいけど、全部覚えるのは無理、
って場合は、例えば name じゃなくて user_name とか u_name とか、
二単語ぐらい繋げるのが手っ取り早いかも。
139Name_Not_Found:04/06/30 02:49 ID:???
>>136
DOMを用いて要素にアクセスできる。
140136:04/06/30 03:11 ID:???
>>139
DOM 2 HTMLの "only for [HTML 4.01] and [XHTML 1.0]
documents" は気にしなくて良いの?
141Name_Not_Found:04/06/30 05:49 ID:???
1.0との互換部分は問題ないんじゃ?
多分実装上1.1はDOMは全然使えませんなんて糞なことはないかと・・・
142Name_Not_Found:04/06/30 08:22 ID:???
>>140
動く実装があるかも知れないが、その動作は保証されない、ということ。
確かにDOM2HTMLはXHTML1.1/XHTMLMOD以降のXHTML
(名前空間がhttp://www.w3.org/1999/xhtmlであるだけのスキーマ不明のXHTMLや
他のXML中に埋め込まれたXHTMLを含む)における動作を保証するものではない。
でもまあ大半のXHTML文書がそうであるようにtext/htmlで認識させてあれば
実装の裁量でHTML4とみなされDOM2HTML通りに(HTML4として)動作する可能性が高いだろう。
# 勿論保証された動作ではない。
143Name_Not_Found:04/06/30 16:56 ID:???
フォームのtextfieldで既定文字数以上を入力できない
ようにする方法を教えてください。

今までは既定文字数、行数を入力すると
既定数以上は反映されないようにしていました。
144Name_Not_Found:04/06/30 17:57 ID:???
>>143
maxlength じゃいかんの?
145Name_Not_Found:04/06/30 21:00 ID:qy8HWVhR
質問です

何度も同じ文字やタグを記述するときに、あらかじめその文を<head>内で短い文字に指定しておいて、
<body>内で、その指定した短い文字をdocument.writeか何かを使ってみやすく記述することはできるんでしょうか?

例えば、何度も
<font color="red">●</font>
や、
<font color="blue">●</font>
<font color="lime">●</font>
<font color="black">●</font>
などの何種類もの文をたくさん不規則に記述するとき、作業的にもめんどくあとでみるとわかりづらいし混乱しやすいので
簡潔にわかりやすくすることはJavaScriptにおいて可能かどうか知りたいです

また、他によい方法(JavaScript以外でも)を知ってる方いましたらお願いします
なお、現在PCではないため上記の記述例は確認がとれないです
146Name_Not_Found:04/06/30 21:27 ID:???
>>145
たぶん可能。
「たくさん」とか「不規則」とかちょっと抽象的で何がしたいのかいまいちワカンナイ。

その例のパターンが多いなら要所要所で
<script language=javascript><!--
f("red", "●", 5);
// --></script>
色, 本文, 繰り返し回数
みたいに呼び出せる関数作ったらいいんじゃない?

その出現順序が全く不規則なら
配列に("red","red","blue","lime","black","black")みたいに省略して
あとから<font color="">●</font>を付け足して組み立てるとか。
147Name_Not_Found:04/06/30 22:22 ID:???
XHTML1.1はもはやHTMLではない。Content-Type: application/xhtml+xmlで、
XMLとして解釈させるべきもの。
XHTML1.0はtext/htmlを使ってHTMLとして解釈させてもよい。
148Name_Not_Found:04/06/30 22:41 ID:???
>>146
そう言う事は、htmlやらcssで工夫すれ。
その程度のパターンなら、いちいちscriptタグ
書く方がめんどい。
149Name_Not_Found:04/06/30 23:25 ID:???
>>147
スレ違い。
150136:04/06/30 23:36 ID:???
>>142,147
d
将来的にはCoreでやりくりしたほうが確実そうってことだね。
151Name_Not_Found:04/07/01 00:07 ID:???
>>150
Coreでどうにもならないのがdocument.cookieとdocument.referrer...。
152Name_Not_Found:04/07/01 01:22 ID:???
strict厨は居場所に戻った方が良いんじゃね?
153Name_Not_Found:04/07/01 01:48 ID:???
ああごめんね。邪魔したな。
154145:04/07/01 03:07 ID:???
何がやりたいか、だけど
落ちゲーの「ぷよぷよ」ってわかるかな・・、
>>145で出した例ではそのぷよぷよの画面を模式的に表した図を書く例です
つまり、画像を用いずに文字で書くわけなのでひたすら

<font color="red">●</font><font color="blue">●●</font><font color="lime">●</font><font color="red">●</font><font color="yellow">●</font><br>
<font color="blue">●</font><font color="lime">●●</font><font color="blue">●</font><font color="yellow">●●</font><br>
・・・・

みたいに書かないといけないので手間がかかりみづらく、完成図が浮かびにくいので、いい方法がないか悩んでる次第です
155Name_Not_Found:04/07/01 03:08 ID:???
そうでもないよ。
156Name_Not_Found:04/07/01 03:19 ID:???
>>154
俺は元ばよツアマスターですよ。 いや、マジで。
色を使わなくてもこんなんで解らないかなぁ・・。

        ■
○     ○■
×     ○■
      ×○
×     ○■
×■×○■×
×■×○■×
○○■×○■
○■×○■×

でもこーやって文字で描こうとすると環境によってズレるんで
おとなしく画像使ったほうがいいと思うよ。
157Name_Not_Found:04/07/01 05:32 ID:???
万能tableレイアウターの俺が来たよ
158Name_Not_Found:04/07/01 13:05 ID:???
onMouseOver="〜" などで
event.srcElement で得られたエレメントの 要素リスト番号?を調べる方法はありますでしょうか。

予め全ての <TD> に ユニークID を割り当てておけば var str = event.srcElement.id; とかでOKですが
元々作られている表で .getElementsByTagName("TD")[str-n] という感じで使用したり、
そのカラムの別の要素にアクセスしたりしたいと思いまして

ご教示おねがいします
159Name_Not_Found:04/07/01 13:28 ID:???
>>158
var tmp = document.getElementsByTagName("td") でドキュメント内の
td が全部詰め合わせになった配列が手にはいるので、

もちろん、その親要素で限定しても全然構わないけど、

for(var i=0 ; i<tmp.length ; i++){
    if(tmp[i] == event.srcElement で得られたエレメント){
        ごにょごにょ
    }
}

とすれば、どの td か、っていうのはわかります。
160158:04/07/01 13:49 ID:???
>>159さん有難う御座います

http://www.microsoft.com/japan/msdn/columns/dude/dude07232001.asp
なども参考にして色々と頑張ってみようと思います。
161Name_Not_Found:04/07/01 14:46 ID:???
dakara DOM tsukae tte
162Name_Not_Found:04/07/01 18:02 ID:???
750 名前:Name_Not_Found[sage] 投稿日:04/06/14(月) 14:09 ID:???
HTMLとCSSが理解できていない人には(DOMを操作することは)難しい
163Name_Not_Found:04/07/01 18:32 ID:???
<td width=\"100%\">

何処かがおかしい・・・?
164Name_Not_Found:04/07/01 19:17 ID:???
>>163
td 要素に指定されている width は推奨されない属性です。
165Name_Not_Found:04/07/01 21:55 ID:???
なんだ・・ 9連鎖書いたのにレスまだなのか・・・ 暇なんで108連鎖書いてもいいですか?
166Name_Not_Found:04/07/01 22:16 ID:???
>>165 ホレ。ぷよのアルゴリズムは自分でやるように。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title><script type="text/javascript">
var a, cr, cc, rows = 6, cols = 6;
function init() { a = document.getElementById('t0').rows; start(); }
function start() {
var c = Math.floor(rows*Math.random());
if(a[0].cells[c].firstChild.nodeValue == '_') {
a[0].cells[c].firstChild.nodeValue = '○'; cr = 0; cc = c;
setTimeout(step, 500);
} else setTimeout(start, 500); }
function step() {
if(cr < rows-1 && a[cr+1].cells[cc].firstChild.nodeValue == '_') {
a[cr].cells[cc].firstChild.nodeValue = '_';
a[cr+1].cells[cc].firstChild.nodeValue = '○'; ++cr;setTimeout(step, 500);
} else setTimeout(start, 500); }
</script></head><body onload="init()">
<table summary="test"><tbody id="t0">
<tr><th>_</th><th>_</th><th>_</th><th>_</th><th>_</th><th>_</th></tr>
<tr><th>_</th><th>_</th><th>_</th><th>_</th><th>_</th><th>_</th></tr>
<tr><th>_</th><th>_</th><th>_</th><th>_</th><th>_</th><th>_</th></tr>
<tr><th>_</th><th>_</th><th>_</th><th>_</th><th>_</th><th>_</th></tr>
<tr><th>_</th><th>_</th><th>_</th><th>_</th><th>_</th><th>_</th></tr>
<tr><th>_</th><th>_</th><th>_</th><th>_</th><th>_</th><th>_</th></tr>
</tbody></table></body></html>
167Name_Not_Found:04/07/01 22:28 ID:???
>>156
挟み込みか…
168Name_Not_Found:04/07/02 00:51 ID:MsjyYkfn
window.location.href に関する質問です。

Aというページをbとcにフレーム分割した場合
bのリンクをcフレームに表示させようとすれば、

parent.c.location.href = URL

ですが

AをBとCに分割し、更にCをdとeに分割した場合に
Bのリンクからdフレームへ表示をさせるには、どのように指示すれば良いのでしょうか?
環境はIE5 (Win2k)です。
よろしければご回答お願いします。
169165:04/07/02 02:21 ID:???
>>166
なんだか解らんけどすげーな、サンクス。
4つで消えるようにするには縦横の繋がりを調べていかないといけないよな、
結構大変そうだ・・。 暇なんで挑戦してみるわ。

>>167
このスレに挟み込みが解る奴がいるとは思わなんだ。
170Name_Not_Found:04/07/02 05:22 ID:???
>>168
俺恥ずかしいことにフレームに関しては何も知らないんだけど
B→Cの場合には
parent.c.location.href = URL
つまりBから出発してB→A(parent)→CでOKなわけだ

じゃあB→C→Dの場合は
B→A→C→Dでいいのでは?と俺なら考えるけどな

ホントにフレームの扱いに関しては何も知りません
171145:04/07/02 06:22 ID:???
>>156>>165
レス遅くなってすみません
画像はPCないため使えないです
あとぷよぷよは例なので実際は違うもので、対戦ぱずるだまというやつです
ぷよのほうがわかりやすいので例にしてみました
それにしてもマスターがこんなとこにいるなんて驚きです
ぷよのアルゴリズムはどっかに研究してるスレがあったような・・

レスくださった方ありがとうございました
あきらめて普通に書きます。。
172Name_Not_Found:04/07/02 07:38 ID:???
>>168
parent.frames.C.frames.D.location.href = URL;
>>170
知らないと言い訳しながら役に立たない発言をするのは
やめませう。
>>171
結局どういうものを求めているのか分からない。見せ方は>>166
のようなコードで、あとは並べたり消したりするアルゴリズム
をちゃんとすれば済むんじゃないの?アルゴリズムは当然自分で
やるよね、JavaScriptだからどうだという話題じゃないし。
173Name_Not_Found:04/07/02 10:53 ID:E9eQFPTJ
質問させてください。
ページ上部にボタン横が並んでいてそのボタン一つ一つに
Javaスクリプトでポップアップメニュー下方向に表示させる設定をしています。
しかし、ボタンの下部分はiframeで別ページを表示させており、
ポップアップとかぶってしまうんです。かぶっている部分にカーソルをもっていくと、
iframe部分がアクティブになってしまい、ポップアップが消えてしまいます。

ポップアップを消えないようにしたいのですが、良い知恵はありませんか??
ご教授して頂けたら幸いです。
よろしくお願いします。
174Name_Not_Found:04/07/02 10:54 ID:???
す、すいません(^▽^;) あげちゃいました・・・
175Name_Not_Found:04/07/02 12:23 ID:???
>>173
iframe使わない。
iframeにかぶらないポップアップにする。
iframe部分をアクティブにしない。
176170:04/07/02 14:56 ID:???
>>172
ん?そのコード俺の予想通りじゃん
自分なりに予測して調べてみればって伝えたかったんだけど、遠まわしな表現が気に入らなかったのか
177Name_Not_Found:04/07/02 15:39 ID:HN5nS+m0
質問なんですが、ブラウザ上で、携帯のように
入力の段階で(送信した後で正規表現などで判定したりではなく)
テキストボックスに半角数字しか入力できないようにしたりする事は
できますか?もし、実現可能なら教えてください。お願いします。
178Name_Not_Found:04/07/02 15:46 ID:???
>>177
出来るが、JavaScript じゃないので、初心者スレにでも行ってみると。
http://pc5.2ch.net/test/read.cgi/hp/1087865807/
179Name_Not_Found:04/07/02 15:49 ID:HN5nS+m0
返事ありがとうございます。
180Name_Not_Found:04/07/02 16:09 ID:???
>>177-178 ん?こういう奴のことじゃないのかな?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function ck(i) {
if(i.value.match(/[^a-zA-Z0-9]/)) alert('!!!');
}
</script>
</head><body>
<form action="#" name="f0"><p>
<input type="text" name="t0" onchange="ck(this)">
<input type="submit"></p></form>
</body></html>
181Name_Not_Found:04/07/02 16:10 ID:???
>>176
そんな誰でも分かるような予想を偉そうに(しかも言い訳つきで)語る時点で(ry
182156:04/07/02 16:45 ID:???
>>171
スマン、なんか思いっきり質問の意味を間違えて受け取ってた・・。
こういう意味だったのか。 ↓

<script type="text/javascript">
<!--
r = '<font color="red">●</font>';
b = '<font color="blue">●</font>';
l = '<font color="lime">●</font>';
k = '<font color="black">●</font>';

document.write(b+"<BR>")
document.write(r+"<BR>");
document.write("  "+k+l+r+b+"<BR>");
document.write(r+b+k+l+r+b+"<BR>");
document.write(r+b+k+l+r+b+"<BR>");
document.write(r+b+k+l+r+b+"<BR>");
// -->
</script>
183Name_Not_Found:04/07/02 16:54 ID:???
誰でも分かるなら質問されないと思うが
184Name_Not_Found:04/07/02 16:59 ID:???
>>176
>そのコード俺の予想通りじゃん
全然違うだろうが
185156:04/07/02 16:59 ID:???
>>171
もっと書きやすくしてみた。

<script type="text/javascript">
<!--
r = '<font color="red">●</font>';
b = '<font color="blue">●</font>';
l = '<font color="lime">●</font>';
k = '<font color="black">●</font>';
n = "  ";

retu = new Array(6);

retu[5] = b;
retu[4] = r;
retu[3] = n+k+l+r+b;
retu[2] = r+b+k+l+r+b;
retu[1] = r+b+k+l+r+b;
retu[0] = r+b+k+l+r+b;

for (i = 0; i < retu.length; i++){
document.write(retu[retu.length-i-1]+"<BR>");
}
// -->
</script>

これにretu[6]とかをどんどん付け足していくだけ。
nはスペース(空のマス)ね。
186156:04/07/02 17:02 ID:???
>>171
あ、その時は retu = new Array(6); の6も書き換えてね。(^^;A
retu[〜] の 〜 + 1 の数値ね。
187156:04/07/02 17:36 ID:???
>>171 む・・ 最初から retu = new Array(20); とかにしておけば良いかも。
188156:04/07/02 17:40 ID:???
>>171
そのままじゃ問題あるので書き直し。 何度もスマソ

<script type="text/javascript">
<!--
r = '<font color="red">●</font>';
b = '<font color="blue">●</font>';
l = '<font color="lime">●</font>';
k = '<font color="black">●</font>';
n = "  ";

retu = new Array(30);
retu[5] = b;
retu[4] = r;
retu[3] = n+k+l+r+b;
retu[2] = r+b+k+l+r+b;
retu[1] = r+b+k+l+r+b;
retu[0] = r+b+k+l+r+b;

for (i = 0; i < retu.length; i++){
if ( retu[retu.length-i-1] != undefined ){
document.write(retu[retu.length-i-1]+"<BR>");
}
}
// -->
</script>
189168:04/07/02 18:29 ID:???
>>170さん >>172さん 回答ありがとうございます。解決しました。
170さんの言われているような parent.C.D.location = というようなアプローチは既に試してはいたのですが
〜.frames.C.〜のようなやり方があるとは知りませんでした。

(検索してそれらしいものはありましたが、どこの解説でも"〜.frames[フレーム名].〜"となっていたので)

大変助かりました、ありがとうございます。
190Name_Not_Found:04/07/02 18:36 ID:???
>>188
わざわざデフォルトの長さを決めておく必要もないのでは。
長さなんてどうせ可変だし。まあそういう主義ならいいけど。
最後のfor文は漏れだったら配列を予め逆順にしておいて
document.write(retu.join('<br>'))で済ましちゃうなぁ...。
191Name_Not_Found:04/07/02 18:42 ID:???
>>189
それは >>11 のQ7と類似の問題(つまりどっちでも実質同じこと)。
そしてC.D.とか書くよりframesをちゃんと書いた方がトラブルが少ない。
192156:04/07/02 19:01 ID:???
>>190
そっか、30なんて指定する必要無かったのか…_| ̄|○
ご指摘サンクス子。

配列の順番が逆なのは落ち物パズルの場合、下段のほうから
書いていけたほうが修正するときに便利だからデス。

>>171
完成品っす。

<script type="text/javascript">
<!--
r = '<font color="red">●</font>';
b = '<font color="blue">●</font>';
l = '<font color="lime">●</font>';
k = '<font color="black">●</font>';
n = "  ";

retu = new Array();
retu[5] = b;
retu[4] = r;
retu[3] = n+k+l+r+b;
retu[2] = r+b+k+l+r+b;
retu[1] = r+b+k+l+r+b;
retu[0] = r+b+k+l+r+b;

for (i = 0; i < retu.length; i++){
document.write(retu[retu.length-i-1]+"<BR>");
}
// -->
</script>
193Name_Not_Found:04/07/02 20:02 ID:???
ページを読み込んだ時に〜〜〜をする、というのはどうやったら出来ますか?
194Name_Not_Found:04/07/02 20:10 ID:???
onload
195Name_Not_Found:04/07/02 21:04 ID:???
font タグ とか document.write とかマジキモイから。
196Name_Not_Found:04/07/02 21:25 ID:???
>>193

window.onload = function(){
//ここにやりたい処理。
}

>>195
キモイね。真っ白になっちゃえばいいのにね。
197Name_Not_Found:04/07/02 22:05 ID:k2h0d5Z5
ちょっと質問です、答えていただけるとありがたいです

<body onload="myFunc()">
<SCRIPT language="JavaScript"><!--
myMsg = "ここに表示させたい文字列
myCnt = 0;
myOP = window.opera; // OP
myN6 = document.getElementById; // N6
myIE = document.all; // IE
myN4 = document.layers; // N4
if (myOP) myBR="O6"; // ブラウザは OP6以上
else if (myIE) myBR="I4"; // ブラウザは IE4以上
else if (myN6) myBR="N6"; // ブラウザは NS6以上
else if (myN4) myBR="N4"; // ブラウザは NN4
else myBR=""; // ブラウザは 分からん
function myFunc(){
myMess = myMsg.substring( 0 , myCnt )+"_";
myCnt = ( myCnt == myMsg.length ) ? 0 : myCnt+1;
if (myBR == "I4"){ // IE4の時の表示ルーチン
document.all("myIDstr").innerText = myMess;
}else if (myBR == "N4") { // NN4の時の表示ルーチン
document.layers["myIDstr"].document.open();
document.layers["myIDstr"].document.write("<div>");
document.layers["myIDstr"].document.write(myMess);
document.layers["myIDstr"].document.write("</div>");
document.layers["myIDstr"].document.close();
}else if (myBR == "N6") { // NS6の時の表示
document.getElementById("myIDstr").innerHTML=myMess;
}
setTimeout( "myFunc()" , 200 ); // ぐるぐる回る/スピード
}
// --></SCRIPT>
198Name_Not_Found:04/07/02 22:07 ID:k2h0d5Z5
上記のスクリプトは
某所で公開されていた文字のタイピング表示スクリプトなのですが、
これだと文字を表示し終わると文字が消えて
最初から表示されるというループのようになってしまうんです
これをループさせずに、一度表示したらそのままって感じにするにはどうしたらいいのでしょうか・・・

唐突ですいませんが、よろしくお願いします
199Name_Not_Found:04/07/02 23:21 ID:???
>>198
//myCnt = ( myCnt == myMsg.length ) ? 0 : myCnt+1;
上を消して下に書き換える。
if( myMsg.length < myCnt ) return;
else myCnt++;

こんなコードを人様に公開するなんてマジで終わってんな。
200Name_Not_Found:04/07/03 00:41 ID:i2NFvVMt
置き換えたところできました!
助かりました〜^^;
サンクスです!
201Name_Not_Found:04/07/03 01:05 ID:???
//<img name="foo">
function f(){
 document.foo.src = xxx();
 setTimeout("f()",60000);
}
f();
こんな感じで画像の自動更新はできるのですが、
テキストの自動更新ができません。
どうしたらいいですか?
202Name_Not_Found:04/07/03 01:08 ID:???
>>201
"要素.innerHTML" に代入が簡単。
203Name_Not_Found:04/07/03 01:15 ID:i2NFvVMt
NO,197 198で質問した者です
myMsg = "ここに表示させたい文字列"
の文字列の改行方法がいまいちよくわからないのです

myMsg[0] = "ここに表示させたい文字列"
myMsg[1] = "ここに表示させたい文字列"

ってな感じで行数を増やすと、ブラウザが対応してません
となって表示されなくなってしまうし・・・
ご指導していただけるとありがたいです
204Name_Not_Found:04/07/03 01:25 ID:???
205Name_Not_Found:04/07/03 01:29 ID:???
なによ、その変な@マークは。ふざけてるの?
206Name_Not_Found:04/07/03 01:30 ID:???
なんだと
207Name_Not_Found:04/07/03 01:42 ID:???
だんなと?
208204:04/07/03 01:50 ID:???
@の意味を知らない人はすっこんでてね。
209Name_Not_Found:04/07/03 01:59 ID:???
なんかわいた
210204:04/07/03 02:07 ID:???
>>209
@
211Name_Not_Found:04/07/03 02:13 ID:???
>>210
@
212Name_Not_Found:04/07/03 02:15 ID:???
>>211
使い方が違いますよ、ド素人ですね?
213Name_Not_Found:04/07/03 02:23 ID:???
javascriptのDOMを勉強したいんだけどさー、解りやすい解説+サンプルが載ってる
ページがあったら紹介しなよー、悪いこと言わないからさー。 あー
214Name_Not_Found:04/07/03 02:23 ID:???
@
どういう意味か教えてください。よろしくお願いします。
ご指導していただけるとありがたいです
215Name_Not_Found:04/07/03 02:25 ID:???
>>214
あっそ。
216Name_Not_Found:04/07/03 02:27 ID:???
>>213
悪いこと言わないからさー。 あー きらめたほうがいいね。
217Name_Not_Found:04/07/03 02:36 ID:???
>>216
やだやだやだやだやだやだやだやだやだやだやだやだやだやだやだやだやだやだやだやだやだやだやだやだやだやだやだやだやだやだやだやだやだ
218Name_Not_Found:04/07/03 02:56 ID:???
>>217
@
↑これ正しい使い方?
219Name_Not_Found:04/07/03 08:52 ID:???
>>213
そゆときは >>1-6 をまず見れ。
220Name_Not_Found:04/07/03 08:54 ID:???
>>203
HTMLって改行は<br>でしょ。だから文字列の中に<br>を
埋めておけばいいのん。
221Name_Not_Found:04/07/03 10:26 ID:???
文字列の中で<BR>を叫んだ着物
222Name_Not_Found:04/07/03 10:40 ID:i2NFvVMt
>>220
この場合、文字中に<BR>を入れると
表示させたとき<BR>が改行ではなく、そのまま文字として認識され
たとえば

今日もいい天気ですね<BR>どこか買い物にでも行こうかな

とやると、そのまんま表示されてしまうのです
223Name_Not_Found:04/07/03 12:09 ID:???
>>222
改めてレスをたどってやったが、元は>>197だな?
ならば、innerText使ってるから無理。
innerHTMLに汁。
っつか、>>197の意味判ってる?
224Name_Not_Found:04/07/03 12:09 ID:TQXVduHO
"\n"
225Name_Not_Found:04/07/03 13:14 ID:???
>>224
何だこのヴァカは?
226Name_Not_Found:04/07/03 13:32 ID:???
<pre>あ\nほ</pre>
227Name_Not_Found:04/07/03 13:33 ID:???
\r
228Name_Not_Found:04/07/03 15:49 ID:???
strict厨混じるとキモイ流れになる証拠だな
229Name_Not_Found:04/07/03 15:50 ID:???
>>228
@
230Name_Not_Found:04/07/03 16:11 ID:???
>>228
は?
ただヴァカがヴァカに答えてあげてるだけだろ。
231Name_Not_Found:04/07/03 17:00 ID:???
どんたこすったらどんたこすっ♪
232Name_Not_Found:04/07/03 18:03 ID:???
悪いけどココ教えて君と知ったか厨しかいないスレだから
そこんとこ理解して発言んするように
233Name_Not_Found:04/07/03 23:00 ID:???
http://www.nvidia.com/page/home
のメニューみたいに、マウスを乗せると下にメニューが表示されるようにしたいのですが
それらしい、JavaScriptをコピーして実行させても左下にエラーが表示されて
実行されません。多分、JavaScriptが間違ってるのかと思います。
何方か教えてください。
234Name_Not_Found:04/07/03 23:02 ID:???
夜釣りの時期か
235Name_Not_Found:04/07/03 23:13 ID:???
>>233
そういうの配ってて、使い方くらい書いてあるサイトたくさんあるから探せYo!
236Name_Not_Found:04/07/04 14:31 ID:fGhkVJkQ
質問です。
index.htmlのhead内に、特定のページAから来たら特定のページBにすっとばすJSを、
body内に、アクセス解析レンタルのJSを入れています。
立ち上げると毎回エラー表示が一回出ます。

<head>
(略)
<SCRIPT LANGUAGE = "JavaScript">
<!--
if( document.referrer == "http://www.XXX.jp/~A/XXX/index.html"||
document.referrer == "http://www.XXX.jp/~A/XXX/index.html#7"||
document.referrer == "http://www.XXX.jp/%7eA/XXX/index.html"||
document.referrer == "http://www.XXX.jp/%7eA/XXX/index.html#q07" )
window.location = "http://www.XXX.or.jp/~B/XXX/osirase.html"
//-->
</SCRIPT>
</head>
<body(略)>
(略)
<SCRIPT TYPE="text/javascript" SRC="http://レンタル元のURL/js.php?007f140log04_レンタルのID/index"></SCRIPT>
(略)
</body>

「オブジェクトを指定して下さい」と出るのですが、飛ばしJSはあるサイトで教わった通りに書いていると思うし、
レンタル解析の記述も多分間違えてないと思うのですが…
なお、referrerが四つあるのは「~」が「%7e」に化ける環境があるらしいのと、アンカーがつく場合があるので。
どこをどう直せばいいのでしょうか。よろしくお願いします。
237Name_Not_Found:04/07/04 14:33 ID:???
>>236
日本語がおかしい。
238Name_Not_Found:04/07/04 14:33 ID:???
すいません>236ですが、間違えました。
referrerの二番目の#7と四番目の#q07はどっちも同じです。
239Name_Not_Found:04/07/04 14:37 ID:???
window.location → location.href

自分も初心者だから後は上級者に聞いてくれ。
240Name_Not_Found:04/07/04 14:49 ID:???
>>238
で、何行目でエラーが出たの?
241Name_Not_Found:04/07/04 15:08 ID:???
>>235
自分なりに探してみましたが見つかりませんでした。
マウスポインタを乗せるとリンク先のページの説明が表示されるのは
見つかりましたが、少し開き方が違ってました。
ご存知なら教えてくれませんか?
242Name_Not_Found:04/07/04 15:41 ID:???
教えてクンのすくつにようそこ
243Name_Not_Found:04/07/04 16:21 ID:???
低脳が集まる糞スレと聞きましたがここですか?(ゲラゲラ
244238:04/07/04 16:23 ID:???
すみません自己解決しました…
240さんのお言葉でもう一度確認してみたら、<body onLoad="preloadImages();">
が残ってて、その画像を消してしまったためでした。
お騒がせしてすみません。
245Name_Not_Found:04/07/04 16:42 ID:???
氏ね。
246Name_Not_Found:04/07/04 17:06 ID:???
あ、240さんありがとうございました。言い忘れてごめんなさい。
逝ってきます
247Name_Not_Found:04/07/04 21:07 ID:???
>>246
>index.htmlのhead内に、特定のページAから来たら特定のページBにすっとばすJSを、
>body内に、アクセス解析レンタルのJSを入れています。

句読点の使い方が変。
248Name_Not_Found:04/07/04 21:31 ID:???
最近の教えてクンは日本語も出来ないのか…
249Name_Not_Found:04/07/04 22:55 ID:???
糞レスがループする糞スレと聞きましたがここですか?(ゲラゲラ
250Name_Not_Found:04/07/04 23:04 ID:???
本当に難しく質問する価値のある質問だと結構役に立つ
んだけど、そういう質問はあまり多くないからね。
嘘だと思ったら過去ログが十数本読めるから読んでみれ。
251Name_Not_Found:04/07/05 00:19 ID:???
メンドクサイから有用な質問・回答抜き出してまとめサイト作ろうか?w
252Name_Not_Found:04/07/05 00:23 ID:???
ほーカス住人のためのまとめサイトですか?
タイトルもこれでいいぞ。さぁ作れ(プゲラ
253Name_Not_Found:04/07/05 00:29 ID:???
なんでプゲラなのか分からない
254Name_Not_Found:04/07/05 09:20 ID:???
>>251
本当にメンドクサイ作業がそれだと思うけど、やる気あるなら応援するぞ。
255Name_Not_Found:04/07/05 14:02 ID:???
質問です。
とあるPHPで吐くHTMLなんですが。
フォームのエレメントタグで以下のように出てきます。
<input type="text" name="code[id]">
これに値を参照/代入したいのですが、
document.form1.code[id].value
document.form1.code["id"].value
document.form1.code.id.value
等は未定義エラーが発生します。
document.form1.elements[0].vlaue
なら可能ですが、フォーム内容に修正を加えたとき番号がずれる可能性が
ありますので、できる事なら避けたいです。
何か良い方法はありますでしょうか?
256Name_Not_Found:04/07/05 14:21 ID:???
>>255
何か根本的に間違っているんじゃないの。PHPで生成してる
わけだから、「name="code1"」とか「name="code2"」とか
連番を振るようにして、あとは >>11 のQ7/A7を使うのが
いいと思うけど。
257255:04/07/05 15:09 ID:???
>>256
PEARのQuickFormでエレメントをグループ指定すると、
name="group1[element1]" といった感じで吐くんですわ。
258Name_Not_Found:04/07/05 16:10 ID:???
>>257
それはHTMLとして正しくないんで、ふつーPHP側でそれ以外の
方法があるんじゃないの。JavaScriptの話題じゃないね、バイバイ。
259255:04/07/05 16:27 ID:???
>>258
正しくないっていわれたー。
なにを根拠に...

そして、自己解決しました。
document.form1.elements['code[id]'].value
で参照、設定が可能でした。
260Name_Not_Found:04/07/05 16:39 ID:???
name 属性使うのってどうなの?
261Name_Not_Found:04/07/05 16:43 ID:???
>>259 はい根拠。標準なんか知ったもんかという奴は来ないで欲しい。

http://www.w3.org/TR/REC-html40/types.html#type-name

ID and NAME tokens must begin with a letter ([A-Za-z]) and may
be followed by any number of letters, digits ([0-9]), hyphens
("-"), underscores ("_"), colons (":"), and periods (".").
262Name_Not_Found:04/07/05 16:50 ID:???
>>259
動くとしてもそもそもヘンだと思わないか? 配列にするために
「code[id]」という書き方をしたんだろ。ところがその「code[id]」
というのが名前になっちゃって配列の添字は別に指定するってのは…

まあ動きゃなんでもイイっていうわけなのかも知れないけど、それ
続けてくとコードがボロボロになって手に負えなくなると思うぞ…
263Name_Not_Found:04/07/05 16:50 ID:???
http://www001.upp.so-net.ne.jp/oka/fr-14.htm
こんな感じのメニューで、普通のテキストの下に表示させたいのですが
どうすればいいのでしょうか??
264Name_Not_Found:04/07/05 16:53 ID:???
>>263
どこにだって表示させればいいんじゃないの?何が問題なわけ?
ある程度は自力でやらないと回答も得られないと思うけどな。
265255:04/07/05 17:01 ID:???
>>261
なるほど、了解した。スマソ

>>262
いや、俺も最初はゲゲっておもった。
>>257で挙げたクラスライブラリをつかうとそういうHTMLを吐くんだわさ。
266Name_Not_Found:04/07/05 17:06 ID:???
>>264
 普通のテキストリンク
┃開いたリンク1 ┃
┃開いたリンク2 ┃
┃開いたリンク3 ┃
┃開いたリンク4 ┃
┃開いたリンク5 ┃
┗━━━━━━┛
                         普通のテキストリンク
                         ┃開いたリンク1 ┃
                         ┃開いたリンク2 ┃
                         ┃開いたリンク3 ┃
                         ┃開いたリンク3 ┃
                         ┃開いたリンク4 ┃
                         ┃開いたリンク5 ┃
                        ┗━━━━━━┛

こんな感じに表示させたい位置がずれてるのです。
こういうのには対応できないのですか・・・?
267Name_Not_Found:04/07/05 17:39 ID:???
>>266
うーん、そのソースぐっちゃぐっちゃで全部読み切ったわけじゃ
ないけど、HTMLからメニュー構成の情報を取得して全部もっかい
document.write()で書き直してるような気がする。だとすれば
そういう配置には「対応していない」んじゃないかな〜。

もっと普通の(document.write()で書き直したりしない階層メニュー
のサンプルを探した方がいくない?
268Name_Not_Found:04/07/05 17:45 ID:CYrulQJz
hoge.html内で
window.open('test.cgi');
をやって、test.cgiにファイルを作成させています。
窓を開かずに、test.cgiだけ実行させるにはどうすればいいでしょうか。
269Name_Not_Found:04/07/05 18:10 ID:???
>>267
対応してないんですか。。。。
http://www.sky.sannet.ne.jp/masapine/java_link8.html
これも(・∀・)イイ!!かなと思ったのですが、ポップアップのところにリンクが
張ってあったらクリックできないし、ポップアップがマウスの位置からになってる・・・^^;
270Name_Not_Found:04/07/05 18:41 ID:???
>>268
思いつきなんだけど、

var tmp = document.createElement("img");
tmp.src = "test.cgi";

とかしてみると、アクセスしてくれんかね。駄目だったら、
cgi に 何か image/gif とかを返してもらうようにして、

document.getElementsByTagName("body")[0].appnedChild(tmp);

としてみるとか。
271Name_Not_Found:04/07/05 19:28 ID:???
>>261
既出だが、標準を尊重したいならお前こそ仕様書読み直すことだな。
お前の引用した部分は、inputのname属性のようなCDATA型の属性には関係がない。
name="code[id]" は (X)HTML 的には何も問題がない。
272Name_Not_Found:04/07/05 20:03 ID:???
>>271
スマン、漏れは>>261じゃないんだけど、後学のために聞かせて
欲しいんですが。

> ID and NAME tokens must begin ...

の下りは、ティムたんの誤爆ってことなの?
属性値ってPCDATAだと思ってた… orz
273272:04/07/05 20:04 ID:???
×下り
○件
274Name_Not_Found:04/07/05 21:02 ID:???
>>271
ふーんそうなのですか、勉強になりまつ。ところで質問なのですが、
その箇所のすぐ上にこうありますよね。

* CDATA is a sequence of characters from the document character
set and may include character entities.

(...中略...)

For some HTML 4 attributes with CDATA attribute values, the
specification imposes further constraints on the set of legal
values for the attribute that may not be expressed by the DTD.

この「DTDではCDATAと書かれているがさらに強い制約があるもの」
とは具体的にはどの要素のどの属性なんでしょう。自分はてっきり
これはすぐ下に続くID、NAME、IDREF、IDREFS、NUMBERについての
言及だと考えてしまっていたのですが。よろしくお願いしまつ。
275Name_Not_Found:04/07/05 21:10 ID:???
スレ違い
276255:04/07/05 21:12 ID:???
なんだなんだ? 別に問題ないのか?
外部ライブラリなんで、急に仕様変更になったりしたらやだなと思ってたんだけど、
とりあえずは安心してられるのかな?
277Name_Not_Found:04/07/05 21:18 ID:???
>>272
DTD みると ATTLIST に
ID とか NAME とか NUMBER とか属性の宣言値が書いてあるだろ。
IDトークンとかNAMEトークンてのはそれを指している。

> 属性値ってPCDATAだと思ってた
引用符で囲まれて表記される属性値表記の解釈は確かにPCDATAとして行われる。
ただ、ではそれで例えば "maxlength NUMBER #IMPLIED"
というような宣言を無視できるかというと、そういう話ではないので。

>>273
> この「DTDではCDATAと書かれているがさらに強い制約があるもの」
大雑把に言うとDTDにおける "CDATA" という内容の引数実体参照。
%ContentType; とか、 %URI; とか外部仕様が存在するものを指す。

スレ違いスマソ。
278268:04/07/06 09:12 ID:???
>>270
こんなやり方があるんですね、その方法でうまく行けました。
ありがとうございます。
279Name_Not_Found:04/07/06 11:47 ID:???
>>277
なるほど、了解しますた。
>>276
あと、name="..."が同じ要素を沢山作ったらそれが1つの
配列としてアクセスできるというのはDOMには書かれて
いないように記憶してるのだけど…それも読み違いなら
すまんけど。
280Name_Not_Found:04/07/06 13:26 ID:???
Strictスレ行けよバカ
281255:04/07/06 14:07 ID:???
>>279
えーと、グループ化しても配列化しないオプションがあった。
つか、わざわざ配列化してしまうオプションを有効にしていた。
いろいろすれ違いネタになりお騒がせしてすまんかった。> all
282Name_Not_Found:04/07/06 14:20 ID:???
DOMの問題はこのスレでしょ。
283283:04/07/06 22:30 ID:???
OS:Windows2000 SP4
ブラウザ:IE6SP1

商品の広報用のHTMLがあるんですが、そのHTMLをIEで参照することが出来
なくて困ってます。

Scriptを使わず通常のタグだけなら問題ないんですが、動的HTMLを使うた
めHTMLの中に約9000程のdocument.writeを追加したところ、IEで参照する
とページを読み込み続けて20分程経っても読み込み完了することが出来な
い状態です。document.writeの代わりに直接タグを打ち込むと約40秒程で
読み込みが完了しますのでHTML自体には問題無いと思います。
ネットスケープやOperaでは特に問題なく参照することが出来ました。
IE5.5はIE6ほど重くは無かったんですが、それでもかなり重い状態です。
動的HTMLを生成したいため、実際の運用では直接タグを打ち込むというこ
とは出来ません。
対処法、もしくは原因など知っていたら御教授願えないでしょうか?
284Name_Not_Found:04/07/06 22:39 ID:???
釣られてみようか。

>>283
> 約9000程のdocument.write

が悪い。何をどうしたらそんなことになってしまうのか。
先に行っておくと、DHTML 技術を使うことには何ら問題はないよ。

write なんてしないで、要素を生成して、DOMツリーに追加すればおk
285283:04/07/06 23:03 ID:???
>>284

つっこまれるのはわかってましたけど、document.write
の大量配置はやっぱりまずいんですね。

ネスケでは一応見れていたので、何らかの解決策がある
のではと思って質問してみました。
document.writeでやっていくことにはあまり固執する
気は無いんですけど、ネスケとIEではdocument.write
の扱いは違うんでしょうか?
286Name_Not_Found:04/07/06 23:13 ID:???
>>285
たいして違わないけど、
document.write というオブジェクト+メソッドの構文を
ひとくくりに echo や print みたいな標準出力の代わりと思っているのは、
大きな勘違い。

JavaScript は DOM ツリーにぶら下がるエレメント群とそのプロパティを
ごにょごにょする為のモノ、本筋は。

NN4 に気を遣っているならば、すでにそのスクリプトは
NN4 とのクロスプラットフォームドスクリプティングの限界を
越えてしまっているモノだと思って違う道を探った方がいいよ。
287Name_Not_Found:04/07/06 23:21 ID:???
>>284
9000回のDOMノード追加もやり方次第では相当な処理時間がかかると思うが。

>>285
document.writeを使うにしろDOM操作でいくにしろ
画面の再描画回数を減らす方向でルーチンを改造するのが吉。
9000回分のタグを全部配列に入れておいてjoin()した文字列を一気にdocument.writeとか。
288Name_Not_Found:04/07/06 23:23 ID:???
そんなに多数書いてるならほとんどをdocument.writeにしてるのか?
いくら動的HTMLと言ってもイノシシ並に前しか見れないんだな
289Name_Not_Found:04/07/06 23:25 ID:WA+fL9sm
言葉をつつしみなさい。
290283:04/07/06 23:29 ID:???
早速のレスありがとうございます。
商品数が約2000ほどあってHTMLのサイズが10MBまで膨れ
上がってました。document.writeの使用率は30%ぐらい
という所です。仕様上の問題があって分散して表示という
事が出来ない状況でこんな事態になってしまいました。

JavaScriptの本来の使用目的に外れて限界を超えていた
みたいですね。
もう一度再構築する形で進めて生きたいと思います。
ありがとうございました〜。
291Name_Not_Found:04/07/06 23:51 ID:???
>>290
ページは1つであってもobject要素などを使えば他の(分けた)
HTMLを埋め込めるから適宜分割して生成できるよ。9000行の
writeはどう見ても尋常じゃないねえ。実はその9000行のうち
変化するところは一部なんじゃないの?
292283:04/07/07 00:05 ID:???
商品数・価格によって変動させているんですが、おっしゃる通り変
化するところも一部だし、データベースから数値を引っ張っている
わけではないので、あまり意味が無いといえばその通りなんですよね。
本来はJavaSevletで…ということなんですが一品物だったのでこの
ような事態になりました。
JavaScriptは予想以上に奥が深いようで勉強になりました。

293Name_Not_Found:04/07/07 00:33 ID:???
>>292
それでなんで9000行?もしかして表の縦数列をずーっと変えている
とか?
294Name_Not_Found:04/07/07 01:11 ID:4GZ84nlM
ホバーウインドウって 人気あるの?
295Name_Not_Found:04/07/07 05:57 ID:???
ホバーウインドウ?
ポップアップウィンドウのこと?それともただのいわゆるポップアップ?
296Name_Not_Found:04/07/07 06:09 ID:???
>>283
>document.writeの代わりに直接タグを打ち込むと約40秒程で
> 読み込みが完了しますのでHTML自体には問題無いと思います。

多分、これが嘘。
そのdocument.writeのどこかに問題があると思われ。
\"の間違いとかで、変なhtmlになってないか?
297Name_Not_Found:04/07/07 14:58 ID:???
てっゆーかJavaScriptだけで商品数・価格によって変動する動的ページ?
商品数・価格はどこから取得するんだよ
298Name_Not_Found:04/07/07 15:38 ID:???
>>297
車のオプション見積もりページなんかみたいなのだろ
299Name_Not_Found:04/07/07 19:23 ID:???
>>298
しかしそういうんだったら、オプションとか選ぶとその場で
計算して表示とかいう感じになりそうなもんだけど。9000行
書くというのはやっぱり納得がいかない。
300Name_Not_Found:04/07/07 20:15 ID:???
5の平方根を、2分法とニュートン法の
2種類で求める為に、下のようなプログラムを、数学の参考書、
Javascript辞典とにらめっこしながら書きましたが、どうも
構文エラーが出てしまい、上手く働きません。どこが悪いのでしょうか。
すいません、本当に解りません。

<html>
<body bgcolor=orange>
<center>
<h2>5の平方根を、2分法で求める</h2>
<script language="javascript">
e=10e-8;
a=5;
x1=2;
x2=3;
f1=x1*x1-a;
document.write("<table border=3>");
document.write("<td algen=center>" + x1 + "</td>"
+ "<td algen=center>" + x2 + "</td>"
+ "<td algen=center>" + |x1-x2| + "</td>");
document.write("<tr>");

while(Math.abs(x1-x2)>e){
y=Math.abs(x1-x2);

301Name_Not_Found:04/07/07 20:15 ID:???
document.write("<td algen=right>" + x1 + "</td>"
+ "<td algen=right>" + x2 + "</td>"
+ "<td algen=right>" + y + "</td>");
document.write("<tr>");

x3=(x1+x2)/2;
f3=x3*x3-a;
if((f1*f3)==0){
break
}else{
if((f1*f3)>0){
x1=x3
}else{
x2=x3;
};
};
};

document.write("</table>")
document.write("<h2>")
document.write("e=" + e + "<br>")
document.write("a=" + a + "<br>")
document.write("aの平方根" + x3 + "<br>")
document.write("</h2>")
</script>
</body>
</html>
302Name_Not_Found:04/07/07 20:27 ID:???
まずは algen から突っ込もうか。
303Name_Not_Found:04/07/07 20:31 ID:???
× |x1-x2|
○ (x1-x2)
見間違えた?
304Name_Not_Found:04/07/07 21:24 ID:LeqrcjfY
>302-303
そこ直したら、あっさりできました…ありがとうございます!!
物凄く助かりましたjavascriptとともに、数学も勉強しなおしてきます。
本当に、ありがとうございました。
305Name_Not_Found:04/07/07 22:48 ID:???
ていうかそんな平方根求めるようなスクリプトなんにつかうんだ?
利用方法がまったく思いつかない
306Name_Not_Found:04/07/07 22:50 ID:???
学校の宿題
307Name_Not_Found:04/07/08 00:33 ID:???
プログラムを書く練習じゃない?
308Name_Not_Found:04/07/08 00:57 ID:???
世界経済を救うための計算だよ
309Name_Not_Found:04/07/08 11:46 ID:???
inputの中に入力したものをリアルタイムで表示させたいのですが、
<form name="mform">
<input type="text" name="test" size="35" value="" onkeyup="document.writeln(mform.filter.value);">
</form>
こうするとすべてページが消えた上にポツリと内容が表示されます。
表示する場所などの指定がよく分かりません。どうにかできないでしょうか?
310Name_Not_Found:04/07/08 11:47 ID:???
ミスりました。
○mform.test.value
×mform.filter.value
311Name_Not_Found:04/07/08 13:02 ID:???
innerText
312Name_Not_Found:04/07/08 13:48 ID:???
>>309
ほーら、そういうときは >>11 のQ4/A4を見れ。
313Name_Not_Found:04/07/08 13:54 ID:???
>>309
DOM つかおう。
314Name_Not_Found:04/07/08 21:24 ID:???
東京DOM
315Name_Not_Found:04/07/08 21:49 ID:???
>>311
ありがとうございます。
無事に動作させられました。

>>312,313
FAQにあったのにすみませんでした。
innerTextでとりあえず動作できたのですが、
DOMの場合はどんな感じになるんでしょうか?
とりあえずサンプルをいじくっているのですが、
function test1(){
var theNode = document.getElementById('testmes');
theNode.firstChild.nodeValue = "てすてす";
}

<p id="testmes"></p>
..(略)
<input type="text" name="test_input1" value="あいうえお" onkeyup="test1();">
この"てすてす"を単にmform.test_input1.valueとしただけではダメですよね...。
どうやったらvalure値が取得できるんでしょうか?
316Name_Not_Found:04/07/08 22:01 ID:???
>>315
ほーら、そういうときは >>11 のQ7/A7を見れ。
317Name_Not_Found:04/07/08 22:02 ID:???
>>316
その前に>>3,4じゃないか?
318Name_Not_Found:04/07/08 22:03 ID:???
>>315
普通にgetElementByIdとかでもいいし。で、valueプロパティ
319313:04/07/08 22:33 ID:???
>>315
それだったら、onkeyup="test1(this);" ってすれば。
あと、原理主義的かもしれないけど、空のpはよくないです。
320Name_Not_Found:04/07/09 00:51 ID:i8VR6geA
<!--
var tx=Array();
tx[0] = "あいうえお";
tx[1] = "かきくけこ";
tx[2] = "さしすせそ";
document.writeln(tx);
//-->
これを実行すると
あいうえお,かきくけこ,さしすせそ
の様に「,」で区切られるのですが、
この区切りをなくす方法を教えてください。

321 ◆jHejx.Ji8k :04/07/09 00:52 ID:???
あげちゃった
322Name_Not_Found:04/07/09 00:56 ID:???
>>320
>>4のリファレンスサイトを熟読して
配列について調べてみよう
323Name_Not_Found:04/07/09 10:16 ID:???
>>320-322
ヒント: 「tx.j???(??)」
324Name_Not_Found:04/07/09 15:58 ID:???
え〜と、別スレで質問したら誘導してもらい、ここにきました。
マルチすんません。

今、myHPにアンケートを挿入しようとしています。
そこで一つの案というか壁にぶち当たりました。
はい、いいえのラジオボタンで
「はい」だったらその下のフォームオブジェクトが使えて、
「いいえ」だったらその下のフォームオブジェクトがグレーになって使えなくなるような
プログラミングってありますか?

例えば・・・
以下のアンケートに答える気がありますか?
○はい ○いいえ
で「はい」にチェックを入れるとそれまで記入できなかったフォームに書き込めるようになるみたいな・・・

当方素人なもので果たしてこのようなことが出来るかどうかも分かりません。
私の希望に添うようなページなどありましたらURLを示して頂ければ幸いです。
CGIは少々勉強してのでソースみて何とかしたいと思っています。
どなたか知っている人いたらご教授下さい。
325キューブ ◆jHejx.Ji8k :04/07/09 17:05 ID:???
<!--
var tx=new Array();
tx[0] = "あいうえお";
tx[1] = "かきくけこ";
tx[2] = "さしすせそ";
document.writeln(tx.join(""));
//-->
とやったらできました。
>>322-323
ありがとうございます。
326Name_Not_Found:04/07/09 17:25 ID:???
>>324
チェックが「いいえ」についてたら
オブジェクトのdisabledプロパチーをtrueにすりゃよろし
327Name_Not_Found:04/07/09 17:28 ID:???
ステータスバーに「実行しましたが、ページでエラーが発生しました」
と表示されるのを、表示させないようにすることはできますか?
もちろんエラーを直すこと無しにです。。






328Name_Not_Found:04/07/09 17:45 ID:???
>>327
エラーが起きないように直せる実力がないのならJavaScript
なんかやめた方がいいと思うけどねえ。ちなみに答えは「できます」
で、その方法は検索すればすぐ分かると思うよ。だから書かない。
329327ではないですが:04/07/09 17:55 ID:???
>>328
できるんだ。知らなかった…
330327:04/07/09 18:01 ID:???
>>328
エラーの原因もわかってるのですが
第3者のデータを扱ってるので
独力では中々解決するのが難しくて・・

後散々検索しても見つかりませんでした
331Name_Not_Found:04/07/09 18:14 ID:???
データがどうであろうとコード側でチェックして
まずい動作をしないようにすればいいだけのことだが。
「onerror」だよ、もろじゃん。もっかい検索すれ。
332Name_Not_Found:04/07/09 18:18 ID:???
森田検索
333329:04/07/09 19:47 ID:???
onerror ってそういう使い方だっけ?
try catch の方じゃなくて?
334327:04/07/09 20:24 ID:???
onerrorにしろtry catch にしろ
ステータスバーのエラーを表示させないために
何を記述すればよいのかさっぱりわかりません
335Name_Not_Found:04/07/09 21:30 ID:???
>>334
あららまだわかんない?
onerrorを空の関数でハンドルすればいいんでしょ。
下のでどーよ。

<html>
<head>
<script>
window.onerror = new Function( "" ) ;
</script>
</head>
<body>
<script>
a = ; // エラーになるコードをわざと書いておく
</script>
</body>
</html>
336Name_Not_Found:04/07/10 00:57 ID:???
>>324
レスつかないみたいですね。
IE6とNN7以外で動作するコードは↓のような雰囲気。

<html>
<head>
</head>
<body>
<form>
<input type="radio" name="yesno" checked onclick="idtext.disabled=false">YES
<input type="radio" name="yesno" onclick="idtext.disabled=true">NO
<br>
<textarea id="idtext"></textarea>
</form>
</body>
</html>

ほかの書き方は
「javascript disabled」というキーワードでぐぐれば
いくらか出てくる。
337Name_Not_Found:04/07/10 01:20 ID:???
338324:04/07/10 12:59 ID:???
>>326 >>336
レスどうもありがとうございます。
なんとか出来そうです。

ところでdisabledの命令先が2箇所以上になる場合どのようにフォームを指定すれば良いのでしょうか?
idtext.disabled のidtextをAとすると
A?B.disabled
?には何が入るのでしょうか?
さんざん調べたのですが、分からなかったものでもう一度お伺いすることにしました・・・。
宜しくお願いします。
339Name_Not_Found:04/07/10 13:02 ID:???
2箇所別々にtrueにするなり
ツリー追って順に処理させるなり好きにしる

てか調べ方足りないんじゃないの?
340Name_Not_Found:04/07/10 13:35 ID:???
>>339
どうも >>338 は「1行を超えるコードが書けない」人ではないかと。
もしそうなら何言っても無駄ぽ。
341Name_Not_Found:04/07/10 16:22 ID:???
>>338
一冊JavaScriptの本を買って、読破してから再質問してみてください。

このスレの雰囲気からするとJavaScriptの文法を
だいたい抑えている人が対象みたい。
だからあんまり初歩的な質問にまで下ってしまうと
真っ当なレスはつきません。

ちなみに、JavaScriptで複文にするときは「;」(セミコロン)を使います。
制御したいフォームのIDが「A」と「B」だったときは
onclick="A.disabled=false ; B.disabled=false"とすればよいです。
342Name_Not_Found:04/07/10 16:57 ID:???
初歩的な質問だからレスつかないんじゃないぞ。
調べりゃ簡単にわかることだからレスつかなかったり煽られたりするんだろ。
過去ログ全部嫁とまでは言わんが、
せめてテンプレにある関連サイトに目を通すくらいはすべき
343Name_Not_Found:04/07/10 17:44 ID:???
右も左も分からない人には行くべき道を教えてあげれません
行き先を教えても右も左も分からないので辿り着けないからです
344Name_Not_Found:04/07/10 17:46 ID:???
>>342
わかんない人は、どこを見ていいものなのか分からないし
それが簡単なのか難しいのかすら、わかんないのだがね。
345Name_Not_Found:04/07/10 19:58 ID:???
どこを見ていいものなのか分からない、
それが簡単なのか難しいのかすらわからない、
それならそこを脱してから質問書き込んでくれ
346Name_Not_Found:04/07/10 20:02 ID:???
>>345
そういう人は自分で解決できるから、
質問しないんじゃないの?
そうなるとこのスレの存在が危ういw
347Name_Not_Found:04/07/10 23:15 ID:???
「どこを見れ」とか「本を読め」とか「過去ログを読め」とか
その人のレベルに相応しいレスはついてると思うよ、一般に。
348Name_Not_Found:04/07/11 00:43 ID:???
だな
「親切」であればいいわけではないし
349Name_Not_Found:04/07/11 01:45 ID:???
UTF-8に変換せずに、元の文字コードのままURIエンコードする方法ってありますか?
>>349
escape()、unescape()の話でしょうか?
エンコードに使われる文字セットは、ブラウザ依存で
選ぶことはできないと思われ。
Unicode=UTF-8だと思ってんのか… なんでこんなアフォが(ry
>>350
いいえ。元の文字コードのままURIエンコードする方法です。
encodeURIComponentやECMA-262 2nd Edition準拠のescapeではなく
Netscapeのescapeと同じ結果を他のブラウザで実現する方法です。
たとえばshift_jisのページの「あ」を「%82%A0」、euc-jpのページの「あ」を「%A4%A2」のように変換するエンコードです。
>>352
がんばれば自前で関数を書けばできそうだが、ブラウザごとの互換性問題
を完璧に解決するのは、たぶんムリ。

漏れはキミが何をやろうとしているのか、わからない。
エンコードする前のデータはどこからくるのか。エンコード後のデータを
どこへ流そうとしているのか。(サーバ?クライアントクッキー?表示用?)

その近辺をもうちょっと詳しく。
ブラウザごとの互換性問題を完璧に解決するには、
Unicode⇔JIS X 0208完全な変換テーブルを用意するしかないかと。
あともう一つの難関は文書の文字コード検知。
MozやIEならdocument.charsetで取得できるけど
標準化はされてないから取得できない環境もあるだろう。
355Name_Not_Found:04/07/12 01:35 ID:???
>>342-348
金魚の糞みたいに連なって無意味なレスつけるな。
スレが読みにくいんだよ。
356Name_Not_Found:04/07/12 01:41 ID:???
jsてなんでURLエンコ関数設けないんだろうな、長年疑問に思ってるんですけど・・。
357Name_Not_Found:04/07/12 01:49 ID:???
>>356
JavaScriptには、ブラウザ内部の世界から外へは出ない(出さない)
っていう哲学やら思想があるからじゃないの?
一線引かないと、機能が拡張されすぎてワケ分からなくなったり
セキュリティーの穴も空きやすくなったりする。
358Name_Not_Found:04/07/12 01:54 ID:???
それは哲学とか思想というより、理念と言うべきかと
359Name_Not_Found:04/07/12 02:03 ID:???
>>358
あのー、コンピュータ言語の特徴を説明するときに
哲学(Philosophy)っていう言い方を普通に使うんですけど。
http://info.baeumle.com/java/intro/philosophy.html

ちなみに「哲学」といってもプラトンとかソクラテスが
出てくる世界とは違うのであしからず。
360Name_Not_Found:04/07/12 02:23 ID:???
Philosophy には、考え方、根本原理みたいな意味もあるわけで、
「哲学(Philosophy)」のような表記をするのはどうかと思うが。
361Name_Not_Found:04/07/12 02:34 ID:???
>>360
まーしつこいこと。
Philosophyってだけ言うとインテリ臭くてイヤだから
哲学(Philosophy)ってわざわざ書いたのにw

「Javaの哲学」っていう書名あるくらいだから
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=Java%E3%81%AE%E5%93%B2%E5%AD%A6
業界内では、Philosophyと哲学は一緒にしちゃって問題ないのよ。

コトバ博士は髭生えたオジサンになってからにしてw
362Name_Not_Found:04/07/12 02:52 ID:???
358≠360 でつ。
Philosophy ≡ 哲学 なんて言うのは、一部の業界の馬鹿な技術者だけにしておいてクレー
363356:04/07/12 05:36 ID:???
>>357
そういう哲学があったとは知らなかったよ、サンクス。

でもURLエンコが出来なくても外へは出せるんだよね、escapeは使えるわけだし。
外に出したいのか出したくないのかがはっきりしなくて中途半端だね。
どうせならURLエンコも実装してくれたらいいのに。('A`)
364Name_Not_Found:04/07/12 07:39 ID:???
>>355
あんたはこのスレ読まなくていいよ。
365Name_Not_Found:04/07/12 11:19 ID:???
>>363のURLエンコが何を指してるのか分からんがencodeURIって関数はあるよ
366Name_Not_Found:04/07/12 11:41 ID:???
>>359
プライド高杉
367Name_Not_Found:04/07/12 11:51 ID:???
>>366
放置しろや禿
368Name_Not_Found:04/07/12 13:57 ID:???
指定したURLのHTMLソースを文字列として
変数に代入するにはどうすればいいですか
369Name_Not_Found:04/07/12 14:04 ID:???
>>368
まず >>11 のQ2/A2を読め。もし自サーバのURLのソース
だったら改めて質問してくれれば相談にのる。
370Name_Not_Found:04/07/12 14:13 ID:???
>>369
別サーバです。CGIで何とかします。ありがとうございました。
371356:04/07/12 16:28 ID:???
>>365
そ、ソレダ! スマン、知らんかった_| ̄|○
372Name_Not_Found:04/07/13 09:08 ID:???
suuji = 100 * 1.15

↑の計算結果を出力するとなぜか115ではなく、114.99…998となるのですが、原因はなんなんでしょう?
1000 * 1.15にするとちゃんと1150とでるし、10 * 1.15でもちゃんと出ます。
さらに、1.20などだと120と正しく出力されています。なぜか115付近の数値だけダメです。
373Name_Not_Found:04/07/13 09:38 ID:???
凄いタイミングで372と同じところに躓いた。

よって質問省略。
374Name_Not_Found:04/07/13 09:54 ID:???
>>372-373
コンピュータ上での実数計算は基本的に「近似値」だと思え。
だからあんたが「ちゃんと」と思ってるのは「たまたま」
四捨五入の結果そうなっただけのこと。それが嫌なら整数を
使うしかない。115の付近だけってことは全然ないよ。
375Name_Not_Found:04/07/13 11:32 ID:1ZSgFAj9
タブ移動でリンク用の画像にフォーカスが合った時に時に
その画像を差し替えたいのですが方法が分かりません。
マウスのカーソルがあった場合はonmouseout、onmouseoverで
差し替えられるのですがTab移動で画像にフォーカスがあった場合は
駄目なので困っています。
<a>や<img>タグでblur、focusのような効果を期待出来る方法や
他にいい方法は無いでしょうか?

376Name_Not_Found:04/07/13 11:46 ID:???
onfocus?
377Name_Not_Found:04/07/13 11:48 ID:???
>>375
あんたは調べるということをしないのか。<a>タグにはonfocusも
onblurもあるだろ。何が問題なんだ???
378375:04/07/13 12:08 ID:???
>>377

ご迷惑をお掛けしました
JavaScriptポケットリファレンスにNetscapeでこのスプリクトを・・・と書かれていたので
onFocusは使わない方が好ましいイベントかと勘違いしていました。
379Name_Not_Found:04/07/13 14:00 ID:???
>>378
もうすこしちゃんとした本を見た方がいい、
つか、web系はまともな本が、ごくわずかしかないことを
覚えて置いた方がいいかも。
380Name_Not_Found:04/07/13 14:46 ID:???
>>372-373
誤解を恐れずに言ってしまえば、コンピューターは小数を扱うのが苦手なので、
そういう数を利用するときは、分数として値を保持していれば基本的に誤差が出にくい。
381Name_Not_Found:04/07/13 15:41 ID:???
質問いいでしょうか。
<FORM>内の<TEXTAREA>でタブキー押下でフォーカスを移動させずにタブ文字を挿入しようと思い、
探し回ってみたところ、以下のスクリプトで可能と言うことがわかりました。

<form>
<textarea cols="30" rows="5" onkeydown="
 /* テキストエリアが選択されている場合 */
 if(document.selection){
  /* タブキーが押下された場合 */
  if(event.keyCode==9) {
   /*  */
   r=document.selection.createRange();
   /* フォーカスを外す */
   this.blur();
   /*  */
   r.collapse(false);
   /* タブ文字を設定する */
   r.text='\t';
   /*  */
   r.select();
   /* 戻り値無し */
   return false;
  }
 }
">
</textarea>
</form>

コメントが空欄になっている部分が具体的にどのような処理を行っているかがわからないのですが、
何を行っているのかを教えていただけないでしょうか。
382Name_Not_Found:04/07/13 16:37 ID:KUjuLGFL
http:click-tv:jp このサイトに日付とか置きたいんだけどどうすればいいですか?
383Name_Not_Found:04/07/13 16:48 ID:???
>>382
Webサイト制作初心者用質問スレ vol.96
http://pc5.2ch.net/test/read.cgi/hp/1088856477/

↑へ行ってまともな日本語で質問しろ
384Name_Not_Found:04/07/13 16:48 ID:???
リンク失敗にワロタ。
書けばいいじゃん、日付w
385Name_Not_Found:04/07/13 16:48 ID:???
質問が意味不明しかもある意味マルチ

813 名前:Name_Not_Found 投稿日:04/07/13 16:28 ID:KUjuLGFL
最近友達が作ったんだけどどう思う?
http://click-tv.jp
386Name_Not_Found:04/07/13 16:53 ID:KUjuLGFL
http://click-tv.jp URL間違ってた
387386:04/07/13 17:11 ID:???
みなさん、このサイトに17:15に、
せーので来てください。
ガンガン来てください。
2ch 晒しに耐えられるかどうかの実験にご協力下さい。

http://click-tv.jp

# 他のスレにもどんどんコピペしてください。
388Name_Not_Found:04/07/13 17:12 ID:eP69C9bI
テーブルセルのバックカラーをif文の条件にできますか??
例えば
黄色の時、白
白の時、黄色
というかんじで。
if(document.getElementById(id).style.backgroundColor=="#FFFF99")
を試してみたのですが、できないので・・・・。
389Name_Not_Found:04/07/13 17:18 ID:???
>>388
JavaScript のプロパティとして明示されていなければ、
値は参照できないよ(例えば css でやったものとか。)

もし、bgcolor 属性とかを使っているなら、getAttribute みたいのが
あるので、それを使えば参照できる。

でも、td には bgcolor は駄目なので、class 属性を与えて、
色とかは css で、JavaScript は className を参照するように
するのが良いかと。
390389:04/07/13 17:20 ID:???
>>389
> td には bgcolor は駄目

ごめんなさい。すごくうそ。
391Name_Not_Found:04/07/13 17:25 ID:???
>>388
要素.style.backgroundColor="blue"; と設定したやつか、<td style="background-color:blue">
となってるやつならJSで取得できるみたいよIE6とFireFox0.8
392Name_Not_Found:04/07/13 17:45 ID:???
>>391
みたい、ではなくて。
要素のstyleプロパティは要素のstyle属性で指定されるCSSプロパティを表す。
393Name_Not_Found:04/07/13 17:47 ID:eP69C9bI
ありがとうございます。
明示してないと無理なんですね・・・。
白と明示したやつをJSで黄色に変更。
その変更したものを条件にしてたのでうまくいかなかったみたいです。
394Name_Not_Found:04/07/13 18:12 ID:???
if(document.getElementById('cc').getAttribute('bgcolor') == "#FFCC66".toLowerCase())

<td bgcolor="#FFCC66" id="cc">ABC</td>

※ bgcolorを大文字で書いてもgetAttributeで得られる値は小文字なのでtoLowerCase()を使う
395Name_Not_Found:04/07/13 18:17 ID:???
ああ、styleでやってるのか。
じゃあ>>394は的外れだった。
396Name_Not_Found:04/07/13 18:26 ID:???
>>393
これが無理じゃないんだな。ここ見れ。英語だがサンプルコードは読めるだろ。
ttp://www.oreillynet.com/pub/a/javascript/excerpt/JSDHTMLCkbk_chap5/index5.html
397Name_Not_Found:04/07/13 18:36 ID:???
>>395
的外れなところ何だけど
getAttribute('bgcolor')の値が小文字で正規化される保証はないので
どうせやるなら getAttribute('bgcolor').toLowerCase() == "#ffcc66" だろう。
# つーか "#FFCC66".toLowerCase() なんて "#ffcc66" で充分。
398Name_Not_Found:04/07/13 19:03 ID:???
>>397
保証が無いのに"#ffcc66"で充分?
矛盾していないか?
399Name_Not_Found:04/07/13 19:29 ID:???
>>398
そーいうことじゃなくて、文字ケース揃えて比較するのは結構だが
"#FFCC66".toLowerCase() なんて誰が何度やったって
"#ffcc66" 以外にならないだろ、という意味。
400Name_Not_Found:04/07/13 19:58 ID:eP69C9bI
http://www.oreillynet.com/pub/a/javascript/excerpt/JSDHTMLCkbk_chap5/index5.html
↑参照させていただきました。ありがとうございます。
getElementStyle( )がオブジェクトでサポートされていないって怒られるのですが。
解決方法を教えていただけませんか??
401Name_Not_Found:04/07/13 20:06 ID:???
不可能だとは思いますが、質問させていただきます。

二重送信防止策として、
<FORM method="POST" action="test.cgi" onsubmit="return confirm('送信します。宜しいですか?')">
というタグで確認は出しているのですが、OKを押した後にsubmitを
押されてしまって再度OKを押されてしまうと、結局二重送信になっ
てしまいます。

このcomfirmを、一度送信を押した後にcaution(「!」のアラート)に
変えるような何か良い方法はありませんでしょうか。

ご教授いただけますと幸いです。
402Name_Not_Found:04/07/13 20:41 ID:???
>>400
IEならcurrentStyle
Moz系ならgetComputedStyleだったかな
その辺ググって味噌

「明示」されてる必要はありません
403Name_Not_Found:04/07/13 20:50 ID:???
>>401
confirmだのcautionってのは初めて聞いたけど
二重投稿の基本的な回避策はサーバサイドでLocation発行して投稿ページをGETさせることだと思うけど
onsubmitの動作を書き換えたいなら単にスクリプトでオーバーライドすればよかろう
<FORM id="myform" method="POST" action="test.cgi" onsubmit="myconfirm()">
というHTMLなら
function myconfirm(){
document.getElementById('myform').onsubmit = fonction{caution()};
confirm('送信します。宜しいですか?');
}
みたいな
404Name_Not_Found:04/07/13 22:07 ID:???
154 名前:nobodyさん[] 投稿日:04/07/12 22:47 ID:EG13IMpu
変数['length']で文字数とれるみたいなんだけど
これってふつうにつかってんの?


155 名前:nobodyさん[sage] 投稿日:04/07/13 13:11 ID:???
Divタグにスタイルシートでoverflowを指定し、
フレームのような画面分割を行っているのですが、
このDiv内のスクロールバーを操作することができません。

JavaScriptで操作することはできるのでしょうか?
405Name_Not_Found:04/07/13 22:09 ID:???
>>400
あんたは馬鹿か。そのサンプルの使い方が解るまで入門本を読め。
それ以上的確なアドバイスはないと思う。
>>402
そのサンプルそのものを指し示しただろ。読んでから発言してよ。
>>401
onsubmit="return done?(alert('送信済'),false):confirm('OK?')&&(done=true)||false"
406Name_Not_Found:04/07/13 22:09 ID:???
156 名前:nobodyさん[sage] 投稿日:04/07/13 15:52 ID:???
なんでこういうトンチンカン(ry
407Name_Not_Found:04/07/13 22:51 ID:???
>>403
ありがとうございます。
参考にさせていただきます。

>>405
アラートすら出ません。
アドバイス有難うございます。
408Name_Not_Found:04/07/13 23:35 ID:DjRfCpXI
初心者ですいません。教えて頂きたいのですが・・・
JavaScriptでシステム日付のファイル名を作成し、
そのファイルにリンクさせたいのですが、上手くいきません。
ヨロシクお願いいたします。



<SCRIPT language="JavaScript">
<!--
today=new Date();
theMonth = today.getMonth()+1;
theDate = today.getDate();
function filename(){
filename = theMonth + "_" + theDate + ".html";
}
//-->
</SCRIPT>

<A href=javascript:filename>リンク先</A><BR>

409Name_Not_Found:04/07/13 23:37 ID:???
>>408
filename()
410408:04/07/13 23:54 ID:???
ありがとうございます!

ただ、

<A href=javascript:filename()>リンク先</A>

だとちゃんとうごきません。

見るところが間違っていますか?
411Name_Not_Found:04/07/13 23:59 ID:???
>>407
最初に「<script>var done = false;</script>」を入れてみて。
エラーが出てるようならその内容を教えて。
>>410
飛ばしたいわけだから関数定義の中、「filename=」とするかわりに
「location.href=」として。あと「href="javascript:filename()"」
のように「""」で囲まないとね。
412408:04/07/14 00:15 ID:???
ありがとうございます。

しかし、location.href ですと、自動的にそのファイルに飛んでしまう
ので、「リンク先」をクリックしたら飛ぶようにしたいのです。

何度もすいませんです!!
413Name_Not_Found:04/07/14 00:20 ID:???
>>412
ハア?リンクをクリックすると関数filename()が呼ばれて、
呼ばれるとその中で飛ばすわけだろ?何が問題なんだ?
>>407
コピペで試せるように全部作ってみたが一応OKのようだよ?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var done = false;
</script>
</head><body>
<form action="#" onsubmit=
"return done?(alert('送信済'),false):confirm('OK?')&&(done=true)||false">
<p><input name="t0" type="text"><input type=submit></p></form>
</body></html>
414408:04/07/14 00:35 ID:???
お騒がせしました!
ありがとうございました!!
415Name_Not_Found:04/07/14 01:20 ID:???
もっと書き込み隊 編集 & 書き込みスクリプト
http://bettsu.tripod.com/
416407:04/07/14 01:58 ID:???
>>411
すごすぎです。
私が言ったそのとおりの挙動になりました。
感動しております。
本当に有難うございました。
417Name_Not_Found:04/07/14 05:26 ID:???
コードクレクレ中しか居ないのな
418Name_Not_Found:04/07/14 05:29 ID:???
おまけ

405 名前:Name_Not_Found[sage] 投稿日:04/07/13(火) 22:09 ID:???
>>400
あんたは馬鹿か。そのサンプルの使い方が解るまで入門本を読め。
それ以上的確なアドバイスはないと思う。
>>402
そのサンプルそのものを指し示しただろ。読んでから発言してよ。
>>401
onsubmit="return done?(alert('送信済'),false):confirm('OK?')&&(done=true)||false"

407 名前:Name_Not_Found[sage] 投稿日:04/07/13(火) 22:51 ID:???
>>405
アラートすら出ません。


ダサw
419372:04/07/14 06:41 ID:???
>>374
>>380

ありがとうございます。納得できました。
420381:04/07/14 09:16 ID:???
>>417
コードがあっても意味が理解できない人もいます。
俺とか。

誰か教えて下さい orz
421Name_Not_Found:04/07/14 09:21 ID:???
>>420
検索もデキネェならあれだ、この先生
きのこれない。
422Name_Not_Found:04/07/14 11:34 ID:???
>>420
ホレ探してあげたよ。ここを読んでも理解できないのなら我々に
できることはありません。残念ながら。
ttp://msdn.microsoft.com/workshop/author/dhtml/reference/objects/obj_textrange.asp
423Name_Not_Found:04/07/14 13:13 ID:???
>>405 >>413
ですが、今考えて見たら最後の「||false」は不要でしたね。あっても
実害はないけど。
424Name_Not_Found:04/07/14 13:24 ID:???
>>381
これってWindowsでしか動作しないんだから、
読解しなくていいと思うが。
425Name_Not_Found:04/07/14 13:26 ID:???
いやいや、まずはどのコードも読解できるように勉強しておく
というのは基本でしょ。コピペしかできない人にはあまり来て
欲しくないしね。
426424:04/07/14 13:33 ID:???
>>425
そもそもメソッドとオブジェクトを
片っ端からググって解析完了しちゃうくらいの作業を
読解とは言わないのかもしれんがwww

>>381はまだわかんないのか。
427???:04/07/14 20:30 ID:HO5hbpfc
フレーム解除のjsで親の親を指定したいのですが
イメージ的にこんな感じ↓
parent.parent.frame.location="***.html"
parent.parentの正しい指定の仕方をご教示願いたいのですが・・
428Name_Not_Found:04/07/14 20:49 ID:???
>>427 そのframeとかいうのが余計。
parent.parent.location.href = URI;
top.location.href = URI;
どちらでも。
429???:04/07/14 21:01 ID:HO5hbpfc
frameは<FRAME NAME="frame">なのですが
430???:04/07/14 21:04 ID:HO5hbpfc
すいません。
parent.parent.frame.location
でいけました!!ありがとうございます。
431Name_Not_Found:04/07/14 21:39 ID:???
>>430
変わってないじゃん
432名無しJS初心者:04/07/14 23:03 ID:???
改造・吉野家コピペJS版が動きません。
http://ionazun.hottar.net/
バグと対処方法を教えていただけますか?
433Name_Not_Found:04/07/15 00:03 ID:???
あんたの思うままにプログラム改造したげたりするスレ
じゃないんだ。ちゃんと自分でソース読んで分からない
とこだけ質問してよ。
434Name_Not_Found:04/07/15 01:11 ID:???
>>432
牛丼が復活するまで待て。
435Name_Not_Found:04/07/15 09:12 ID:m8b/fWjQ
このスレって結局は口先ばかりの人しかいないんですね。
436Name_Not_Found:04/07/15 09:33 ID:???
JavaScriptって言語そのものが口先だけって感じがするよね。
クラスの実装とか。各社勝手な実装したり。

まあそんな適当っぷりが好きなんだけどね。
437Name_Not_Found:04/07/15 09:59 ID:???
質問です。
テキストエリア内で特定の文字列だけの色を変えるにはどうしたらいいんでしょうか?
438Name_Not_Found:04/07/15 10:50 ID:???
>>437
できない
439Name_Not_Found:04/07/15 11:32 ID:???
>>435
面白い質問が出れば結構すごいよ。過去スレ読めば解る。
アンタみたいな煽りが効果ないことも同様に解る(ry
>>436
クラスなんてないがな。無知のくせに知ったかな発言する
んじゃね〜よ。ム板のプロトタイプベース・オブジェクト
指向のスレでも逝って勉強してこい。
>>437
テキストエリア内でなけりゃできるんだけどね。どうしても
テキストエリア内でなくちゃ駄目なの?
440Name_Not_Found:04/07/15 13:11 ID:???
>>435
質問自体がぐぐれば分かるものが大半とか、
回答してもその後の返事がないとか、
殺伐とした雰囲気の原因は、このすれ(板)の平均年齢が低いからかと思われ。
441437:04/07/15 13:38 ID:???
>>439
>テキストエリア内でなくちゃ駄目なの?
タブ文字と空白文字の区別が付けられるように、タブ文字にだけ何かしらの色を付けられたらと思っているのですが。
442Name_Not_Found:04/07/15 13:46 ID:3yi9jt2d
質問です。
javascriptでスクロールする部分も含めたドキュメントの
高さと幅を取得したいのですがどうしても取得できません。

↓と全く同じ質問なのですが
http://chaichan.hp.infoseek.co.jp/qa2500/qa2881.htm

自分の環境では見えない部分(スクロールする部分)まで含めた値を取得できません。
環境は Win2k + IE5 です。

解決方法ご存知の方は是非ともお教えください。
443Name_Not_Found:04/07/15 13:47 ID:???
>>439
クラスなんて無いのにある振りをしているから
JavaScriptは中途半端で優柔不断なんじゃないか。
444Name_Not_Found:04/07/15 13:53 ID:???
>>443
ある振りなんかしてないだろ。あんたもここ逝って喧嘩売ってくれば。
http://pc5.2ch.net/test/read.cgi/tech/1070886635/l50
>>442
IE5はそーとー古いから「できない」かも知れないね〜。
>>441
色は難しいから「→」とか別の文字で表すとかしかないかも。
>>440
別に回答した後の返事がないことは漏れは気にしてないけどな。
445Name_Not_Found:04/07/15 14:19 ID:???
テキストエリア内で色をつける方法を思いついたかも。
IE限定だとは思うけどちょっと試してみる。
446Name_Not_Found:04/07/15 14:30 ID:???
>>445
無理だった。に、256ペソ
447Name_Not_Found:04/07/15 15:17 ID:???
>>446
まあもうちっと待ってくれ。

あと、高いCPUスペックを要求される方法なら思いついた。
そっちはすぐに動いたけどCPU負荷がバカ高いのと
あまりにも馬鹿馬鹿しいので脳内会議で却下した。
目にも良くなかったし。
448Name_Not_Found:04/07/15 17:03 ID:???
>>437
<div style="color: white; position: absolute; z-index: -1;"></div>
<textarea style="background-color: transparent;"></textarea>

こんな感じでtextareaのonkeyupでdivに内容をコピーしていくとか。
\tは<span style="background-color: red">\t</span>に変換しつつ。
449???:04/07/15 18:36 ID:WWGuUPpZ
こんばんは。
history.back()について質問させて下さい。

IEのブラウザ上に複数のフレーム(例えば2つ)を作り、
上部のフレームはname="f1"、下部のフレームはname="f2"とします。
f2のボタンの中には「戻る」ボタンがあり、
これを押すとこの画面が出る前戻らせたいので、
onclick=history.back()と記します。
ただこれだけですと、下のf2のみが前の画面に戻ってしまいます。
上のf1にもf2で実行させたhistory.back()を実行させたいのですが、
その場合f2の「戻る」ボタンのonClickにはどう記述すればいいのでしょうか?
(このような実装は可能なのでしょうか?)

どなたかご存知の方がいらっしゃいましたら、ご教授願えませんでしょうか?
よろしくお願いします。


450Name_Not_Found:04/07/15 18:56 ID:???
>>449
onclick="parent.frames.f1.history.back();history.back()"
451???:04/07/15 19:06 ID:WWGuUPpZ
ありがとうございました。
無事解決。
感謝!
452Name_Not_Found:04/07/15 22:40 ID:???
>>450
おまえネ申だろ。
453Name_Not_Found:04/07/15 22:48 ID:???
>>452
ハア?このスレの常連なら誰でもそんなの瞬時に答えるだろ。
フレームの参照方法と「;」だけじゃん。
454Name_Not_Found:04/07/15 22:51 ID:???
>>453
瞬時に答えは解るがそれを素直に書く奴はメッタにい(ny。
455Name_Not_Found:04/07/15 23:58 ID:???
>>454
だってあの程度でモメても面白くないじゃん。もうちょっと
香ばしそうな質問のときに楽しめば十分だって。で、瞬時に
答えが出てるのを見た香具師が沢山誘引されるかもよ。
456Name_Not_Found:04/07/16 00:15 ID:iyfZ3rIO
よく有るフォームページをつくってるんですが
フォームの中に郵便番号から住所を途中まで検索入力する
cgiを仕込んでます。

いまのとこ、郵便番号入力欄の横のaリンクてjavascriptキック→cgi
別ウインド(検索結果の読み込みテンプレートでもある)
を開き、そこのinputに検索cgiで検索した住所を
表示、そのウインドのボタンで元のフォームの
住所欄に検索結果を書き戻す、ってことをしてます。

こいつをなんとか、郵便番号入力欄のよこにボタンをおいて
クリックすると住所欄に一発で入れることって出来ないでしょうか?

<form></form>の間に<input type="buttn">をいれてそいつで
javascriptキック→cgiってのはありですよね?
サブミットはフォームそのものをcgiに使ってるから
そうするしかないんですよね。
457442:04/07/16 00:24 ID:???
>>442です。

>>444
友人の環境(Win2k + IE6)からも確認してもらったのですが
同様に取得はできなかったようです。

ググッてて見つけたのですが、
ttp://east.portland.ne.jp/~sigekazu/css/javascript10.htm
こちらの【document.body.scrollHeight*】の欄の「読み込み完了時」の値が
自分の求める値そのものだと思うのですが、ソースを見たら
<SPAN>-</SPAN>
という記述だけ? なにがなにやら・・・ぁぁぁ...
458Name_Not_Found:04/07/16 00:36 ID:???
>>456
だから別窓の代わりに隠しフレームにフォーム仕込んでそこ
で検索して結果を入力欄にコピーすればいいんでしょ?
>>457
なんか見てるものが違うんじゃない?別にonloadの動作中で
「document.body.scrollHeight」を参照すればいいでしょ?
459Name_Not_Found:04/07/16 00:40 ID:???
>>457
でるがな。いま2ch見ているままでいいから、
url 欄に下記をぶちこんでみ。
javascript:window.alert(document.body.scrollHeight);window.focus();
460456:04/07/16 01:00 ID:iyfZ3rIO
>>458
うーん、隠しフレームか。なるほど。
今の漏れのやり方は、ボタンでjavascriptキック→cgi検索。
テンプレートのポップアップウインド、おーぷん、背後にまわす。
そしてそのポップアップのonloadで、検索結果を
元ウインドのinputに書き戻してポップアップを閉じる。
というのをやってます。一応動くんだけど、一瞬ウインドが全面に出るんだよな。
なんか、マシンパワーがないマシンだと落ちないか心配。
ウインドをいきなり背面に開くってjavascriptで出来ませんかね?
461442:04/07/16 01:17 ID:???
>>459
確かにそれだと出るのですが
実際にページ内で値を取得して表示しようとするとおかしくなるのです・・・

例えば

<html><body>

<script language="JavaScript"><!--
document.write(document.body.scrollHeight);
window.alert(document.body.scrollHeight);window.focus();
// --></script>

<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>

</body></html>

というのを表示した場合。
writeでは15と表示され、
alertでは51と表示されてしまいます。
<br>を何十何百と足しても同じです。
IE6で表示させても同じようです。
462Name_Not_Found:04/07/16 01:27 ID:???
>>461
多くの人がwriteは便利な標準出力ていどに思っているかもしれませんが、
document オブジェクトに write した時点で、document が上書きされている
わけです。
write なんて窓から投げ捨てて、dom 使いましょう。

<script>
window.onload = function(){
var tmp = document.getElementsByTagName("body")[0];
var hei = document.body.scrollHeight;
var str = document.createTextNode(hei);
tmp.appendChild(str);
}
</script>
463祀子:04/07/16 02:59 ID:1mbGvcN1
はにはに〜♪ 質問しにきた自他ともに認める腐女子の祀子でっす♥

みんな〜! よろしくね〜〜〜〜〜♥♥♥♥♥♥

早速質問だよっ! わたしが借りてるレンタルサーバのことなんだけど、
ボディタグ(きゃっ! ぼでぃなんてなんだかエッチ〜♥)の後ろに
のソースを勝手に入れられちゃうんだけどさ

<SCRIPT Language="JavaScript">
<!--
document.write("<img src='http://foo.com/access.cgi?");
document.write("referrer="+document.referrer+"'>");
// -->
</SCRIPT>

このjavascriptの "referrer" が返す文字列を偽装するってことは出来ませんでしょうか?
本当のreferrerでなく任意のreferrerをアクセス解析に送っちゃいたいの♥

わっかるっかなァ〜? わっかんねぇ〜だろ〜〜〜な〜〜〜・・・・・



イェーイ!

なんちゃって♥
464442:04/07/16 03:05 ID:???
>>462
ありがとうございます。

でもonloadで値を得ても、ページ内でその値をimgタグのheightとかに利用したりできないんですよね。
どうやるんだろう・・・
個人的には問題はまだまだありますがレスを下さった方々に感謝です。
465Name_Not_Found:04/07/16 07:39 ID:???
>>461 >>464
あんたはバカですか?自分で
> ttp://east.portland.ne.jp/~sigekazu/css/javascript10.htm
> こちらの【document.body.scrollHeight*】の欄の「読み込み完了時」の値が
> 自分の求める値そのものだと思うのですが、ソースを見たら
こう書いているよな。で、あんたがやろうとしたことはそのページの
隣にある「document.write(X)」と同じことだろ? そもそも読み込み
終わる前にブラウザがどうやって「ページの末尾までの大きさ」を
知ることができると思うんだ? ブラウザはE.S.Pでつか?

やりたいことがはっきりしてればDOMを使ってそれを実現するなどの
方法もあるが、あんたはやりたいことをはっきりさせずに実現が絶対
不可能なことを質問してるんだよ、自覚すれ。

で、やりたいことは具体的に何なのさ。たとえばページの左端に画像
入れてそれを縦目一杯引き延ばすとかだったらonloadの中でそれを
やるのは簡単だろ。

>>463
そのdocument.referrerはブラウザがサーバに送り出すHTTP_REFERRER
ヘッダの内容の「控え」だからJavaScript側から書き換えたりはでき
ません。アンタがやりたいことは誰でも一目で分かるアホなことさ。
残念でした。
466Name_Not_Found:04/07/16 07:45 ID:???
>>462
…指摘内容が見当違いじゃない? >>461 はdocument.write()を
ドキュメントが上書きされるような使い方では使っていないよね。
質問内容をよく読んで回答してよ。
467442:04/07/16 08:28 ID:???
>>465
単に私が不勉強なだけです。ごめんなさい。
何ができて、何ができないかがわかってなかったのです。
貴方の様に何もかもわかってる人じゃありませんので、このように質問させていただいてます。

>で、やりたいことは具体的に何なのさ。たとえばページの左端に画像
>入れてそれを縦目一杯引き延ばすとかだったらonloadの中でそれを
>やるのは簡単だろ。

概ねそういうことです。
私には今のところ実現できていません。
先ほどまでは
http://www.microsoft.com/JAPAN/developer/library/jpisdk/art/dhtmlpos.gif
などを見て、scrollHeight等で直接値を求められる便利な方法があるのではないか、という思い込みを持っており、
それを暗黙の前提にして質問をしてしまっていました。

ちなみに
>隣にある「document.write(X)」と同じことだろ?
というのは違うと思います。
自分でできる限りソースを読んだところ、
function ini()内で
getElementsByTagNameでもって
<SPAN>-</SPAN>
を書き換えている(?)と解釈しました。
まだ明確に理解できてませんので
DOMを勉強中です。
468463 祀子:04/07/16 08:53 ID:???
>>465
控え〜〜〜〜?

ベンチじゃん。 代打要員じゃん、ショボ〜

出来ないと分かってガックシだけど、ご親切にどうもありがと♥
469Name_Not_Found:04/07/16 09:20 ID:???
>>467
> というのは違うと思います。自分でできる限りソースを読んだところ、
そうそう、読めているじゃん。ところがあんたが書いた >>461
> function ini()内でgetElementsByTagNameでもって<SPAN>-</SPAN>を書き換え
になってないっしょ?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function chg() {
var i0 = document.getElementById('i0');
i0.width = 64; i0.height = document.body.scrollHeight;
}
</script>
</head><body onload="chg()">
<div style="position:absolute"><img id="i0" src="t1.png"></div>
<div style="margin-left: 20%"><p>a<br>a<br>a<br>a<br>a<br>a<br>
a<br>a<br>a<br>a<br>a<br>a<br>a<br>a<br>a<br>a<br>a<br>a<br></p></div>
</body></html>
470Name_Not_Found:04/07/16 09:33 ID:???
>>465
そこは触るとこだったのか?
471462:04/07/16 11:44 ID:???
>>466
全く持ってそのとおり。すまそ。

>>464
できる。

window.onload = function(){
var tmp = document.getElementsByTagName("body")[0];
var hei = document.body.scrollHeight;
var MyImg = document.getElementById("hoge"); // 高さを操作したい画像
MyImg.style.height = hei;
}

なぜ出来ないと思った?
472471:04/07/16 11:44 ID:???
あ、tmp はいりませんでした。消し忘れ。
473Name_Not_Found:04/07/16 14:56 ID:???
お前らもちつけ
474Name_Not_Found:04/07/16 16:17 ID:???
質問です。
フォームで複数選択の項目をつくって、
選択されていた物のvalueをうまーくクエリ文字列として送信したいのですがm
うまい方法はあるでしょうか?

<select name="q" size="5" multiple>
<option value="a">項目1</option>
<option value="b" selected>項目2</option>
<option value="c">項目3</option>
<option value="d" selected>項目4</option>
<option value="e" selected>項目5</option>
</select>

こうして、このまま送信した時にクエリは
?q=bde

になってくれると凄くいいです。
よろしくお願いします(._.
475Name_Not_Found:04/07/16 17:39 ID:???
window.onload = function(){
var MyForm = document.getElementsByTagName("form")[0];
MyForm.onsubmit = function(){
var tmp = this.getElementsByTagName("option");
var str = "";
for(var i=0 ; i<tmp.length ; i++){
if(tmp[i].selected == true){
str += tmp[i].value;
}
}
var MyHidden = document.createElement("input");
MyHidden.type = "hidden";
MyHidden.name = "適宜";
MyHidden.value = str;
this.appendChild(MyHidden);
this.submit();
return false;
}
}


全部妄想。
476Name_Not_Found:04/07/16 17:43 ID:???
>>474 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function chg() {
var s = '', o = document.forms.f0.elements.q0.options;
for(var i = 0; i < o.length; ++i) if(o[i].selected) s += o[i].value;
document.forms.f0.elements.q0.disabled = true;
document.forms.f0.elements.q.value = s; return true;
}
</script>
</head><body>
<form name="f0" action="#" onsubmit="chg()"><p>
<select name="q0" size="5" multiple><option value="a">項目1</option>
<option value="b" selected>項目2</option><option value="c">項目3</option>
<option value="d" selected>項目4</option>
<option value="e" selected>項目5</option></select>
<input type="hidden" name="q"><input type="submit"></p></form>
</body></html>
477Name_Not_Found:04/07/16 18:00 ID:???
教えてくださいまし。

フォームにselectタグかinputタグで、年月日を入力する際、
本日以前の日付しか入力(選択)できないようにする方法は
ありますか?

もしくはsubmit時にアラートを表示される方法でもいいです。
478Name_Not_Found:04/07/16 18:04 ID:???
>>477
えーと。日を先に選択されたらどうすんの。月として今月が
選べないようにとか考えだすと大変だよね。alertで警告とか
なら別に問題はないと思うけど。基本的には、入力された
年月日と本日の年月日を比較するんでしょ。地道にやれば?
なにか分からないとこがあるわけ?
479Name_Not_Found:04/07/16 18:21 ID:???
>>477
selectかinputか、とか言ってるが
inputだと事前に入力できないようにするのは無理じゃなかろーか。
inputを使うのであればalertしか手段はない。

selectなら事前に選択できない、
つーかoptionに入れない方法はある。
そこらへんは条件文こねくりまわせばできるハズ
480479:04/07/16 18:22 ID:???
訂正。

inputはinputでもtextタイプね(´・ω・`)
481Name_Not_Found:04/07/16 19:28 ID:???
>>476
ありがとう!
482Name_Not_Found:04/07/16 19:45 ID:NnCvIZLM
>>463
<script>
var _document=document;
</script>
<script>
function document(){
}
document.write=_document.write;
document.referrer='任意のtanasinn';
</script>

こんなコードが↓の前に入るようにすればいい。

<SCRIPT Language="JavaScript">
<!--
document.write("<img src='http://foo.com/access.cgi?");
document.write("referrer="+document.referrer+"'>");
// -->
</SCRIPT>
483Name_Not_Found:04/07/16 20:49 ID:???
>>482
つか、それ正しく動く?Mozillaだと「document.write is not a
function」と言われて駄目だけど。もともとwriteはdocumentの
メソッドであればこそ動くようにできてるんで、documentをすげ
変えるのは駄目…だったような気がするんだけど。
484Name_Not_Found:04/07/16 21:05 ID:NnCvIZLM
>>483
IEではうまくいったけど、それ以外は試してない。
変則的なやり方だから無理っぽいね。

どんなブラウザでもうまく>>463の目的を果たしたいのなら、
もっと単純に、自動で挿入されるコードを<noscript>や<noembed>で無効化し、
自分で代替のコードを書いておけばいいんだけどね。
485Name_Not_Found:04/07/16 21:10 ID:???
>>483
abstructViewのdocumentはreadonlyだから
そもそもdocumentの上書きに失敗するはず。
486Name_Not_Found:04/07/16 21:13 ID:???
つか document をごにょごにょ出来ちゃうのは
セキュリティhqあwsでfrgtひゅじこlp;
487Name_Not_Found:04/07/16 22:55 ID:BLsKrwc6
初心者です。昨日くらいから始めました。

質問です。
JavaScriptでブラウザにある表に新たに行を追加しようと考えています。
つまり

<TR><TD>"文字列"</TD><TD>"文字列"</TD></TR>

といった行を追加したいと思っています。
これをブラウザ上だけの処理でしたいのです。
つまり、DBサーバにINSERTしてSELECTで読み出したりせずに
ブラウザ上だけでソースに変更を加えたいと思っています。

多分、無理だと思っていますが、どなたかご存知の方がいらっしゃいましたら
ご教授の程、よろしくお願い致します。
488Name_Not_Found:04/07/16 23:01 ID:???
>>487
勉強すればできるよ。
createElement, createTextNode, appendChild, insertBefore, getElementById
あたりを検索汁。
489Name_Not_Found:04/07/16 23:10 ID:???
SQL書けるくらいのレベルなら
質問スレに書かずに自力で調べられそうなもんだが
490Name_Not_Found:04/07/16 23:23 ID:???
>>489
それは意地悪じゃないすか。SQLとJavaScript+DOMはスキルの
内容がだいぶ違うよ。
>>487
サンプルは書いたからまあ勉強してみれ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function step() {
var t = document.getElementById('t0'), n = Math.floor(8*Math.random());
if(n == 0)
t.appendChild(document.createElement('tr'));
else {
th = document.createElement('th');
th.appendChild(document.createTextNode('' + n));
t.lastChild.appendChild(th);
}
}
</script>
</head><body onload="setInterval(step, 500)">
<table summary="test" border="2"><tbody id="t0">
<tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th></tr>
</tbody></table>
</body></html>
491Name_Not_Found:04/07/16 23:36 ID:???
>>487
> DBサーバにINSERTしてSELECTで読み出したりせずに

connect じゃなくて?
ともあれ、この人、要素を追加するって概念がないのはしょうがないとして、
追加するデータそのものをdocument外から取得できないか、
って聞いているんじゃないのかな?

だとしたらさんざんガイシュツなので、html javascript data bind あたりで
ググってみて欲しい。
492Name_Not_Found:04/07/16 23:45 ID:???
すいません。

うんちしてきても大丈夫ですか?
493Name_Not_Found:04/07/16 23:55 ID:???
>>492
休み時間に行っておけとあれほd(以下略
494Name_Not_Found:04/07/17 01:44 ID:???
http://www.openspc2.org/reibun/javascript/mouse/060/index.html
このスクリプトをネスケでも動作させるにはどうすればいいのでしょうか?
よろしくお願いします。
495Name_Not_Found:04/07/17 01:51 ID:???
>>494
ネスケで動く奴を探した方が早い
496494:04/07/17 02:42 ID:???
497442:04/07/17 07:29 ID:???
>>469
そうです。ソースを見てある程度の見当はつけられていたのですが
具体的にどうすべきか、というところまでは至っていませんでしたので・・・

お陰様でこの問題については解決できました。
返事が遅くなりましたが、大変勉強になりました。
ありがとうございます。
498Name_Not_Found:04/07/17 14:13 ID:???
DOMで要素を追加出来るようにはなりました。
要素の削除は出来るんでしょうか。

アデランス経験者の方、お願いします。
499Name_Not_Found:04/07/17 14:51 ID:???
アデランス経験は無いので答えられません
500Name_Not_Found:04/07/17 14:53 ID:???
JavaScriptを、CSSみたいに外部指定して実行することはできますか?
また、できるなら方法を教えてください。お願いします。
501Name_Not_Found:04/07/17 14:59 ID:???
できます。
リファレンスサイト回って調べりゃわかります
502498:04/07/17 15:28 ID:???
>>499>>501
解かりました、どうもありがとうございました。
早速ヘアチェックに行ってきます、感謝です。
503Name_Not_Found:04/07/17 17:30 ID:???
初めまして。少し教えてください。

とある所でJavaScriptサンプルをダウンロードし、
自分が使いやすいようにswitchやDIV固定などをして作りました。
なんとか自分がやりたい動作は出来るようになったのですが、
更新する度に「実行しましたがページ内でエラーが発生しました」と
ステータスバーに出ます。
どこが間違ってるのかいくら見ても分からないので教えてください。

配列の[0]が書いてないのはその方がこれから更新する時分かりやすいので
そうしました。
504503:04/07/17 17:31 ID:???
>>503
自己レスです…URL貼り忘れました…。
http://opal.sakura.ne.jp/main/frame.htmlの左側のmenu.htmlです
よろしくお願いします。
505Name_Not_Found:04/07/17 17:48 ID:???
ライン: 237
文字: 3
エラー: 'colorMes52' は宣言されていません。
コード: 0
URL: http://opal.sakura.ne.jp/main/menu.html
506503:04/07/17 17:53 ID:???
>>505
ありがとうございました!
237行目を消したら出なくなりました!

これから度々お世話になるかもしれませんがよろしくお願いします。
507503:04/07/17 17:58 ID:???
連続投稿すいません。もう一つ教えてください。

http://opal.sakura.ne.jp/menu.html
なのですが、リロード時にも背景を出さない方法はあるのでしょうか?
このメニューが入っているフレームは
http://opal.sakura.ne.jp/frame.html
です。
508503:04/07/17 18:00 ID:???
追記

でもTOPが表示されている時のリロード時は背景を出したいです…。
そんな難しいコト出来ますか?
初めて自分一人で組んだJAVA Scriptなのでその他文法が間違っていたらご指摘ください。
509Name_Not_Found:04/07/17 20:18 ID:???
>>508
一番簡単確実なのは下側フレームも背景あり版と背景あり版を用意して
上下同時に切り替えることじゃないの。その場合target指定はやめて
<a href="下切替え先" onclick="parent.top.location.href='上切替え先'">...</a>
とするとかかな。
510508:04/07/17 21:00 ID:???
>>509
レスありがとうございます。
なるほど!その手がありましたか!やり方までありがとうございます。
方法だけだと記述方法が分からなかったと思うので助かりました。

本当にありがとうございました!
511Name_Not_Found:04/07/17 21:04 ID:???
TOPだけフレーム無しの1枚にしたほうが簡単かmona
512Name_Not_Found:04/07/17 21:17 ID:???
>>510
カーソルを十字にするのは厨の証。 来る客が減るよ。
513508:04/07/17 21:25 ID:???
>>511
TOPだけ1枚ですか…確かにそれだと簡単ですね…。
戻るボタンでもちゃんと絵戻るし…。

>>512
忠告ありがとうございます。
でもそこまで必死に増やそうと思ってないのでいいです。
単なる趣味&自己満足ページですので…。
514Name_Not_Found:04/07/17 21:49 ID:???
>>513
スレ違いだけど、十字カーソルは「座標位置を指定する」というメッセージ
を表しているわけだろ。それを別の用途、カッコのために使うというのは
すげー自己満足で恥ずかしいことなんだよな。Web製作板的には。
515513:04/07/17 21:59 ID:???
>>514
それでも個人的に十字には思うところあるので…。
ごめんなさい、やっぱり十字のままでいきます。
516Name_Not_Found:04/07/18 00:22 ID:???
>>515
窓全体が十字カーソルになっているよりも、何かのオブジェクトの上か、
何かの動作で切り替わるほうがカッコイイと思うのだが、
まあ、自分でデメリットも理解した上で使うなら後は頑張れ。
517Name_Not_Found:04/07/18 04:11 ID:???
>>515
同じtiamet住人だと知り、marquee使いまくりでも許そうと思った。
518Name_Not_Found:04/07/18 04:32 ID:???
うざいタグはオミトロンで全部無効にしてるからカーソルが変わることはなっしんぐ。
519Name_Not_Found:04/07/18 11:38 ID:lu8AS4Km
黒い三連星
520Name_Not_Found:04/07/18 15:28 ID:???
楽しい一年生
521Name_Not_Found:04/07/19 01:53 ID:???
>>518
ウザい閲覧者は弾けないのが管理人の辛い所だw

オミトロンといえば作者が亡くなっていた。
せいぜい悲しめ。
522Name_Not_Found:04/07/19 01:58 ID:???
うわまじかよ。ショック!


って名前も知らなかったが……。
523Name_Not_Found:04/07/19 03:49 ID:WQy33kjm
初めまして。初心者です。最近、始めたばかりです。

以下のソースにてエラーが出ます。
原因が特定できていません。何かお気づきの方がいらっしゃれば、
助言の程、よろしくお願い致します。

【エラー】
エラー: 'document.form1.r1.length' は Null またはオブジェクトではありません。

【ソース】

〜略〜

<SCRIPT language="JavaScript">
<!--HPB_SCRIPT_CODE_40
var count;
function BoxChecked(check){
for(count = 0; count < document.form1.r1.length - 1 ; count++){
document.form1.r1[count].checked = true;//チェックボックスをON/OFFにする
}
}

// -->
</SCRIPT></HEAD>

〜略〜
524Name_Not_Found:04/07/19 03:50 ID:WQy33kjm
>>160の続きです。
function SetUp_Table(&$result){
<HR>
<B>設定一覧</B>
<P><BR>
</P>
<TABLE>

〜略〜

<FORM>
<TABLE border="1">
<TBODY>
<TR bgcolor="#ffff80">
<TD nowrap align="center">選択</TD>
<TD>No.</TD>
<TD nowrap align="center">エリアコード</TD>
<TD nowrap align="center">正常/異常</TD>
<TD nowrap align="center">レスポンスコード</TD>
<TD nowrap align="center">レスポンスファイル</TD>
<TD nowrap align="center">応答時間</TD>
</TR>";
525Name_Not_Found:04/07/19 03:51 ID:WQy33kjm
>>160,161の続きです。
if ($result != null){
$check_value = 0;
while( $data = mysql_fetch_array( $result) ){
print "<TR><TD align="center"><INPUT type="checkbox" name="r1" value = $check_value></TD>";
print "$check_value<br>";
$check_value++;
print "<TD nowrap align="center">{$data['No']}</TD>";
print "<TD nowrap align="center">{$data['エリアコード']}</TD>";
print "<TD nowrap align="center">{$data['正常_異常']}</TD>";
print "<TD nowrap align="center">{$data['レスポンスコード']}</TD>";
print "<TD nowrap align="center">{$data['レスポンスファイル']}</TD>";
print "<TD nowrap align="center">{$data['応答時間']}</TD></TR>";
}
}
</TR>
</TBODY>
</FORM>

〜略〜
526Name_Not_Found:04/07/19 03:51 ID:WQy33kjm
>>160,161,162の続きです。

<FORM name=\"form1\">
<TABLE>
<TR>
<TD>
<INPUT type=\"button\" onclick=\"BoxChecked(true)\"; value=\"全て選択\">
</TD>
<TD> </TD>
<TD>
<INPUT type=\"submit\" name=\"delete\" value=\"選択項目の削除\" onclick=\"ScriptSelectDelete(settinglist)\">
</TD>
<TD width=\"173\"> </TD>
<TD width=\"21\">
<INPUT type=\"button\" name=\"delete\" value=\"リセット\" onclick=\"ScriptSetDefault(settingcode)\">
</TD>
</TR>
</TABLE>
</FORM>
527Name_Not_Found:04/07/19 03:56 ID:WQy33kjm
申し訳ございません。
523-526の先頭に間違った番号を書いてしまいした。
正確には
>>523,524,525,526の続きです。
他の質問スレでこちらにて質問するようにと言われたので、
こちらに書かせて頂いています。


>>525の5行目(print "$check_value<br>"; )はデバッグするための
ものなので気にしないで下さい。

あと、自分がやろうとしてることは、
javaScriptを使用して、>>526の全て選択ボタン押下により
チェックボックスの全選択を行うことです。

質問の仕方に不備等がございましたら、
ご指摘くださいますようよろしくお願い致します。
528518:04/07/19 04:04 ID:???
>>521
作者が死んだらもっと有名なサイトでも記事になると思うんだけど全然載らないね。
まだガセの可能性も十分にある。 馬鹿はすぐ信じるって言うけど本当だね。
529Name_Not_Found:04/07/19 04:22 ID:???
すみません質問です。
文字列 "10011001" を16進数に変換するにはどうすればいいのでしょうか?
530529:04/07/19 04:27 ID:???
あーわかったんでいいです。
531Name_Not_Found:04/07/19 04:39 ID:???
>>523
document.form1.r1が表示されてないときに
スクリプトが実行されdocument.form1.r1.lengthを読もうとしたから。

スクリプトをBODYのonLoadから呼び出すか、
SCRIPTタグ自体をFORMタグより後ろに書くか、
<INPUT type="checkbox" 略 checked>
532:04/07/19 04:41 ID:???
すまん、読み間違えてた。
533:04/07/19 04:51 ID:???
>>523
わかった。
FORM2つあるけど、form1はcheckboxが無い方だぞ。
checkboxの有る方は無名。
534Name_Not_Found:04/07/19 05:10 ID:???
>>523
そんな小汚いソースだからバグが見つけ難いんだよ。大体PHPの方もエラーだし。
てかPHPは関係ないんだから出力をコピペするべきだろに。
ソースから切り出すんじゃなくてさ。
535Name_Not_Found:04/07/19 05:21 ID:???
>>529
2進数を16進数へってことなら

parseInt("10011001", 2).toString(16);
536518:04/07/19 06:19 ID:???
動かないならネットに転がってるサンプルソースを使ってみるとか、
もっとシンプルなコードを書いて試してみるとかすればいいのに。

解からないからって丸投げしてたらいつまでたってもへぼのまま。
537Name_Not_Found:04/07/19 07:53 ID:???
そもそも >>6 を読んでないんでしょ。
> ソースは要点を整理して出す。
>   そのまま貼って動かせると試してもらいやすい。
>   長い場合はアップロードしてURIを貼る。
538Name_Not_Found:04/07/19 16:16 ID:iFy7kHJa
>>531532,533,534,536,537
みなさま、ご忠告ありがとうございます。
FORM nameの書く場所を間違えておりました。
しょうもないミスでなんともお恥ずかしいです。

また、自分自身の努力も足りなかったこと、汚いコードで質問したこと、
反省しております。
今後は>>6やご忠告を守るようにしていきたいと思います。

ありがとうございました。
539Name_Not_Found:04/07/20 03:39 ID:IDRVrNwz
別窓のフレーム内容を書き換えて表示させたい場合ってどうすれば良いですかね?
aaa.htmlの中がフレームで区切られてて、
bbb.html(name:sub)
ccc.html(name:main)
がある場合で、ccc.htmlの部分だけを書き換えたいのです。

window.open('aaa.html','mado','');
mado.main.location.href = 'ddd.html';

のようなコードだと、うまく出来ません。
良い方法などあったら、教えてください。
540Name_Not_Found:04/07/20 04:59 ID:2VDcEyaF
書き換えるって、別のページの読み込みでしょう?
parent.main.location.href="ddd.html";
を使う。
541Name_Not_Found:04/07/20 14:21 ID:???
sum1();〜sum10();と作ったのですが
for文を使って一度に動かす方法がわかりません
方法を教えてください
542Name_Not_Found:04/07/20 14:28 ID:???
>>541
for (i = 1; i <= 100; i++) (window["sum" + i])();
543Name_Not_Found:04/07/20 14:28 ID:???
for(var i=1 ; i<=10 ; i++){
    var exec_str = "sum" + i;
    exec_str();
}
544Name_Not_Found:04/07/20 14:43 ID:???
>>542-543
動きました、ありがとうございます
545Name_Not_Found:04/07/20 14:48 ID:???
>>543
なに大嘘教えてるんだ。それじゃ駄目だろ。>>542 が正解。
(もっとも10と100とを見間違えているようだけど。)
546Name_Not_Found:04/07/20 16:10 ID:???
10()
547Name_Not_Found:04/07/20 17:24 ID:???
まぁそれ以前にサブルーチンの設計がおかしいのが見え見えだけどな
548Name_Not_Found:04/07/20 17:29 ID:???
ブラクラでも作ってんじゃねーの?
549???:04/07/20 17:37 ID:QXwkZJit
オブジェクトの指定をする時に直接nameで指定したオブジェクト名ではなくて
JSのなかで自分で編集したものをnameとしたいときの書き方がわかりません。
例えばtdのname=back01〜back05がある。
back01.style.backgroundColorではなく
for(i=0; i<5; i++){
alert("back0"+i.style.backgroundColor)
}
上のイメージでbackgroundColorの値を欲しいのですが
"back0"+i.style.backgroundColorではエラーになります。
ご教示下さい。
550Name_Not_Found:04/07/20 17:54 ID:???
>>549
JavaScript が生成した要素ってこと?
なら生成した時点で変数にでも入れておけばいいのでは。

--

/* 生成 */
var MyInput = new Array();
for(var i=1 ; i<=5 ; i++){
MyInput[i] = document.createElement("input");
}

/*参照*/
window.alert(MyInput[3].style.backgroundColor);

--

ただし、css で指定した background-color は backgroundColor では
参照できないので悪しからず。
551Name_Not_Found:04/07/20 18:15 ID:???
>>549
アンタはまず >>11 のQ7/A7と、あと >>388-396 を嫁。
それで必要な情報はすべてあるはずだ。過去ログ読めない奴は帰れ!
552Name_Not_Found:04/07/20 18:30 ID:???
ベリーメロン・・・・
553Name_Not_Found:04/07/20 18:33 ID:???
なんだよ、厨ばっかりじゃん。
554Name_Not_Found:04/07/20 18:48 ID:???
本当に必要な情報はちゃんと指示されてるんだけどね。まあ
後で時間あったらサンプル貼ったげるよ。
555Name_Not_Found:04/07/20 18:58 ID:vgdzu0RK
javaScriptはブラウザに邪魔で余計なギミックつける為にある、みたいな印象があって
一歩踏み込むのに躊躇してたんですが、質問です。

一定時間毎にCGIへフォーム送信したいのですが、javaScriptでそれは可能ですか?
答えは、可能か不可か、、だけでいいです。よろしくお願いします。
556Name_Not_Found:04/07/20 19:02 ID:???
余裕可能
557observer@ ◆q7u/null4U :04/07/20 19:12 ID:???
>>555
possil !

PS:
>javaScriptはブラウザに邪魔で余計なギミックつける為にある、みたいな印象
そういう使い方をする人が多すぎるために嫌われ者扱いにされているのは事実.
しかし,使い方しだいで おもしろい事ができる potential を秘めているのも事実.
558555:04/07/20 20:45 ID:???
>>556-557
ありがとー

早速本買って勉強しまっする。
職場のみんなが「うぉっ!」っと言うようなツール作ります。
いや、作るつもり。
559Name_Not_Found:04/07/20 21:35 ID:???
>>558
ポイントは、自窓で素直に送信しちゃうと返送されてくるページに
置き換わってしまうためスクリプトが中止されてしまうこと。これ
を避けるためには、targetを指定してCGIからの結果を別窓、別
フレーム、隠しフレーム等に誘導すること。
560Name_Not_Found:04/07/20 21:50 ID:???
>>539
うまく出来ない原因は、そもそもウィンドウを開く部分…
window.open('aaa.html','mado','');

mado = window.open('aaa.html','mado','');
とする。ただ、このままだと、新しく開いたウィンドウが読み込み完了していないために、
用意されるべきオブジェクトが出来上がる前にそこへ新しく読み込もうとするため、エラーが出る。
すでに「mado」というウィンドウを開いている状態で、さらにフレーム内の「sub」「main」が
認識される状態なら問題ない。
onload を利用する方法もあるけど、フレームを使った場合は面倒なので、
aaa.html を事前に用意するよりは、スクリプト側で生成させたほうがうまく動くと思う。

>>540 は根本的に的外れだったかも知れないけど、上記理由からすでに読み込み完了で、
nameも認識されているため、別窓から、というのを諦めれば一番確実に動く。
561Name_Not_Found:04/07/20 22:11 ID:???
>>559
post じゃなければ問題なし。
562555:04/07/20 22:29 ID:???
>>559-561
ありがとー

現行でwebインターフェースのDBクエリツールがあるんです。サーバ側はperlで自作です。
で、最新情報をクエる度に、フォームに指定された検索ワードやオプション情報をメソッド=POSTで
送信するんですが、結構このツールの使用頻度が多くて、最近クリックもめんどっちくなってきて
何とかしたいけど、「あの」javaScript使うしかないんだろなーって思って>>555の質問に及んだわけです。
ググッても、なかなか見つからなかったので。

又、こうしれば?みたいなのがあれば、是非教えてほしいです。
563Name_Not_Found:04/07/20 22:33 ID:???
>>562
post の場合、submit しなくてはならないのでどうしてもページ遷移が必要。
なので、>>559 の言うように、iframe とか小さく作って置いて、
そこにめがけて submit() すれば。

get で済ませられるなら、
var tmp = document.createElement("img");
tmp.src = "hoge.cgi?fuga=hage";

とか。
564555:04/07/20 22:53 ID:???
>>559>>563thanks
なるほど、リザルトは別フレ-ム表示が必須なわけですな。。
メモメモ
565Name_Not_Found:04/07/20 23:46 ID:???
>>549
TDにNAME属性なんて指定できるの? IDなら大丈夫だけど。
566Name_Not_Found:04/07/21 00:33 ID:???
>>565
スレ違い
567Name_Not_Found:04/07/21 01:13 ID:???
>>566
>>1
このスレに書き込むことが許されるものは以下のとおり
・スクリプトを組むための最低限のHTML・CSSを理解する者
568Name_Not_Found:04/07/21 01:31 ID:???
>>567
アンカー間違ってるよ
569Name_Not_Found:04/07/21 01:41 ID:???
>>567
(゚Д゚)ハァ?
「スクリプトを組むための最低限のHTML・CSSを理解」した上での
JavaScriptの質問を受け付けるってことだろ?
どこをどう拡大解釈すればHTMLタグの属性の質問受け付けることになるんだ?
570Name_Not_Found:04/07/21 03:06 ID:???
目糞鼻糞
571Name_Not_Found:04/07/21 08:51 ID:???
JavaScript+DOMでHTML要素をアクセスする場合、HTMLが標準に従って
書かれているかどうかが問題になる。標準に従っていなくても
IEやGeckoで大丈夫ならまあいいという考えもある。だから無関係
じゃないだろバカヤロ。
572Name_Not_Found:04/07/21 09:15 ID:???
DOMスレ立ててそっち行け
573Name_Not_Found:04/07/21 09:47 ID:???
>>572
現実を見てなさすぎだろ。DOMによる操作を除外したら
JavaScriptでやることのネタがほとんどなくなるよ。
574Name_Not_Found:04/07/21 09:58 ID:???
>>571ももっともだが

このスレに書き込むことが許されるものは以下のとおり
(中略)
・スクリプトを組むための最低限のHTML・CSSを理解する者
(以下略)

なんだから、質問者はHTMLについて最低限理解してるわけだし、
たとえDOMでいじくる要素のプロパチーに関連してても
HTMLの質問に答える必要性は薄いんじゃないかな。

そもそも、現状、web制作板にはStrictHtmlスレもCSSスレもあることだし、
尚更こっちでHTMLに言及する必要はない
575565:04/07/21 12:55 ID:???
あのー、>>565 なんですけど。なぜあの質問をしたかというと。
getElementById()を使った例題は問題なく動くんですよね。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
for(var i = 0; i < 3; ++i) {
var c, e = document.getElementById('t' + i);
if(e.currentStyle) c = e.currentStyle.backgroundColor;
else if(!window.getComputedStyle) c = '???';
else c = getComputedStyle(e, '').getPropertyValue('background-color');
alert(c);
}
}
</script>
</head><body onload="test()">
<table summary="test" border="2"><tbody><tr>
<td id="t0" style="background-color: yellow">Yellow</td>
<td id="t1" style="background-color: purple">Purple</td>
<td id="t2" style="background-color: green">Green</td></tr></tbody></table>
</body></html>
それで書き込もうと思ったのですが、>>549 で質問者がtdにnameつけて
いると書いてたので、(1)idをnameに取り換え、(2)getElementById(...)を
getElementsByName(...)[0]に取り換えてみたらGeckoでは動くけどIEでは
動かない(「currentStyleはNullまたはオブジェクトではありません」)
んですよね。もちろんhtmllintでも「tdにname属性は駄目」というエラーが
出ます。だからやっぱりTDにNAMEはまずいんじゃないでしょうか。うまく
行くっていう人いますか?
576Name_Not_Found:04/07/21 13:05 ID:???
最初からそういう風に書けばよいのに。
確かにこういう質問をStrictスレやCSSスレに出しても
JavaScriptスレへ逝けと言われるには違いない(ry
577Name_Not_Found:04/07/21 15:59 ID:???
>>575
この件に限らないが、invalidな文書の処理はDOM仕様の範囲外。
文書中のエラーについて何ができても何ができなくても
その挙動は正しくも間違ってもいない。どんな動作結果も保証されない。
それを踏まえた上で、マズいかどうかは個別に判断すればよい。
578Name_Not_Found:04/07/21 16:19 ID:???
>>577
のような説明だけで済めば楽なんだろうけど、実際にはinvalid
じゃないのとだけ指摘するとわらわらと叩きにくる奴らがいて
結局懇切丁寧にまずい場合について実験して差し上げるという
御苦労様な状態になるというわけだな。しかしJavaScriptスレ
でDOMを扱うなという奴にはあきれた。もう29スレ目なんだろ、
過去スレを読んでからものを言えよって感じ。
579observer@ ◆q7u/null4U :04/07/21 17:52 ID:???
>>575
Sample:
http://www.h2.dion.ne.jp/~alter/etude/calendar.html

・ getElementsByTagName('td') を利用した典型.
・ ソースまる見えにするため,あえて外部ファイルかを避けています.
・ 書き換えによる転用は自由.
(丸ごとパクリもあり) <- 普通,プライドが許さないよね.
580Name_Not_Found:04/07/21 18:01 ID:???
今回の件と(「TDである」以外は)何の関係もないサンプルですな。
何が言いたいんだ?
581Name_Not_Found:04/07/21 18:08 ID:???
>>578
> 実際にはinvalidじゃないのとだけ指摘すると
指摘するならinvalidであることではなくて
不特定の清く正しいDOM実装間における動作保証がないことだと思うが。
それが気になるかどうかは質問者の状況次第だ。
少数の限定された実装のみが対象環境であるなら
W3C標準より各開発元の公開情報の方が動作保証を期待できるし。
582observer@ ◆q7u/null4U :04/07/21 18:08 ID:???
>>580
IE5.0 動作確認済.
getElementsByTagName は DOM level1 なので,
一般的に使われている web browser ではサポートされていると考えて良い.
(NN4.x, IE4.x は知らん.)
583Name_Not_Found:04/07/21 18:13 ID:???
>>581
そもそもIEで動かないんでしょ。普通それだけでだめじゃん。
>>582
そんなの問題ないに決まってるじゃん。だから何がいいたいのさ。
584@observer ◆q7u/null4U :04/07/21 18:29 ID:???
>>583
td に name もしくは id を振るのは面倒だし,スマートじゃない.
って事かな ?
585Name_Not_Found:04/07/21 19:17 ID:???
下記は、郵便番号の下4ケタの全角数字を半角数字に変換するスクリプトですが、
これを、郵便番号下3桁(name="zip2")と電話番号(name="tel")にも実装したいと思ってます。
ですが、このスクリプト全体を3回書くしかやりかたがわかりません。
onblurで関数を呼び出すとき、現在のオブジェクトを表すにはどうすればいいのでしょう?
<SCRIPT LANGUAGE="JavaScript1.2">
<!--
var char_zen = new Array("1","2","3","4","5","6","7","8","9","0");
var char_han = new Array(1,2,3,4,5,6,7,8,9,0);
var count;
function zen2han_zip1(){
var data = document.f.zip1.value;
while(data.match(/[0-9]/)){
for(count = 0; count < char_zen.length; count++){
data = data.replace(char_zen[count], char_han[count]);
}
}
document.f.zip1.value = data;
}
//-->
</SCRIPT>
<form name="f" method="post" action="index.cgi">
郵便番号<input name="zip1" type="text" id="zip1" size="3" maxlength="3" onblur="zen2han_zip1()">
-<input name="zip2" type="text" id="zip2" size="4" maxlength="4" onblur="????????????()"><br>
電話番号<input name="tel" type="text" id="tel" size="12" maxlength="12" onblur="????????????()">
</form>
586Name_Not_Found:04/07/21 19:25 ID:???
>>585
そのスクリプトがいつ発動するのかにもよる。
つか、それそのままブラウザで見たら、
document.f.zip1.value は見つからん!ってエラーになる、でしょう?

イベントハンドラ、を調べてみると良いかも。
そのスクリプトを関数化して、onkeyup とか、onchange、onsubmit で
やるのがよいかもね。
587Name_Not_Found:04/07/21 19:27 ID:???
>>584
個数を数えるほうがよっぽどマズいのが普通だよ。アンタが個数を
数えるの大好きなのはよく知ってるんで、好きなようにやってて
いいからさ。他人に押しつけないでくれ。
>>585
関数には「パラメタ」が渡せるんで。そしてonblurの中ではthisと
書くことで「このinput要素」を表せる。だから「onblur="zen2han_zip1(this)"」
として3つとも「この要素」を渡す。そして
(1)「function zen2han_zip1(e) {」のようにしてパラメタを受け取る。
(2)「var data = e.value;」として渡されたinputの値を加工する。
(3)処理し終わった時の書き戻しも「e.value = data;」として渡されたinputに書く。
だいたいお分かりかな。
588585:04/07/21 19:29 ID:???
あ、すみません、
<script>から</script>は<head></head>内に書きます。

>そのスクリプトを関数化して、onkeyup とか、onchange、onsubmit で
>やるのがよいかもね。
関数化すること自体はわかるのですが、
onblurでもonkeyupでも、
郵便番号でも電話番号でもその関数を使い回せるようには、
zip1やzip2やtelといったnameをどうやってわたせばいいのでしょう?
589585:04/07/21 19:36 ID:???
あ、すれ違いで>>587さんが答えてくださいましたね。
ありがとうございます。試したところ、ばっちり動作しました。
ありがとうございます。
590質問です:04/07/21 19:47 ID:S8p5OvOc
下記のように足し算をしたいのですが、TextBoxに"2.03"など
一定の小数を入れると値が"2.0299999999999"などと勝手に
変換されて正確に計算できません。どうすれば正確に計算できるのでしょうか?
お願いします。

function testval(){
document.getElementById("test1").innerText
= Number(document.testform.val1.value)
+ Number(document.testform.val2.value) ;
}
591Name_Not_Found:04/07/21 20:15 ID:???
>>590
質問前にこのスレくらい全部読め! >>372-374 にズバリあるだろ。
ときにこの問題もFAQに入れるかねえ(次スレにFAQを残すとして)。
592Name_Not_Found:04/07/21 21:01 ID:???
>>591
そうやって答えてくれるから、手っ取り早くて助かります。
ありがとう。
593585:04/07/21 21:22 ID:???
>>585です。さきほどはありがとうございました。
ところで、教えていただいたものを応用しまして、
「URIを入力してもらうテキストボックスで、全角が入れられたら自動で半角に変換するスクリプト」を作りまして、
手元のWinのIE6とNN7.1では動いているようなのですが・・・特にこれ、問題ないですよね?
一応・・・念のためというかんじで投稿させていただいているのですが・・・

なお、以下の点に考慮してます。
//★注1:3種類の全角ハイフンに対応
//★注2:URIで使用可能な文字は以下の通り(参考:RFC2396 http://www.ietf.org/rfc/rfc2396.txt)
// 0-9 - A-Z a-z _ . / ~ , $ ! * ' ( ) ; : @ = & +
// これ以外の記号や日本語は%nnの形式にエンコードされる
//★注3:日本語ドメインなどの類は無視

スクリプトそのものは、次のレスに書きますが、
http://www.geocities.jp/daisuke_ja/uri_zen2han.html
にも一応同じものをおいておきます。
594585:04/07/21 21:24 ID:???
で、スクリプトです(2chの仕様により、長すぎる行(配列)は途中で改行いれてます)
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head><body bgcolor="#FFFFFF" text="#000000">

<SCRIPT LANGUAGE="JavaScript1.2">
<!--
    var char_zen_URI = new Array("1","2","3","4","5","6","7","8","9","0","ー","−","−",
"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","_",".","/",
"〜",",","$","!","*","’","(",")",";",":","@","=","&","+","%")
    var char_han_URI = new Array("1","2","3","4","5","6","7","8","9","0","ー","-","-","A","B","C","D","E","F","G",
"H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j",
"k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","_",".","/","〜",",","$","!","*","'","(",")",";",":","@","=","&","+","%")

    function zen2han_URI(e){
        var data = e.value;
        while(data.match(/[0-9ー−−A-Za-z_./〜,$!*’();:@=&+%]/)){
            for(count = 0; count < char_zen_URI.length; count++){
                data = data.replace(char_zen_URI[count], char_han_URI[count]);
            }
        }
        e.value = data;
    }
//-->
</SCRIPT>
<form name="f" method="post" action="index.cgi"><input type="text" name="url" onblur="zen2han_URI(this)">
(中略)</form></body></html>
595Name_Not_Found:04/07/21 21:41 ID:???
>>593-594
まず文字単位のマッピングにその方法はあんましよくないと思う。
var s1 = 'ABCDE';
var s2 = 'ABCDE';
var map = new Object();
for(var i = 0; i < s1.length(); ++i) map[s1.substring(i,i+1)] = s2.substring(i,i+1);
のようにして変換表を初期設定し、変換は
var out = '';
for(var i = 0; i < data.length(); ++i) {
var c = data.substring(i, i+1);
if(map[c]) out += map[c]; else out += c;
}
のようにして表引きしながら変換するのがいいと思うけど。
それはそれとして、日本語文字を「%nn」にするのは大丈夫?
UNICODEでいいのなら問題ないけど他の文字コードにはJavaScript
では変換できないからね。
596Name_Not_Found:04/07/21 22:31 ID:Kd9oBo9/
質問!
JSのsplitの使いかたについて


Perlでいう
(my $a , my $b ) = split/1/,'abc1def';
をJSでやる場合は

var a = 'abc1def'.split('1');
でやってa[0]とa[1]で使えばいいのかな?
この場合は、
var a = new Array();
とちゃんと書いて置いたほうがいい?
597Name_Not_Found:04/07/21 22:35 ID:???
>>596
不要。split()は配列を「常に生成して返す」から、
var a = new Array();で用意した配列は「単なる無駄」
になるだけ。
598596:04/07/21 22:40 ID:Kd9oBo9/
>>597
ありがとう!
599585:04/07/21 22:41 ID:???
>>593-594です。

>>595さんありがとうございます。

実は、つくったあとある程度長いURIでためしたら、
ブラウザがかたまってしまいまして、
どうしたらいいかと悩んでました。

>>595さんのやりかたでやったら、
効率的に、長いURLでもなんら問題ありませんでした。
ちなみに
http://www.geocities.jp/daisuke_ja/uri_zen2han_2.html
にアップしてます。
ありがとうございました。
600Name_Not_Found:04/07/21 22:41 ID:P0IePdRZ
window.open() と window.close() を組み合わせて、
最初に開いた1枚目のページのリンクに、
2枚目を開いて1枚目を閉じる、って
イベントをあてたいんだけど、どうしたら可能でしょう?

(リンク元:h0.html)
<a href="#" onClick="window.open('h1.html','plate1','width=100,height=100')">1枚目を開く</a>

(1枚目:h1.html)
<area shape="rect" coords="15,15,200,50" href="javascript:window.close()"
onClick="window.open('h2.html','plate2','width=200,height=200')" target="_blank"
alt="2枚目を開いて1枚目を閉じる">

↑これでやってみたけど閉じなかった。
601585:04/07/21 22:43 ID:???
>>595さん

ひとつ言い忘れ。

>それはそれとして、日本語文字を「%nn」にするのは大丈夫?
>UNICODEでいいのなら問題ないけど他の文字コードにはJavaScript
>では変換できないからね。

日本語文字はそのままにしてしまおうというポリシーなので、だいじょぶです。
ありがとうございます。
602Name_Not_Found:04/07/21 23:14 ID:???
>>600
うーん?「href="setTimeout('window.close()',500)"」とかどうかな。
taget="_blank"は要らないんでは。
603Name_Not_Found:04/07/21 23:23 ID:???
普通は
onClick="window.open('h2.html','plate2','...');window.close()"
だと思うが。
604Name_Not_Found:04/07/21 23:38 ID:???
javascriptで連想配列を作って、そのキーのリストを取得するにはどうすればいいかな?

var test = {
"a":1,
"b":2,
"c":3
};

このハッシュのキー一覧を配列として使いたい。
605Name_Not_Found:04/07/21 23:42 ID:???
>>604
for(var key in test) alert(key);
606Name_Not_Found:04/07/21 23:48 ID:???
テンプレにあるECMAscriptチュートリアルを読んでるけど、インスタンスは愛称って本当?
なんか
オブジェクト=実体
インスタンス=呼び名
みたいに書いてある気がするけど、前に
http://e-words.jp/w/E382A4E383B3E382B9E382BFE383B3E382B9.html
ここのインスタンスの項を読んだら、インスタンスの方が実体って感じがするけどどうなの?
教えてエロイ人!
607Name_Not_Found:04/07/21 23:57 ID:???
うーん、どのチュートリアルかな。その説明はヘンだし、
オブジェクトとインスタンスって同じものだと思うけどな。
608606:04/07/22 00:03 ID:???
http://www.axis.t.u-tokyo.ac.jp/~shunak/ecmascript/Objective.html
このページ読んでる。参考にしない方がいいかな?
609Name_Not_Found:04/07/22 00:07 ID:???
>>606
その説明は間違い。
そこで言っている「愛称」はJavaScriptで言うなら「識別子」だろう。
JavaScriptではあるコンストラクタが生成したオブジェクト(識別子ではない)を指して
非公式にインスタンスという用語を用いることがあるが
この語に関する公式な定義はない。
610Name_Not_Found:04/07/22 00:12 ID:???
オブジェクト=オブジェクト
インスタンス=実体
リファレンス=呼び名
という気持ちが。
611Name_Not_Found:04/07/22 00:15 ID:???
正直、ECMAScriptチュートリアルは
解ってる人が読む分には適当に修正しながら読めるし
「そこそこ動くコードが書ければいい」程度の目的ならまあ果たせると思うが
深く勉強することを目的として読むには
誤解を招く表現が目立つので個人的には勧めない。
612606:04/07/22 00:16 ID:???
>>609
そうなのかorz
インスタンスってイマイチ理解できないと思っていたら、あまり公式な用語ではないのか。
じゃあインスタンスについては深く考えずにいけばok?

後、例えば
a=1;
のaはオブジェクトだよね?どこかのメモリに格納して、そのメモリ内の値がオブジェクトで、
aという呼び方自体はオブジェクトではなくて、格納されてるメモリ番地を格納してるだけ?
駄目だ。もう少し色々読んでから質問しよう。
613Name_Not_Found:04/07/22 00:18 ID:???
これは、new の役割を考えれば分かります。
new はメモリ上に記憶場所を確保して値をセット(オブジェクトの作成)した後、そのポインタを返す関数です。そしてインスタンスはその返されたポインタ(=メモリ番地)を格納する場所となります。

そのサイトこんなのもあるな
614Name_Not_Found:04/07/22 00:27 ID:???
>>602
setTimeoutってこういうのにも使えるんだー。

>>603
デキタワァ*・゜゚・*:.。゜(n‘∀‘)η゚・*:.。゜゚・* !!!

そっかこういう書き方もありなのか。
サンプルコードとかリファレンスばっか
にらめてても駄目だな。

勉強になりますた。
615Name_Not_Found:04/07/22 00:31 ID:???
>>610
リファレンスはアドレスを保有してるだけでしょ
616Name_Not_Found:04/07/22 00:35 ID:???
>>612
JavaScript(ECMAScript)は仕様どおりに動作するのであれば
実装方法を問わない言語だ。メモリ番地云々のくだりに限らんけども、
どっちかっつーと他の言語(CやJava)からやってきた人向けの
動くコードを書くための手っ取り早い説明だと思われ。
617Name_Not_Found:04/07/22 00:45 ID:???
jsってソースが汚いよね。
何よりもdocument.writeが汚い。
読みづらいというか。

後はCSSであれだけバラバラな実装の各UAに、動作を依存するのが怖い。
まあそんなにおかしなことにはならないだろうけどさ。
618Name_Not_Found:04/07/22 00:48 ID:???
>>617
UAの実装の点には同意するが、
誰でも彼でも document.write とかやっているとは思わないでほしい。
619Name_Not_Found:04/07/22 00:57 ID:???
むしろdocument.writeは滅多に使わない
620604:04/07/22 01:05 ID:???
>>605
for ( 変数 in オブジェクト ){}
で、毎回変数にオブジェクトのプロパティ名が入れられるってことだよね?
なんか便利なものがあるんだね。連想配列じゃなくて、クラスにしちゃうことにしたよ。
621Name_Not_Found:04/07/22 01:15 ID:???
function MyClass(a,b){
this.a = b;
return(this);
}
こういうシンボリックリファレンス的な使い方って駄目なのか・・・・期待してやってみたら駄目だった;
622Name_Not_Found:04/07/22 01:18 ID:???
>>618619
!?どうやるの?
623Name_Not_Found:04/07/22 01:21 ID:???
>>621
何をしたいかわからないけど、javascriptはオブジェクトの持ってるプロパティを
外部から追加できたと思うよ。
624Name_Not_Found:04/07/22 01:30 ID:KIupdqa9
<ol start="1">
<li></li>
<li></li>
<li></li>
</ol>
とあって、<li>タグの個数をjavascript取得する方法ってありますか?
625Name_Not_Found:04/07/22 01:34 ID:???
>>624
すべてのliの個数を取得する方法はありますよ
626Name_Not_Found:04/07/22 02:32 ID:???
data = "1";
これを数値として評価するにはどうすればいいでしょうか?
b = data - 0;
b = new Number( data );
もっと簡単な方法はないでしょうか?
異なる10個の変数を足し算したいんですが、型が全て数値とは限らないので、
全てちゃんと数値に変換?したいんですが、スマートな方法はないでしょうか?
627Name_Not_Found:04/07/22 03:01 ID:???
>>624
OL要素のchildNodesからnodoNameがLIであるもを拾う。かなあ
628Name_Not_Found:04/07/22 03:10 ID:???
>>622
with(document){
write("hogehoge");
write("hogehoge");
write("hogehoge");
write("hogehoge");
write("hogehoge");
}

with最強
629Name_Not_Found:04/07/22 03:24 ID:???
ある変数が未宣言、未定義かどうかはどうやって調べればいいでしょうか?
boose[1]が宣言されてない場合は、変数とさえ認識してくれてない気がするのですが・・・
630Name_Not_Found:04/07/22 04:10 ID:???
if(boose[1] == null){ }
631618:04/07/22 05:21 ID:???
>>622
ノードを生成して、ツリーにぶら下げたり、はずしたりするの。
632Name_Not_Found:04/07/22 07:05 ID:???
>>630
それは絶対嘘だろ。一回使った後でもそこにnull入れちゃえるし。
>>629
その前に「boose[1]を宣言する」ってどうやるつもりなの。
「var a;」とかが宣言だよね。「var a = new Array(10);」
とかだと宣言+配列オブジェクトの代入だよね。
「var a[10];」なんてJavaScriptでは書けないし。
>>628
withなんてめったに使わない。読みづらいし。document.write()
>>619 と同じくほとんど使わないしね。
>>626
そのnewはなくてもいいよ。「Number(data)」ね。しかしそれより
簡単にはしようがないだろ。個々の変数をそれぞれ数値に変換する
わけだから。変数名に規則性があればループとか使えるだろうけど。
>>624
そのOL要素にid振って
var n = 0, a = document.getElementById('ID名').childNodes;
for(var i = 0; i < a.length; ++i) if(a[i].nodeName == 'LI') ++n;
>>621
なんかヘンな勘違いをしてるんじゃないの。何がやりたいかを
きちんと書いてみれ。
>>612
そのaはオブジェクトじゃなくて変数名だろ。さらにいえば
windowオブジェクトのプロパティ名だけど。
633Name_Not_Found:04/07/22 07:22 ID:???
>>617
ソースが汚いのは書いてる奴がヘボなだけ。だって構文とか
Javaとほとんど変わりないんだもの。クラスがないとかはまあ
違うけどね。ヘボ人口が多いのは宿命だな、HTML半可通が
ステップアップとか称して乱入してくるわけだからね。
634Name_Not_Found:04/07/22 07:44 ID:???
>>632
>>624 のそれは、ループせなんでも、

a.getElementsByTagName("li").length

で取得できるのではなかろうか。
635Name_Not_Found:04/07/22 07:46 ID:???
>>629
一般的には boose[1] === undefined とかで事足りると思うけど
boose[1] = undefined; のような場合を「boose[1]は定義済み」として
区別する必要がある場合は、 boose.hasOwnProperty(1) を使う。
636Name_Not_Found:04/07/22 07:56 ID:???
>>634
どういう根拠でそんなことが書けるんだ。
Error: a.getElementsByTagName is not a function
documentオブジェクトが持つメソッドは他のオブジェクトも
持っているとか思ってるならオブジェクト指向が分かってないぞ。
637634:04/07/22 08:04 ID:???
>>636
あー、ごめん。a って後ろに childNodes ついてたんだね。
すまそすまそ。

document.getElementById("ID名").getElementsByTagName("li").length;

で、よござんすかね。
638Name_Not_Found:04/07/22 08:06 ID:???
>>634
子孫ノードの検索ならgetElementsByTagName、子ノードの検索なら>>632
>>624にそのへんの使い分けが必要かどうかは解らんが。
639634:04/07/22 08:06 ID:???
>>636
途中でサブミットしちゃった。
getElementsByTagName とか getElementsById とかをメソッドに
持っていないエレメントって、なにがあるの?
640Name_Not_Found:04/07/22 08:09 ID:???
>>639
getElementsByTagNameはElementインターフェイスに定義されているから
どのElementも必ず持っているが、
getElementByIdはDocumentインターフェイスにしかないと思うぞ。
641634:04/07/22 08:15 ID:???
>>640
お、マジで。
情報サンクス。
試してみるよ。
642Name_Not_Found:04/07/22 10:20 ID:???
http://www.mitsubishielectric.co.jp/mobile/foma/d900i/style/index.html
上記のサイトのように「PAGE TOP」を押すとなめらかに移動するには
どうすればいいのでしょうか?
643Name_Not_Found:04/07/22 10:49 ID:???
>>642
vol.27あたりに貼ったもの。基本的にはsetTimeout()を使って
一定時間ごとにwindow.scrollBy()で少しずつスクロールさせ、
その「少し」の量をだんだん減らしていく。あー、過去スレの
行方不明のがあると不便だよねえ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var dist = 0;
function test() {
var b = (document.documentElement || document.body)
var w1 = b.scrollWidth, w2 = b.clientWidth, w3 = b.scrollLeft;
dist = w1 - w2 - w3; setTimeout(step, 200);
}
function step() {
if(dist <= 0) return;
var d = Math.floor(dist*0.2 + 1); dist -= d;
window.scrollBy(d, 0); setTimeout(step, 20);
}
</script>
</head><body>
<p>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<a href="#" onclick="javascript:test();return false">test</a></p>
<div style="background: yellow; width: 2000px">test</div>
</body></html>
644Name_Not_Found:04/07/22 13:53 ID:EMvraynd
よくあるこんなスクリプトを外部jsファイルにしてhtml上のinputにメッセージを流してるんですが、
こいつの「こんにちは、きょうはいい天気ですね」だけを外部テキストファイル化することって可能でしょうか?
倉の社長さんが非常に気にいっていて、結構おもしろいことを書くので好評なのでそれはほほえましいのですが
本人にやらせるとどうしても勝手に改行を入れたり「"」を消しちゃったりして面倒なんで
msgの内容だけを単純なテキストファイルに出来たらなと思ってるわけです。
外部テキストファイルはブラウザのフォームからcgiで生成させちゃおうかと思ってます。

msg="こんにちは、きょうはいい天気ですね";
function scroll()
{
msg=msg.substring(1,msg.length)+msg.substring(0,1);
document.formのname.inputのname.value=msg;
setTimeout("scroll()",200);
}
645Name_Not_Found:04/07/22 14:02 ID:???
>>644
そのcgiで改行とかを削除して msg="%s"; と出力するしかないかと
646612:04/07/22 14:38 ID:???
>>632
>そのaはオブジェクトじゃなくて変数名だろ。さらにいえば
>windowオブジェクトのプロパティ名だけど。

そうなのか。javascriptは基本的に
with(window){}状態なのかな?じゃあ
var a=0;
はどうなるんだろ?これの場合もwindowオブジェクトのプロパティの値をいじってることになるのかな?
っていうかjavascriptって外部からオブジェクトのプロパティを直接いじるの普通にありなんだね。
647Name_Not_Found:04/07/22 14:39 ID:???
>>645
ちいさーいiframeとかを用意して、その中に呼び込んでごにょごにょする
のが常套手段だけど、cgi 書けるなら、そのままそのページに書き出して
やるほうが手っ取り早いよね。
648Name_Not_Found:04/07/22 14:41 ID:???
>>646
JavaScript でのグローバルな変数は基本的にWindowオブジェクトの
プロパティと等価だ、

というようなことがオライリの本に書いてあります。
649Name_Not_Found:04/07/22 14:44 ID:EMvraynd
>>645
どもっす。ほんと、javascriptは苦手なもんで。

このjsファイルの「"こんにちは、きょうはいい天気ですね"」のすぐ両端になんとか識別記号(半角のみ)を
入れることが出来ればそいつの内側だけをCGIをつかったフォームから編集させられるな。
と思ったが、この識別記号、行頭じゃないとうまく認識できないや。漏れのスキルじゃ。
jsソース内の「"」と「"」間の改行を無視させる方法があれば・・・
650629:04/07/22 14:45 ID:???
>>632>>635
なんか勘違いしてました。
var boose;
とかしてたから何やっても駄目だったけど、
var boose = {};
としてからundefinedと比較したり、boose.hasOwnProperty(1)とかしたらしっかり反応してくれました。ありがとうございます。
651Name_Not_Found:04/07/22 14:51 ID:???
>>644
漏れならメッセージだけ .txt ファイルに書いてもらうことにして
そのファイルを隠しiframeに読ませて普通の文字だけ抽出して使う
ようにするな。
>>646
ローカル変数は違うけど、グローバル変数はwindowのプロパティ。
window.test = 'ABC'; alert(test);
とかやってみればわかる。
652Name_Not_Found:04/07/22 14:57 ID:???
>>649
改行削除と " とか \ のエスケープはCGIでやっちゃうんだよ。
次にCGIで var msg = "$msg"; 1行だけのJSファイルを書き出せば良いんだよ。
<script>2つでそのJSファイルと関数郡のJSファイル両方読みこmwxせcrtじげんft
653612:04/07/22 15:43 ID:???
>>648>>651
ありがとうです!
なんか意外とjavascriptも面白いね^^perlとの違いで
「いちいち覚えるの面倒だな」
とか思ってたけど、多分perlよりは常識的なオブジェクト指向ぽいから、いいね。
654Name_Not_Found:04/07/22 15:57 ID:EMvraynd
>>647
iフレームも考えたんですけどね、、社長さん、動くのがいいんだって。
「これだけはゆずれない」そうでw
ま、実際、一行スクロールとしては望ましい使われ方をしてるんでなんとかしてやりたいです。
655654:04/07/22 16:00 ID:EMvraynd
>>652
その社長さんにftpはできればいじらせswでfrgthyじゅきろp;「’
毎日メールでご挨拶送られてきてそれを漏れが直してうpするのはツライ
656Name_Not_Found:04/07/22 18:14 ID:???
今JavaScriptを勉強中なんですが、難しくて全然わかりません。
どこか超初心者でもわかり易く、体系的に学べるサイトなどはなでしょうか?
”とほほ”も見たんですが体系的に纏まってはいるんですが、細かい所がイマイチのってなくて
わかりませんでした。
657Name_Not_Found:04/07/22 18:16 ID:???
>>656
>>1-6を読め
658Name_Not_Found:04/07/22 18:28 ID:???
>>656
俺が教えてやる。
具体的に何がわからないんだ?
659656:04/07/22 18:35 ID:???
全体的にわからないんですが、特に関数がわかりません。
660Name_Not_Found:04/07/22 19:14 ID:???
>>659
そこまでだったら本読んだ方がいいと思うけどね。
一連の動作に名前をつけたものが関数、という説明で納得する?
function 名前() { 動作; 動作; … ; 動作; }
661Name_Not_Found:04/07/22 19:17 ID:???
662Name_Not_Found:04/07/22 19:19 ID:???
>>659
こいつネタだろ
テンプレサイト全て読んでも理解できなかったら、軽い知恵遅れの可能性があるからあきらめるしかない。
663Name_Not_Found:04/07/22 19:29 ID:???
>>658 釣られてますよ
664656:04/07/22 20:31 ID:???
つまり関数って、複数の処理(命令)を1つの入れ物に入れて纏める、ただの器みたいな物なの?
665Name_Not_Found:04/07/22 20:35 ID:???

------------------------------------- 終了 -------------------------------------

次の質問ドゾ!!

666Name_Not_Found:04/07/22 20:55 ID:rnNw35hI
ホームページ上で常に動く時計をつくりたいのですが、
次のプログラムで動きませんでした。
どこがだめなのか全然わかりません。

<HTML>
<HEAD>
<SCRIPT RANGUAGE="JavaScript">
<!---
var TC=0 ;
function TimeWatch(){
var time=new Date();
var hour=time.getHours();
var min=time.getMinutes();
var sec=time.getSecond();

if(hour<10)
{hour="0"+hour;
}
if(min<10)
{min="0"+min;
}
if(sec<10)
{sec="0"+sec;
}
document.Watch2.watch2.value=hour+':'+min+':'+sec;
//--->
667Name_Not_Found:04/07/22 20:56 ID:rnNw35hI
</SCRIPT>
</HEAD>
<body bgcolor="#ffffff" onLoad="TimeWatch()">
<P>
<FORM NAME="Watch2">
<INPUT TYPE="text" NAME="watch2" SIZE=10>
</FORM>
</BODY>
</HTML>
668Name_Not_Found:04/07/22 21:01 ID:???
>>664
機能だと思っておけばいい。
functionは自分で機能を定義できるもの。
まあ実際のとこは関数を完全に理解するにはjsの基本部分をちゃんと理解するべきだから、
後は解説サイトにいきなさい。
669656:04/07/22 21:17 ID:???
>>668
ありがとうございます。
じゃあfunction自体には特に意味はなく、functionで定義した物に纏めて機能を与えられる物と考えてよいんですね?
あと、関数はfunctionだけなんですか?
670Name_Not_Found:04/07/22 21:36 ID:???
こっちでやれよ。 うざい。

ものすごく頭の悪い発言してください その2
http://pc5.2ch.net/test/read.cgi/hp/1086686223/
671Name_Not_Found:04/07/22 21:51 ID:???
>>666
「onload="setInterval(TimeWatch, 500)"」に直してみれ。
今は表示された時に1回だけ時刻を書き込んでるから動かないの。
672Name_Not_Found:04/07/22 21:51 ID:???
>>654
ちがうーーーー、ってもういないかな。
iframe を表示用に使うのではなくて、
極小のiframe の中に表示したいテキストファイルを読んでおいて、
JavaScript でそのフレームにアクセスして、中のテキストを読むの。
で、その後は通常通りにごにょごにょしる、ってこと。

document 単位で初期化されてしまう JavaScript で外部ファイル読み込み
をするための苦肉の(常套)策なのです。
673Name_Not_Found:04/07/22 22:06 ID:???
>>669
でもね、機能をまとめて名前をつけられるっていうのは偉大な発明
なんだよ。「右見て;左見て;右みて;左見る;」なんて書くより
「安全確認」とか書いた方が絶対分かりやすいわけ。

あと、パラメタが渡せるから毎回必要に応じて違うデータを処理
できたりするよね。それは >>585-589 を見ると分かると思うが。
674Name_Not_Found:04/07/22 22:08 ID:???

自演 (゚听)イラネ
675Name_Not_Found:04/07/22 22:11 ID:vSIu7FYe
>>672
漏れも興味あったんで横やり。
iフレームのソースをhtmlではなくて.txtを読ませる訳ね。
でもそのフレームにはアクセス出来てもそのなかの文字列を
msg="ここ"にどうやって読み込むんだ?

それよか、>>654のサーバー上のファイルの一部をフォーム経由で
書き換えるCGIに興味ある。自作ですか?
アドさらしたら、詳しい事聴かせてもらえますか?
漏れ、perlはさっぱりなんで金だしてでも
そのスクリプト欲し(ry
まじ、おながいします>>654
676656:04/07/22 22:12 ID:???
>>673
なるほど、参考になりました。
677Name_Not_Found:04/07/22 22:18 ID:???
>>675
前半の質問は過去スレvol. 8の769-772ね。
後半はWebProg板へ逝くこと。
678667:04/07/22 22:24 ID:rnNw35hI
<body bgcolor="#ffffff" onload="setInterval(TimeWatch, 500)">

でいいのでしょうか?
私が昔のでやってみたところ、時計表示の窓は表示されたのですが、
中には時計は表示されず空白だったのです
679Name_Not_Found:04/07/22 22:28 ID:???
>>676
あんだはjs以前にプログラミング自体の入門書を読んだほうがいいと思うぞ
680Name_Not_Found:04/07/22 22:33 ID:???
>>678
あとさあアンタ、エラー出てない?「{」の数と「}」の数が合わないぞ。
681667:04/07/22 22:42 ID:rnNw35hI
var sec=time.getSecond();
の後を}しないといけないみたいですね。。
682Name_Not_Found:04/07/22 22:59 ID:???
>>681
っていうかここはお前の書いたゴミソースを正しく直すスレじゃねんだよ
黙って基本から勉強しなおせ
683Name_Not_Found:04/07/22 23:45 ID:???
javaスクリプトを使ってブックマークツールを作りたいんですが
ブラウザ上でリストを追加・編集したいんです
なにか作成のヒントいただけますてしょうか…
684Name_Not_Found:04/07/22 23:54 ID:???
>>681 でアンタはどうしょうもなくサイテーだということを
露呈したから、それ以上誰も助けてくれないと思うよ。地道に
本買って勉強しなって。じゃね。
>>683
JavaScriptでブックマーク勝手にいじれるわけないだろ。
もしいじれるならエロサイト逝ったらブックマークがエロサイト
だらけになるだろうよなあ。あきらめれ。
685Name_Not_Found:04/07/22 23:54 ID:???
>>683
そんなウイルスみたいなのはやめてほしいと思うんだが、どうよ?
686Name_Not_Found:04/07/22 23:57 ID:???
>>683
追加するとき。
1.追加する文字列から、テキストノードを生成
2.a 要素を生成して、追加する url と1を追加
3.li 要素を生成して、2を追加

削除するとき
1.消したい li を ul から削除

ヒントは、createElement createTextNode appendChild removeChild あたりかな。

ただ、上記の操作の内容を何かしらに保存する場合は、サーバ側に保存
させたり(cgi の技術が必要)、cookie にごっそり食わせたりする
(これはクライアント側だけでOK)必要があるね。
がんがれ。
687683:04/07/22 23:58 ID:???
あ、誤解を招いたみたいで…

ブックマークというよりはリンク集みたいなもんです
認証付きでLi要素を自由に追加・削除できるというやつ
688686:04/07/22 23:59 ID:???
>>684-685
あ、>>683ってクライアントのブックマーク(お気に入り)自体を
いじるって意味なの?それは無理ぽ。
MacIE のブックマークは謎htmlで出来ていて色々出来そうだけど、
やっぱり無理ぽ。
689686:04/07/23 00:00 ID:???
>>688
だから書き込む前にリロードしろと… orz
690Name_Not_Found:04/07/23 00:02 ID:???
>>686
やっぱし保存となるとサーバーサイドかクッキーになるんですか…
とりあえずPHPかJSPでもやってみます
691Name_Not_Found:04/07/23 00:07 ID:???
>>690
その前にどうやって登録するつもりでいるのよ。URL窓から
コピペするわけ?そりゃ面倒すぎるだろ。大人しくブラウザの
ブックマーク使った方がましだって。
692686:04/07/23 00:10 ID:???
すまそ、ヒントが中途半端だった。

getElementById
getElementsByTagName
createElement
createTextNode
parentNode
childNodes
nextSibling
appendChild
insertBefore
removeChild

この10個を抑えておけば、そこそこのことは出来ると思うよ。
693624:04/07/23 00:33 ID:???
>632
>637
やりたいことはolタグの子ノードの検索です。ありがとうです。
694Name_Not_Found:04/07/23 00:35 ID:???
なんか自分がその10個をマスターしたから自慢したくて
たまらないというふうに読めるね。
695Name_Not_Found:04/07/23 01:18 ID:???
>>694
池沼は出てこなくて良い
696Name_Not_Found:04/07/23 06:39 ID:SAom4d6Z
ブラウザ上(IE)のJavaScriptからWScriptのメソッドを実行する事は
できないのでしょうか?
要はWScript.Sleepが使いたいのですが…。
new ActiveXObject("WScript.Shell")
とかはOKだから、できそうな気もしないではないのですが。
(これはこれで「警告」出るからうれしくないのですが)
697Name_Not_Found:04/07/23 08:01 ID:???
>>696
wscriptとブラウザとでは実行環境が違うので
実行環境が用意するホストオブジェクトの仕様は当然変わってきます。
WScriptオブジェクトはブラウザ上のJScript実行環境では使えません。
setTimeout を駆使して頑張りましょう。
698Name_Not_Found:04/07/23 08:03 ID:???
>>696
警告なしに実行できたら黙って重要なファイル消しまくったり
もできることになりますな。sleep()がないとプログラムが
書けませんですか。setTimeout()だって別に問題ないと思うけどな。
ときにVBScriptにsleep()はあるのかな、VBScriptなら警告なし
に呼べるはず。
699Name_Not_Found:04/07/23 09:06 ID:k6GluidM
質問させてください。
現在JSCRIPTを使用しているのですが、変数STRに"AAA,BBB,CCC"というような
カンマで区切られた文字列が入っているのですが、それをAAA、BBB、CCCごと
の3つの文字列に分割するか、または配列に変換したいのですが、
どなたかいい方法知りませんでしょうか。
稚拙な質問で申し訳ありませんが、何分HTMLの知識くらいしか無い者ですので、
どうか宜しくお願い致します。
700Name_Not_Found:04/07/23 09:16 ID:???
>>699
とりあえず>>4のサイト全部から探してみてから質問してください
701Name_Not_Found:04/07/23 09:50 ID:???
>>699
var str = "abc,def,ghi";
var ret = str.split( /,/g );
for(var i in ret)
alert(ret[i]);
こんな感じ?
702Name_Not_Found:04/07/23 11:09 ID:mCJVUzsi
<form id="giko">
<input type="radio" name="auau" id="hoge" value="2ch" onclick="giko.submit();" onkeypress="giko.submit();" />
</form>

をネスケ7.1で見たとき、
auauをクリックしたときは無反応で、
選択後エンターキーを押したら動くのはバグですか?
703Name_Not_Found:04/07/23 11:16 ID:???
var optVal = new Array();
optVal[0] = new Array( "test1", "○" );
optVal[1] = new Array( "test1", "×" );
optVal[2] = new Array( "test1", "▼" );
optVal[3] = new Array( "test2", "■" );
optVal[4] = new Array( "test2", "●" );
function innerCre( inV )
{
myN6 = document.getElementById; // N6
myIE = document.all; // IE
if (myIE) myBR="I4"; // ブラウザは IE4以上
else if (myN6) myBR="N6"; // ブラウザは NS6以上
cnt = optVal.length;
var str;
var listcnt=0
if( myBR == "I4" )str = document.all("innerPoint2").innerHTML;
else str = document.getElementById("innerPoint2").innerHTML;
for( var i=0; i < cnt; i++ )
{
if( optVal[i][0] == inV ){
str = str + '<tr><td bgcolor="#ffffa4">' + (listcnt+1) + '</td>';
str = str + '<td bgcolor="#ffffcc">' + optVal[i][1] + '</td>';
str = str + '<td bgcolor="#ffffa4"><input type="text" size="27"></td></tr>';
listcnt++;
}
}
if( myBR == "I4" ) document.all("innerPoint2").innerHTML = str;
else document.getElementById("innerPoint2").innerHTML = str;
}
※JavaScript部
704Name_Not_Found:04/07/23 11:18 ID:K+P1vvfh
<body onLoad="innerCre( 'test2' )">
innerPoint2<Br>
<table border="0" cellspacing="1" cellpadding="2" width="100%" bgColor="#ffcd35">
<tbody id="innerPoint2">
<tr>
<td bgcolor="#ffffa4" align="center" width="5%"><b>NO</b></td>
<td bgcolor="#ffffcc" align="center" width="40%"><b>○/×</b></td>
<td bgcolor="#ffffa4" align="center" width="30%"><b>てきすと</b></td>
</tr>
</tbody>
</table>
</body>
</html>

※HTML部(>>703のつづき)
ネットスケープだと正常に動いて、IEだと未知の実行時エラーになります。原因がわかりません・・・orz
705Name_Not_Found:04/07/23 12:15 ID:???
>>704
これもわりとFAQだな。MSのreferenceのinnerHTMLのところの記述:
: The property is read/write for all objects except the following, for which
: it is read-only: COL, COLGROUP, FRAMESET, HTML, STYLE, TABLE, TBODY, TFOOT,
: THEAD, TITLE, TR. The property has no default value.

IE4とIE5.5未満を捨ててDOMでやりなさい。そしたらGeckoとIEと共通のコードになる。
706703-704:04/07/23 13:00 ID:???
>>705
ありがとう。
IE4,5.5切捨ては問題ないのでDOMをちょっと勉強してきます。
707Name_Not_Found:04/07/23 13:06 ID:???
>>706
サンプルは >>490 とかがいいんじゃないの。
708703-704:04/07/23 15:57 ID:R3DU2G+r
>>707
DOM初めて使ってみましたが面白いですね。
サンプル参考にして無事動的生成が出来ました。ありがとう御座います。


もうひとつ質問なんですが、

t.appendChild(document.createElement('tr'));
td = document.createElement('td');
td.setAttribute("bgcolor", "red");
td.appendChild(document.createTextNode('' + (listcnt+1)));

tdのバックグラウンドカラーを変えることができません。
widthは実行されるのですが・・・。またIEだけですが・・・
709Name_Not_Found:04/07/23 16:15 ID:???
>>708
style プロパティでせめてみてはどうか。
td.style.backgroundColor = "適宜";
td.style.width = "適宜";
710703-704:04/07/23 16:19 ID:???
>>709
ありがとぅ!!
出来ました。
なんか一つやると一つ忘れていく・・・どれがDOMでどれがJavascriptでどれがIEのみで・・
頭が混乱ですorz
711Name_Not_Found:04/07/23 16:20 ID:???
>>708
ちなみにHTMLTableCellElementにbgColorプロパティというのもあるよ
712Name_Not_Found:04/07/23 16:22 ID:???
>>702

on*="this.form.submit()"

>>708
// 2つ目を推奨しとく
td.setAttribute("bgColor", "red");

td.bgColor = "red";
713Name_Not_Found:04/07/23 16:28 ID:???
>>710
アンタが最初に書いたものだけがIE専を含んでいる。このスレで
教えてもらったものは全部Gecko+IE+O7くらいのクロスブラウザ。
JavaScriptは言語の部分だけ。「どんなオブジェクト」「どんな
メソッド」は今回の話の範囲ではすべてDOM。
714Name_Not_Found:04/07/23 16:31 ID:???
>>708-712
bgColor属性を書き換えるのはテーブルセル等ごく一部の要素
のみに適用可能。これに対してstyle.backgroundColor = '色'
であればどんな要素にでも適用可能。さらに背景色ではなく
背景画像もstyle.backgroundImage = 'url(ファイル名)'で可能。
だからstyleを使うことだけ憶えてあとは忘れていいと漏れは思う。
715703-704:04/07/23 16:35 ID:???
>>711
>>712
やってみました。推奨のbgColorを使っときました。

>>713
>。「どんなオブジェクト」「どんなメソッド」は今回の話の範囲ではすべてDOM。
なるほど・・・・勘違いいていたようです。


次は追加したタグ(エレメント?)を削除しないと・・・。
削除はRemoveChildを使えばいいのかな?
とりあえずやってみます
716Name_Not_Found:04/07/23 16:47 ID:???
>>710
> どれがDOMでどれがJavascriptでどれがIEのみで・・

DOM ってのはインターフェイスの種類の一つであって、JavaScript とかと
並列に並べて考えるものではないのです。
おいおいわかってくるとは思うけどね。
がんがれ。
717709:04/07/23 16:50 ID:???
半ば自己レス。
CSS でやった方がいいような気がしてきた。
クラスか id つけて。
718703-704:04/07/23 17:12 ID:???
>>717
CSSに変えてみます!

削除して追加。この流れで動的に変更できるようになりました。

削除部は以下

var rowArray=new Array();
function del_cell()
{
var t = document.getElementById('optArea');
var len = t.getElementsByTagName("tr").length-1;

tr=t.getElementsByTagName("tr");
for(i=0;i<len;i++){
rowArray[i]=tr.item(i+1);
}

for(i=0;i<len;i++){
t.removeChild(rowArray[i]);
}
}

こんな感じにしてみました。

みなさん本当ありがとう。
719Name_Not_Found:04/07/23 17:14 ID:???
>>717
DOMでクラスつけるときは「要素.className = 'クラス名'」だからね。
JavaScriptでは「class」というのが予約語になっているもんで
(実際には使われていないんだけどね)。
>>715
i行j列のセルを消去したい場合は
var td = tbody要素.rows[i].cells[j]; td.parentNode.removeChild(td);
720Name_Not_Found:04/07/23 17:26 ID:2NAhKS2i
>>719
便乗して申し訳ないですが。
obj というオブジェクトにクラス名"foo"を追加するときに、

if(obj.className != ""){
    obj.className += " " + "foo";
}
else{
    obj.className = "foo";
}

ってすると MSIE が認識してくれないのですが、
なにか良い方法はありませんか?
721Name_Not_Found:04/07/23 17:27 ID:???
>>718
t = document.getElementById('tbody要素のID');
while(t.childNodes.length > 0) t.removeChild(t.firstChild);
とかの方が簡潔で分かりやすいかもね。
722Name_Not_Found:04/07/23 17:38 ID:???
>>720
classNameに初期値はない(つまり最初に空文字列であるとは
保証されない)ので「if(obj.className) ...」とするのが
いいかも知れない。外してたらスマソ。
723720:04/07/23 18:44 ID:???
>>722
あ、助言どうもです。
知りたかったのは、クラス属性ってスペース区切りで
複数のクラス名を割り当てるのを、JavaScript ではどうやるのかな、と。
724Name_Not_Found:04/07/23 20:48 ID:???
>>723
そりゃもう、空白で区切って書けばいいんじゃないですかね?
この部分だけHTMLと違う書き方にする必然性ないし。
725Name_Not_Found:04/07/23 22:06 ID:jc3iQYa/
ノードについて勉強したいのですがECMAscriptチュートリアルというテンプレにあるサイトを
見てますが見つかりません。テンプレのどのサイトがノードを勉強するのに一番適していますか?
726Name_Not_Found:04/07/23 22:14 ID:???
727725:04/07/23 22:17 ID:jc3iQYa/
>>726
せっかく教えてもらって恐縮ですが英文は読めません。
日本語サイトではノードについては取り扱われてないのでしょうか?
728Name_Not_Found:04/07/23 22:19 ID:???
>>725
うーん、DOMのお勉強サイトはどこがいいのかな。
729725:04/07/23 22:24 ID:jc3iQYa/
>>728
煩わせてしまってすみません。DOMがキーワードなのですね?
後は自分で調べてみます。とりあえずリファレンスサイトをいくつも熟読していけば
いずれはノードにたどり着けますよね。わがまま言ってすみませんでした。失礼します。
730Name_Not_Found:04/07/23 22:29 ID:???
ここがおすすめかな。リンク集だけど仕様の和訳やサンプル集もあるから。
ttp://members.jcom.home.ne.jp/jintrick/Personal/links_dom.html
731725:04/07/23 22:32 ID:jc3iQYa/
>>730
ありがとうございます!見に行ってみます。
732Name_Not_Found:04/07/23 22:52 ID:2NAhKS2i
質問です。
td 要素を生成してDOMツリーに追加したいのですが、
この td を colspan="2" と等価にするために

vat a = document.createElement("td");
a.colspan = "2";

としてみましたが駄目でした(環境:NN7);
うまく探せなかったのですが、colspan を扱う td のプロパティは
なんというのでしょうか。

よろしくお願いします。
733Name_Not_Found:04/07/23 23:01 ID:???
>>732
colSpan
734Name_Not_Found:04/07/23 23:04 ID:???
>>732
英語は読まなくていいからスペル等はここをチェックすれ。
ttp://www.w3.org/TR/DOM-Level-2-HTML/ecma-script-binding.html
735732:04/07/24 00:17 ID:???
>>733-734
ありがとう。
736Name_Not_Found:04/07/24 00:50 ID:OnNhDE3L
時刻をリアルタイムで表示できる時計をHTMLタグで作りたいのですが、
htmlタグが分かりません。

次のタグでは□しか表示されませんでした。
助けてください。
よろしくおねがいいたします。
737Name_Not_Found:04/07/24 00:51 ID:OnNhDE3L
これがタグです↓

<HTML>
<HEAD>
<BODY>
<SCRIPT RANGUAGE="JavaScript">
<!---
var TC=0 ;
function TimeWatch(){
var time=new Date();
var hour=time.getHours();
var min=time.getMinutes();
var sec=time.getSeconds();

if(hour<10)
{hour="0"+hour;
}
if(min<10)
{min="0"+min;
}
if(sec<10)
{sec="0"+sec;
}
738Name_Not_Found:04/07/24 00:51 ID:OnNhDE3L
document.Watch2.watch2.value=hour+':'+min+':'+sec;
//--->}
</SCRIPT>
</HEAD>

<body bgcolor="#ffffff" onload="setInterval(TimeWatch, 500)">
<P>
<FORM NAME="Watch2">
<INPUT TYPE="text" NAME="watch2" SIZE=10>
</FORM>
</BODY>
</HTML>

よろしくおねがいいたします。
739Name_Not_Found:04/07/24 00:56 ID:???
>>736-738
タグはだいたいあってます。
がんがれ。
740Name_Not_Found:04/07/24 00:57 ID:???
<SCRIPT RANGUAGE="JavaScript">



<SCRIPT LANGUAGE="JavaScript">

だな。suretigaidaga,
741Name_Not_Found:04/07/24 01:01 ID:???
>>737
□ってインプットボックスだけってことか・・・???
とりあえず
//--->}
の行が限りなく怪しいと思う。
742737:04/07/24 01:10 ID:OnNhDE3L
あー!
ランゲージのつづり間違いはイタイですね。。。
743737:04/07/24 01:11 ID:OnNhDE3L
>>741さん
そうです。
難しい。
744737:04/07/24 01:18 ID:OnNhDE3L
行けたーーーー
745Name_Not_Found:04/07/24 01:19 ID:???
いちいち上げんなボケ!
746Name_Not_Found:04/07/24 02:31 ID:???
>>744
無理すればIDがオンドゥルって読めるね
747Name_Not_Found:04/07/24 03:01 ID:NSYcdIw9
<HTML>
<SCRIPT LANGUAGE="JavaScript">
 function plus(){
  var VAL=eval(VAL1.value+"+"+VAL2.value) ;
  alert(VAL) ;
 }
</SCRIPT>
<HEAD><TITLE>TEST</TITLE></HEAD>
<BODY>
<INPUT TYPE=text VALUE="" NAME="VAL1"><BR>
<INPUT TYPE=text VALUE="" NAME="VAL2"><BR>
<INPUT TYPE=button VALUE="和の計算" onClick="plus()">
</BODY>
</HTML>

のVAL1とVAL2をラジオボタンにして予め数値を決めておいて計算したいのですが
どのように変えればいいですか?
748Name_Not_Found:04/07/24 03:08 ID:???
>>747
何が不満なのか解らん。Number(VAL1.value) とかのほうがよさそうだが。
749Name_Not_Found:04/07/24 04:04 ID:???
>>747
なにが不満っていうか、何がしたいのか、どのように変えたいか解らん。
テキストボックスのVALUEにあらかじめ数値を入れて入力不可に
で、ラジオボタンを押すと入力不可を解除?とか。
ラジオボタンは単なる飾りで、テキストボックスはhiddenにするのか…
750Name_Not_Found:04/07/24 06:30 ID:???
ふつーラジオボタンを使いたいっていったらこういうことでは。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var v1 = '10', v2 = '100';
function test() { alert(parseInt(v1) + parseInt(v2)); }
function chg(v, e) { if(e.checked) window[v] = e.value; }
</script>
</head><body>
<form name="f0" action="#" onsubmit="return false"><p>
<input type="radio" onchange="chg('v1',this)" value="10" name="v1" checked>10
<input type="radio" onchange="chg('v1',this)" value="20" name="v1">20
<input type="radio" onchange="chg('v1',this)" value="30" name="v1">30<br>
<input type="radio" onchange="chg('v2',this)" value="100" name="v2" checked>100
<input type="radio" onchange="chg('v2',this)" value="200" name="v2">200
<input type="radio" onchange="chg('v2',this)" value="300" name="v2">300<br>
<input type="button" value="calc" onclick="test()">
</p></form>
</body></html>
751747:04/07/24 10:54 ID:???
>>748->>750
すみません上手く説明できませんでした・・・
>>750の方法が知りたかったんです。
>>750さんありがとうございました!
752Name_Not_Found:04/07/24 13:38 ID:???
innerHTMLとか、document.writeで書き換えられた状態のページソース全体を
保存する方法ってあるのでしょうか?

(なんかすごく既出っぽいんですがもしそうなら御免なさい)
753Name_Not_Found:04/07/24 14:09 ID:???
>>752
ブラウザのブックマークに次のURLを*必ず1行にくっつけて*登録し(名前は
適当につけてよい)、ソースを取りたい時点でそのブックマークを選択する。
あとは開いた窓からコピペ。
javascript:w=window.open('about:blank');
w.document.write(document.body.innerHTML.replace(/</g,'<'));void(0)
754Name_Not_Found:04/07/24 14:10 ID:???
>>753 の 「'<'」は「'&<;'」ね、すまそ。
755Name_Not_Found:04/07/24 14:11 ID:???
>>754 ウアアアアン! もっかい。「'<'」は「'&lt;'」ね。
756Name_Not_Found:04/07/24 14:13 ID:???
>>753-755 もっかい全部貼ります。
javascript:w=window.open('about:blank');
w.document.write(document.body.innerHTML.replace(/</g,'&lt;'));void(0)
757656:04/07/24 14:20 ID:???
すいません、関数のreturnの意味が良くわからないんですが、returnを付けるとどうなるんでしょうか?
758Name_Not_Found:04/07/24 14:26 ID:???
>>757
function 関数名() { 動作; 動作; … ; 動作; }
の動作のどっかに「return;」が含まれていると、それを実行した
ところでその関数の実行がおしまいになる。あんたねえ、本当に
入門書買って読んだ方がいいよ。ここで聞くのも多くの人にとって
迷惑だし(遊んでる自分はなんでもいいけど)、その調子で勉強して
たら何週間たってもマスターできないだろから自分でも損だよ。
759752:04/07/24 14:45 ID:???
>>756
すばやいレス有難うございます。
なかなか使えそうですが、どうも書き出されたソースは多少成形されているようですね。
<tbody>が追加されてたり、値囲いのダブルクォートが省略されてたり。
あと、<body>〜</body>だけのようですね。

javascriptでの書き換え後のページソースをまるごとそのまんま、ってのが出来るとベスト
なんですが・・・。

アドバイスを参考に、もう少し研究してみます。
760Name_Not_Found:04/07/24 14:52 ID:???
>>759
贅沢すぎ。そもそもinnerHTMLやdocument.write()ならともかく、
appendChild()みたいにDOMでツリーをいじくった場合は「もとの
HTMLソース」なんてものが存在しないわけだけど。
まあ研究すんのは自由だが。
761752:04/07/24 15:29 ID:???
研究してみました。(っていうほどのことではないんですが…)
Explorerでスクラップブックをとるか、ネスケで「ページまるごと保存」をすると、
javascript書き換え後のソースをほとんどそのまんま得られるようです。

どうもお騒がせしました・・・。
762Name_Not_Found:04/07/24 18:07 ID:???
>>757
数学で言う関数とはこんなもんだろ
y = f(x) = x^2 + 1
この関数をJavaScriptで書けば
function f(x){
 y = x * x + 1;
 return y;
}
となる。
alert( f(5) ); と書けば 26 とダイアログが出る。
「戻り値」で検索すればサンプルソースは山ほど出てくるはずだ。
763Name_Not_Found:04/07/24 22:39 ID:???
function を 関数と言い換えてしまうんじゃなくて、手続きとか一連の処理と
考えてやれば何も違和感なく受け入れられると思うが、どうだろうか?
関数と言うとすぐに数学での関数を考えてしまうから...
764Name_Not_Found:04/07/25 00:14 ID:???
そう言えば「変数」って言い方も違和感あったな。
数学での変数は一文字(+添え字)に限られてたから。
765Name_Not_Found:04/07/25 01:54 ID:???
functionはクラス
766Name_Not_Found:04/07/25 02:04 ID:???
俺的にはサブルーチン
767Name_Not_Found:04/07/25 03:11 ID:???
値を返せないのが procedure(Pascalでおなじみ)
値を返せるのが function なのだが。
768Name_Not_Found:04/07/25 03:53 ID:6I0seSdn
window.location.href に関する質問です。

Aのウィンドウのリンクから、(1)と(2)のフレームに別れた
Bと言うウィンドウを開いて、(2)の表示だけを変えたい場合はどうすれば良いでしょうか?
イメージとしては、下記のようにしたいのですが・・・

B.(1).location.href = 'test.html';

Bの中にJavaScriptを入れるのではなく、あくまでAの中に入れたいのです。
よろしければご回答お願いします。
769Name_Not_Found:04/07/25 04:06 ID:???
うーん、けっこうマンドクサイね
770Name_Not_Found:04/07/25 08:45 ID:???
>>768
var w = window.open('フレームセットのURI', '適当な名前');
で開いたとして、表示を変えたい時には
w.frames.フレーム2の名前.location.href = 'test.html';
>>767
今時Pascalなんてだれも勉強してないよ。Del厨以外は。
ともかくCでもJavaScriptでもfunctionはサブルーチンで
サブルーチンは値を返しても返さなくてもよい。
771Name_Not_Found:04/07/25 11:12 ID:???
DOMの使い方で質問です。

ジャンプ格闘⇒拡散ビーム⇒バズーカ⇒ジャンプ格闘⇒拡散ビーム⇒格闘

は繋がりますか?
772Name_Not_Found:04/07/25 13:13 ID:???
>>752
実装環境の有無は知らんが、DOM仕様的には
DOMImplementationLS.createLSSerializer().writeToString(node);
(詳細を知りたければ DOM3 Load and Save 参照)
773Name_Not_Found:04/07/25 16:38 ID:???
>>771
バズーカ処理がブラウザ依存なので、ライブドア版Operaだと処理が追いつかなくて落ちます。
flashでGIMを使ったほうがいいんじゃないですかね。
774Name_Not_Found:04/07/25 21:28 ID:???
>>768
>>539の焼き直しかよ。
775Name_Not_Found:04/07/26 02:16 ID:???
質問する前にコードの断片が分かってればそれでスレ検索すればよいのだが
例えばlocation.hrefを使うことだけでも分かってればそれでレス抽出するとか
テンプレに入れてくんねーかな
776Name_Not_Found:04/07/26 02:22 ID:3oqLzMpF
alertについていまいちよくわからないんですが、関数呼びだしの際に使用する、
エラー例外処理のようなものなんですか?
777Name_Not_Found:04/07/26 02:57 ID:???
>>776
俺は、長ったらしい説明文を読みたい人だけに読ませる手段にしてる。
正しい使い方とかに拘ってるなら>>3-4あたりか。
778Name_Not_Found:04/07/26 06:12 ID:???
>>776
例外処理ではないが、デバッグの時の出力には使える。
そもそも正しい使い方なんてあるのか
779Name_Not_Found:04/07/26 07:20 ID:???
>>776-778
alert()は名前通り「警告ダイアログ」つまり「こういうことが
ありますからアブナイですよ、わかりましたねOK?」という表示
を出してOKボタンを押すまで先に進まないで止まって待つ、と
いうのが機能であり正しい使い方。でもたいていはデバッグとか
に流用してるよね。例外処理とはナンの関係もない、なんで例外
処理だなんて思うんだ?
780Name_Not_Found:04/07/26 11:00 ID:???
北陸地方の農家を救済します。冷害処理
781Name_Not_Found:04/07/26 11:19 ID:???
alertを「本来の機能」の用途で使ったことないし、そんな必要性も感じたことない。
それに、「アブナイですよ、わかりましたね?」って尋ねるなら、YesかNoを選択させるべきで、
alertのすることではない気がする。そもそもそんなアブナイことするな、とも言えるが。
782Name_Not_Found:04/07/26 11:26 ID:???
ツリー型メニューをJavascriptでやろうとしていて
検索でいくつかサンプルを見つけたのですが
一つのツリーを展開したら他の開いているツリーは閉じるように
してあるサンプルは見つかりませんでした。

<script Language="JavaScript"><!--
trList = ["treeMenu1","treeMenu2","treeMenu3"];
function exMenu(tName)
{
for (i=0; i<trList.length; i++) eval(trList[i]).style.display = "none";
tMenu = eval(tName).style;
if (tMenu.display == 'none') tMenu.display = "block"; else tMenu.display = "none";
}
// --></script>

<a href="javaScript:exMenu('treeMenu1')">ツリーの項目</a>
<div id="treeMenu1" style="display:none">ツリーの中身<div>

で一つ開くと別のは閉じるんですが
そうすると今度はツリーの項目をもう一回クリックしても閉じません。
どう書き換えたら開くと別のツリーが閉じ、ツリー全部閉じるようにもできるでしょう。
783Name_Not_Found:04/07/26 11:49 ID:???
>>781
その通り、だからalert()なんて本来の用途ではめったに
使うわけがない。どっちかというとconfirm()の方が普通
に使うよね。
>>782
アルゴリズムの問題だろ。今開いてるメニューがどれかを
記録しておいて、クリックしたときに今開いているのを
クリックした場合はそれを閉じ、そうじゃない時は既に
開いているものを閉じてクリックしたのを開くと。その
筋道に沿ってコードが書けなければ勉強するべきなんで、
誰かが書いてくれるなんて思わない方がいいよ。
784Name_Not_Found:04/07/26 12:07 ID:???
>>782
http://mugi.cc/js/cbm/cbmindex.htm の cbm_vertical.htm 縦並びメニュー
785Name_Not_Found:04/07/26 12:53 ID:???
質問です。

s1 と s2 と s3 といった名前の変数があり、
変数iを使用し ['s'+i] の形で変数にアクセスすることはできますか?
普通なら配列で作るべきなのでしょうが…。
786Name_Not_Found:04/07/26 12:59 ID:???
>>785
[ ] ←これは何?
いずれにしてもやってみればわかるだろうに
787785:04/07/26 13:13 ID:???
>>786
>>11のQ7のイメージなんです。

>>785の3行目は例えでした。失礼しました。
HTML上に配置されているオブジェクトはobj['s'+i]の形でアクセスできますが、
変数でも同じようなことはできますか?というい質問です。

var s1 = 5;
var i = 1;
alert(['s'+i]); // 5 と表示されて欲しい。
788785:04/07/26 13:19 ID:???
自己解決。
evalでできました。

var s1 = 5;
var i = 1;
alert(eval('s'+i));
789Name_Not_Found:04/07/26 13:34 ID:???
>>788
何やりたいのか分からないけど、
ずいぶんトリッキーだね。
790782:04/07/26 13:38 ID:???
すみません782です。

trList = ["treeMenu1","treeMenu2","treeMenu3"];// ツリーメニューのリスト
function exMenu(tName)
{
for (i=0; i<trList.length; i++) eval(trList[i]).style.display = "none"
  →treeMenu1から順に全部のtreeMenuのstyleのdisplay要素にnoneを指定して一旦見えなくする。

tMenu = eval(tName).style;   

if (tMenu.display == 'none') tMenu.display = "block"; else tMenu.display = "none";
  →tMenuが見えない状態なら見える状態に、そうでなければ見えない状態にする。
}
// --></script>
<a href="javaScript:exMenu('treeMenu1')">メニューの項目</a>
<div id="treeMenu1" style="display:none">メニューの中身</div>

リンクをクリックすると必ず最初にdisplay:noneの状態になってからif以降が実行されて
メニューの中身が表示されるから、そこはクリックすれば必ず表示状態なわけですよね。
考え方としては最初の処理を無くして別の方法で他の部分が非表示になるようにすればいいんでしょうか?
例えばクリックした時にif構文を実行してから、その後それ以外のtMenuを全部非表示にするとか。

あとeval()の意味が説明を読んでも理解できません。

◆ object.eval(string) (e4/N3)
string を JavaScript コードと見なして実行します。JavaScript 1.4 では削除されました。代わりに eval() を用います。
◆ eval(statements) (e3/N2)
statements を JavaScript の構文と解釈して実行し、その結果を返します。

この場合どういう風に使われているんでしょう。
791Name_Not_Found:04/07/26 13:54 ID:???
>>790
そのサンプルのコードなんですけどね。
サンプルになっていないみたいですよ。なーんか試作品の試作品を
サンプルにしてしまっているように見える。

自力でその伸縮するツリーメニュー(?)のコードとやらを書いてみて
はいかがでしょうか。実力以上のものを持ち上げるのは大変でしょ。

ちなみにevalは、実行時に式を評価するときに使います。
で、そのサンプルでevalを使っている個所はなんかヘンです。
sytleオブジェクトを配列に入れておくとか、オブジェクトの参照を
うまく使えばevalは不要だと思うんですけど。

そんなムダがあるのも、このサンプルが未熟に見える理由です。
792Name_Not_Found:04/07/26 14:10 ID:???
>>791
おそらくスクリプト評価時点ではまだ treeMenu1〜3 が存在しないんだろうねぇ。
793Name_Not_Found:04/07/26 15:04 ID:???
フレーム(header、main、futtoer)を使ってるページで、mainからフォーカスが
外れたら強制的にmainにフォーカスを戻したいのですが、どのようにすれば良い
でしょうか。

フレームmainに下記を記述してもonblurすら取得できていないようです。
window.parent.main.onblur = window.parent.main.focus();

環境はNN6〜になります。

宜しくお願いします。
794Name_Not_Found:04/07/26 15:17 ID:4j33FUMG
JavaScript basic samples
http://www.sumnet.ne.jp/domp/jsbs/
にあった「履歴に残さず移動」ですが
ちょっと改造したらエラーが出る様になってしまいました
しかも履歴が残ってしまいます、

function pageReplace(){
����window.location.replace("hoge.htm");
}
<body onLoad="pageReplace()">
のカタチですが、
エラー時のアラートは
「エラー:このオブジェクトではサポートされていない操作です」
です。
<body>に書いているのがいけないのでしょうか?
795Name_Not_Found:04/07/26 15:21 ID:???
>>782はこういうことがしたかったのか?ちなみに全角スペースを半角
に置換しないとエラーになるので注意。
<html>
 <head>
  <script>
   var treeMenu = new Array() ;
   function exec( src ) {
    var o ;
    o = treeMenu[ src ] ;
    if ( o.style.display == "block" ) {
     o.style.display = "none" ;
    }
    else {
     o.style.display = "block" ;
    }
    for( var prop in treeMenu ) {
     if ( prop != src ) {
      o = treeMenu[ prop ] ;
      o.style.display = "none" ;
     }
    }
   }
796795:04/07/26 15:22 ID:???
   function init() {
    var o ;
    for ( var i = 0 ; i < 3 ; i ++ ) {
     o = document.getElementById( "treeMenu" + i ) ;
     treeMenu.push( o ) ;
     o.style.display = "none" ;
    }
   }
  </script>
 </head>
 <body onload="init()">
  <div><a href="javascript:exec(0)">[ MENU1 ]</a></div>
  <div id="treeMenu0">-1-</div>
  <div><a href="javascript:exec(1)">[ MENU2 ]</a></div>
  <div id="treeMenu1">-2-</div>
  <div><a href="javascript:exec(2)">[ MENU3 ]</a></div>
  <div id="treeMenu2">-3-</div>
 </body>
</html>
797782:04/07/26 15:40 ID:???
>>791
>ちなみにevalは、実行時に式を評価するときに使います。
>で、そのサンプルでevalを使っている個所はなんかヘンです。
実行時に式を評価、ですか。うーんよくわからない・・・orz
styleオブジェクトを配列に入れてしまうってのは
var a = newArray(style.display = "none",style.display = "brock")
ってことでしょうか・・・。

考え方としてはツリー1の項目をクリックした時に
「もしツリー1が非表示なら表示し、それ以外のツリーは全て非表示にする。
ツリー1が表示なら非表示にし、それ以外のツリーも全て非表示にする。」
という式が実行されるようにすれば可能なわけですよね。

<script Language="JavaScript"><!--
function exMenu(tName)
{
tMenu = document.all[tName].style;
if (tMenu.display == 'none') tMenu.display = "block"; else tMenu.display = "none";
}
// --></script>

<a href="javaScript:exMenu('treeMenu1')">メニュー1の項目</a>
<div id="treeMenu1" style="display:none">メニュー1の中身</div>
<a href="javaScript:exMenu('treeMenu2')">メニュー2の項目</a>
<div id="treeMenu2" style="display:none">メニュー2の中身</div>

として、これだけだとただ表示非表示がクリックで切り替わるだけなので、
if文の中か後(?)に引数(tName)以外の全てのidを非表示にする式を書き加えればいいのかな。
それ以外の全てというのをのをどうやって指定したらいいでしょうか。

>>795
やってみましたがスクリプトエラーが出て動作しませんでした。
798Name_Not_Found:04/07/26 15:47 ID:???
>>794
同類のパターンが
http://www.google.co.jp/search?hl=ja&ie=UTF-8&c2coff=1&q=onload%3D%22window.location.replace%28&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
で3件ヒットするけど(逆にいうと3件しかヒットしないのだが)
あんまり参考にならないかな。

エラーメッセージのとおりonloadのときは、
まだwindow.location.replace()
を呼べる状態ではないんでしょうね。
799Name_Not_Found:04/07/26 15:49 ID:Gbph2fFY
今日の18時までに1000行ったら、
妹(15歳・山田優似)のマソコ付ヌード写真ウプする。
800799:04/07/26 15:49 ID:???
激しく誤爆スマソ
801798:04/07/26 15:55 ID:???
>>798
スマソ。
試してみたら(IE6では)onload中にwindow.location.replace()
できるみたい。
802Name_Not_Found:04/07/26 16:25 ID:UXF2KO1q
質問です。

別ページで開いたウインドウを別ページで閉じることは
出来るのでしょうか?

例えば
ページ1 ・・ 子画面を立ち上げる
 ↓処理
ページ2 ・・ ページ1で立ち上げた子画面を閉じる

わかる方はご教授ください。
よろしくお願いします。
803793:04/07/26 16:26 ID:???
すみません、半分自己解決ししました。

hedar,footerフレームのBODYにonfocusイベントで
parent.main.focus();
でできました。

タブで送ったときは動作しないですが...
804Name_Not_Found:04/07/26 16:54 ID:???
>>799
>>800は見なかったことにして、
埋め埋め。
805Name_Not_Found:04/07/26 17:28 ID:???
>>802
別に何だって閉じられるけど「閉じていいですか」ダイアログは
出るかもしれないね。
>>794
ホントにそこから出るエラーなの?別のところを壊してない?
どうしてもそこでエラーになるのなら
setTimeout(function() { location.href.replace('行き先'); }, 100);
>>785-789
evalを使うのはダサイ。「window['s'+i]」でいいんでしょ。
806Name_Not_Found:04/07/26 17:40 ID:???
>>790-791
あんたらはアホか?そこはeval()なんて使わずdocument.getElementById()を
普通に書けばいいとこだろ。元のサンプルがひどいにしても、何読んでるんだ?
807Name_Not_Found:04/07/26 18:16 ID:???
>>806
>>790のレベルに合わせてあげてくれ。
「普通に書く」が分からなくて苦労してるんだよw
808Name_Not_Found:04/07/26 18:21 ID:???
>>806
じゃあ

<script Language="JavaScript"><!--
function treeMenu(id){
if(document.getElementById){
if(document.getElementById(id).style.display == "none")
document.getElementById(id).style.display = "block";
else
document.getElementById(id).style.display = "none";
}
}
// --></script>

<a href="javaScript:treeMenu('id01')">メニュー1の項目</a>
<div id="id01" style="display:none">メニュー1の中身</div>
<a href="javaScript:exMenu('id02')">メニュー2の項目</a>
<div id="id02" style="display:none">メニュー2の中身</div>

でどうでしょうか。それで例えばidが01〜10まであったとして
5を開いたら1〜4と5〜10が閉まるようにしたいわけなんですが、
それをどうやって指定するのかわからなくて困ってるんです・・・。
809Name_Not_Found:04/07/26 18:36 ID:???
>>808
var DivElements = document.getElementsByTagName("div");
for (var i = 0; DivElements.length; i++) {
  if (DivElements[i].id == id)
    DivElements[i].style.display = "block";
  else
    DivElements[i].style.display = "none";
}
とか。例えばだけど。
810809:04/07/26 18:39 ID:???
すんません
誤: for (var i = 0; DivElements.length; i++) {
正: for (var i = 0; i < DivElements.length; i++) {
811Name_Not_Found:04/07/26 18:41 ID:???
>>808
全部閉じてから開きたいやつを開けばいいじゃねぇかよ
812Name_Not_Found:04/07/26 18:46 ID:???
>>809
早速やってみます。

>>811
だから先に全部閉じたら>>790と同じで
もう一回クリックした時に閉じるってならなくなると思うんですけど。
813Name_Not_Found:04/07/26 18:49 ID:???
アホだ・・・
814Name_Not_Found:04/07/26 18:52 ID:???
コードを書く以前にアルゴリズムを考えられないわけか
815Name_Not_Found:04/07/26 18:55 ID:???
Language="JavaScript"
816Name_Not_Found:04/07/26 19:00 ID:???
>>808
<script Language="JavaScript"><!--
var DivElements = document.getElementsByTagName("div");
function exMenu(id){
for (var i = 0; i < DivElements.length; i++) {
if (DivElements[i].id == id)
DivElements[i].style.display = "block";
else
DivElements[i].style.display = "none";
}
// --></script>

で全部出来ました。ありがとうございます。

>>813
気になるんで説明してくれませんか。
先に全部閉じるっていうのがクリックしたら一旦全て非表示にして
その後クリックした部分の表示を切り替えるって意味じゃないなら
どういう意味なんですか。
817Name_Not_Found:04/07/26 19:05 ID:???
>>816
>>813じゃないけど、単に全部閉じてから表示させるのは良いとして、
その開く時点で、開くのか閉じるのか、どちらの動作かを判断させ、
閉じたい場合は開く処理をスキップするとかそういうのはダメなの?
818Name_Not_Found:04/07/26 19:09 ID:???
もうほっとけ。
疲れるだけだから。
819785:04/07/26 19:18 ID:???
>>805
>evalを使うのはダサイ。「window['s'+i]」でいいんでしょ
それです!そんなのを探してたんです。
本当にありがとうございます。
820Name_Not_Found:04/07/26 19:18 ID:???
説明できないだけだろw
821Name_Not_Found:04/07/26 19:50 ID:2JNPG1Pn
>>817
作ってみました。

<script Language="JavaScript"><!--
var DivElements = document.getElementsByTagName("div");
function exMenu(id){
switch(document.getElementById(id).style.display){
case "none":
for (var i = 0; i < DivElements.length; i++) DivElements[i].style.display = "none";
if(document.getElementById(id).style.display == "none")
document.getElementById(id).style.display = "block";
else document.getElementById(id).style.display = "none";
break;
case "block":
if(document.getElementById(id).style.display == "none")
document.getElementById(id).style.display = "block";
else document.getElementById(id).style.display = "none";
break;
}
}
//--></script>

0から組んで一応上手く動いたので間違ってはいないと思いますが。
でも809さんのやり方のほうが全然スマートですね。
822Name_Not_Found:04/07/26 19:54 ID:???
と思ったら816は出来てなかった・・・。821が正解か。
823Name_Not_Found:04/07/26 19:54 ID:???
こんなのは状態を別途持っとく方がずっと楽。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title><style type="text/css">
div { background-color: yellow; width: 80px; height: 40px; position: absolute }
#d0 { top: 40px; left: 40px } #m0 { top: 80px; left: 40px; display: none }
#d1 { top: 40px; left: 120px } #m1 { top: 80px; left: 120px; display: none }
#d2 { top: 40px; left: 200px } #m2 { top: 80px; left: 200px; display: none }
</style><script type="text/javascript">
var status = [false, false, false];
function sel(n) {
if(status[n]) {
document.getElementById('m'+n).style.display = 'none'; status[n] = false;
} else {
for(var i = 0; i < 3; ++i)
document.getElementById('m'+i).style.display =
(status[i] = (i==n))? 'block' : 'none';
}
}
</script></head><body>
<div id="d0" onclick="sel(0)">0</div><div id="d1" onclick="sel(1)">1</div>
<div id="d2" onclick="sel(2)">2</div><div id="m0" onclick="sel(0)">0</div>
<div id="m1" onclick="sel(1)">1</div><div id="m2" onclick="sel(2)">2</div>
</body></html>
824Name_Not_Found:04/07/26 20:06 ID:???
もう>>782のお付き合いはやめちゃっていいんじゃないの?

1. HTMLのオブジェクトを取得するには、document.getElementById()をつかう
2. 各々のメニューの状態は配列で管理する
3. evalは使わなくてもできる

これだけのヒントが出ているんだから、あとは自力でできないと
どーしようも(ry
825Name_Not_Found:04/07/26 20:15 ID:???
>>822
自分で解を作れたならスレ的にも本懐。アホが一人いるみたいだが気にするな。初心者ですとか他人任せとかしない限り無問題。
826Name_Not_Found:04/07/26 20:21 ID:???
event.button以外にマウスボタンの値を取得する方法はないでしょうか。
buttonプロパティだとonmousedownとmousemoveイベント位でしか取得出来ないので…。
827Name_Not_Found:04/07/26 20:24 ID:???
CASEの中にIFって結構荒業っていうか強引でない?
まぁ俺には配列で状態を管理とかわけわかめなんで何も言えんけど。。
828Name_Not_Found:04/07/26 20:49 ID:???
>>826
そもそもMacとかマウスボタンが1つしかない環境もあるけど…
それにmousedownとmousemove以外ってマウスボタン押してない
から情報もないってことじゃないの?
829Name_Not_Found:04/07/26 20:54 ID:???
なんかやけに伸びてるな
830Name_Not_Found:04/07/26 21:37 ID:rjoz5eIR
HTMLのLINK要素で参照しているCSSファイル中でimportされているCSSファイルの
パスを取り出したいのですが、何か上手い方法はありますか?

何がしたいのかというと、あるHTMLで使用されている全てのCSSファイルのパスを
知りたいというわけです。
831Name_Not_Found:04/07/26 21:46 ID:???
>>830
まずはDOM CSSでルールの中からimport探してそのhrefを参照
とかいう普通のことをやってみては?
832Name_Not_Found:04/07/26 22:02 ID:???
>>830
IEだと普通のDOM2CSSは使えないので
document.styleSheets[n].imports[m] を参照することになる。
833Name_Not_Found:04/07/26 22:20 ID:rjoz5eIR
>>831-832
おおありがとうございます。mozillaでCSSImportRuleさがすという方法で
なんとかできました。
しかしIEの方が楽そうですね。
834Name_Not_Found:04/07/26 23:05 ID:???
クマクマ
835Name_Not_Found:04/07/27 11:26 ID:???
width = p2.getX() - p1.getX();
height = p1.getY() - p2.getY();

String style, textstyle;

if ( scale <= 15000) {
style = "fill:#FF0000;fill-opacity:0.15;stroke:#FF0000;stroke-width:0.8";
textstyle = "fill:#FF0000;font-size:80;fill-opacity:0.4";
} else {
style = "fill:#0000FF;fill-opacity:0.15;stroke:#0000FF;stroke-width:0.8";
textstyle = "fill:#0000FF;font-size:80;fill-opacity:0.4";
}

fill-opacity:0.4とは、何を示す言葉なんですか?
836Name_Not_Found:04/07/27 12:14 ID:???
ぐぐれ。
837835:04/07/27 13:43 ID:???
>>836
ぐぐりましたが、説明と思われるところはありませんでしたので教えてください。
838Name_Not_Found:04/07/27 13:54 ID:???
ソレSVG関係だよね。opacity=透明度。つまり半透明な色で塗りつぶす
とこどで、その透明度を指定している。
839Name_Not_Found:04/07/27 13:58 ID:???
840Name_Not_Found:04/07/27 15:06 ID:???
てか>>835の冒頭4行ぐらいが禿しくJavaScirptじゃなさげなんだが。
841835:04/07/27 15:15 ID:???
>>838-840
ありがとうございました。
>>840
お察しのとおり、これは元々JAVAのプログラムの一部ですが、JAVAスレでスクリプトだと言われてこちらに来ました。
842Name_Not_Found:04/07/27 15:20 ID:???
>>841
その言われたところに次のを貼っといて。
「バカヤローJavaとJavaScriptの区別もつかんくせに知ったかな
誘導するんじゃねーよ!! (JavaScriptスレ住人一同)」
843Name_Not_Found:04/07/27 18:02 ID:???
Javascriptを利用して、HTML中にある「<!--コメント-->」
という文字列の、「コメント」という部分だけを抽出して表示するようなことは可能でしょうか?
844Name_Not_Found:04/07/27 18:49 ID:???
>>843 こういう感じ?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var a = document.body.innerHTML.replace(/\n/g, '').split(/<!--/);
a.shift();
for(var i in a) a[i] = a[i].replace(/-->.*$/, '');
alert(a.join('|'));
}
</script>
</head><body>
<div><!-- コメント -->普通のテキスト</div>
<div><!-- コメント -->普通のテキスト</div>
<div><!-- コメント -->普通のテキスト</div>
<p><a href="javascript: test()">test</a></p>
</body></html>
845Name_Not_Found:04/07/27 19:14 ID:???
>>843
CommentNodeからnodeValueを取得するのが一応の正攻法。
846Name_Not_Found:04/07/27 20:38 ID:???
JavaScriptってhtmlに埋め込むのと、外部ファイルに作るのってどっちがいいの?
847Name_Not_Found:04/07/27 20:40 ID:???
>>846
用途次第だろう。
848Name_Not_Found:04/07/27 22:12 ID:???
>>845 なるほど。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function extract(n, a) {
if(n.nodeType == 8) a.push(n.nodeValue);
for(var i = 0; i < n.childNodes.length; ++i) extract(n.childNodes[i], a);
}
function test() { var a = new Array; extract(document, a); alert(a.join('|')); }
</script>
</head><body>
<div><!-- コメント -->普通のテキスト</div>
<div><!-- コメント -->普通のテキスト</div>
<div><!-- コメント -->普通のテキスト</div>
<p><a href="javascript: test()">test</a></p>
</body></html>
849Name_Not_Found:04/07/27 22:17 ID:???
イベントハンドラは--<script type="text/javascript"><!--
//></script>--を記載しなくても良いんだよね?
850Name_Not_Found:04/07/27 22:22 ID:???
>>849
HTML中に書くハンドラでは書きようがないだろ。
<body onload="...">
JavaScript中でハンドラを設定する場合…
window.onload = funciton() { ... };
やっぱり書きようがないだろ。どういう場合のことを言ってる?
そもそも自分はJavaScriptソースをコメントで囲むことはとっくに
やめてる。対応しないクライアントは捨ててる。(JavaScriptが動作
しないのはそれはそれでいいけど。)
851Name_Not_Found:04/07/27 23:25 ID:???
>>850
window.document.onkeydownとか…関数の宣言と一緒に実行してしまう時には
囲むかも知れんね。<body>タグだと、範囲指定が上手くいかないときとか。
いやまあ、基本的にないわな。
852Name_Not_Found:04/07/27 23:57 ID:???
>>851
理解できん。「宣言と一緒に実行」の例を書いてみせてよ。
853Name_Not_Found:04/07/28 05:01 ID:???
質問です。ある要素の、CSS で指定された属性(色、装飾など)を
JavaScript から読み出すことはできないでしょうか?

やりたいことは、リンクを複数並べて、最後にクリックしたものだけが他の
リンクと色が違うようにしたいのです。

どなたか、お願いいたします。
854Name_Not_Found:04/07/28 07:34 ID:???
>>853
<a href="#" style="color:red" onclick="alert(this.style.color)">リンク</a>
みたいなこと聞いてる?
855Name_Not_Found:04/07/28 08:10 ID:???
>>854
この現スレで2回も「その方法ではCSS側で指定した色は読み出せない」
という話が出ていて読み出す方法も説明されているんだが。おまけに
質問者の意図からしたら役に立たないよな。
>>853
CSSで指定したものを読み出すのは面倒なわりに「最後にクリックした
もの」とほとんど関係ないだろ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
a, a:visited, a:active { color:brown }
</style>
<script type="text/javascript">
var last = null;
function chg(e) {
if(last != null) last.style.color = 'brown';
last = e; e.style.color = 'green';
}
</script>
</head><body>
<p><a href="http://www.yahoo.com" target="t" onclick="chg(this)">yahoo<a></p>
<p><a href="http://www.google.com" target="t" onclick="chg(this)">google<a></p>
<p><a href="http://www.goo.ne.jp" target="t" onclick="chg(this)">goo<a></p>
</body></html>

856Name_Not_Found:04/07/28 08:19 ID:???
>>855
「ある要素の、CSS で指定された属性」ってだけじゃ
style要素による指定かstyle属性による指定か解らんから
メンド臭くない方を例示して聞いただけだが。
857Name_Not_Found:04/07/28 10:57 ID:???
java scriptを外部から読み出したいんだけど、この際、複数の命令を1つの外部ファイルに
まとめてもいいの?
858Name_Not_Found:04/07/28 11:25 ID:???
意味わからん
859Name_Not_Found:04/07/28 11:26 ID:???
>>857
命令ってのは関数のことだと思うけど
いいよ。
860Name_Not_Found:04/07/28 12:21 ID:???
>>835
VBScript?
まぁ、どうでもいいけど。
861853:04/07/28 13:05 ID:???
>>854-856
ありがとうございます。要素の属性は、外部CSSファイルで指定されていて、
JavaScript とは無関係にデザイナーさんが変更する可能性があるのです。

その読み取り方は、このスレですでに紹介されていたのですね。失礼しました。
>>396 http://www.oreillynet.com/pub/a/javascript/excerpt/JSDHTMLCkbk_chap5/index5.html
が、まさに望んでいたものでした。ありがとうございました。
862857:04/07/28 14:48 ID:???
ありがとうございます。
ちなみに、外部ファイルはひとつのHTMLに何個まで読み込めるんですか?
863Name_Not_Found:04/07/28 15:05 ID:???
>>862
制限なんかないけどね。あまり多くすると遅くなるだろうけど100個
とかならまあ問題ないよ。
864857:04/07/28 15:14 ID:???
そうなんですか、先ほど外部ファイルを2つほど作成し、1つのHTMLファイルで
2つ.jsファイルを読み込ませようとしたところ、どうしてもどちらか1つしか読み込んでくれず、
現在も悪戦苦闘しております。

865Name_Not_Found:04/07/28 15:22 ID:???
>>864
同じ関数名でもあるんじゃないかなと思ったりした
866857:04/07/28 15:27 ID:???
いま確認したところ特に同じものはありませんでした。
ちなみに、1つの外部ファイルに複数の処理を書いて試したんですが、一番最初に
書いた処理しか、実行してくれません。
867Name_Not_Found:04/07/28 15:38 ID:???
できることができないのはどこか間違ってるからだろ。
全部晒すか自分で間違いを探せ。
868857:04/07/28 15:43 ID:???
全部載せると大変になるので、問題があると思われる。複数の処理のつなぎ目を載せます。
for (i=1; i < n; i++){
y[i]=Math.round(Y[i]+=(y[i-1]-Y[i])*speed);
x[i]=Math.round(X[i]+=(x[i-1]-X[i])*speed);
}
ClockAndAssign();
setTimeout('Delay()',20);
}
if (ns||ie)window.onload=Delay;

/*-------別のスクリプト-------------*/
var TC = 0;
var Msg = "ようこそ!お料理のページへ";
var timer = 0;
function Mess() {
if (TC < 1000) {
TC++;
document.title = Msg;
Msg = Msg.substring(2,Msg.length) + Msg.substring(0,2);
var timeID=setTimeout("",1);
clearTimeout(timeID);
timeID=timer = setTimeout("Mess()",500);
}
else { document.title = " " }
}
869Name_Not_Found:04/07/28 15:57 ID:???
>>868
そんな断片じゃ何とも言えないだろ。まず前半は「{」と「}」の
数が合わないしClockAndAssign()もDelay()も関数定義がないし。
後半はなぜ空文字列でsetTimeout()呼ぶのか分からんし即clearTimeout()
してるのもわからんしtimeIDがローカル変数なのもわけわからんし、
要はアンタがプログラミング下手すぎて失敗してるとしか思われん。

下のようなサンプルで「2つとも読み込めていること」「片方の中から
他方で定義した関数を呼べていること」が確認できるが何か?
---main.html---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<script type="text/javascript" src="t1.js"></script>
<script type="text/javascript" src="t2.js"></script>
</p><a href="javascript: test1()">test</a></p>
</body></html>
---t1.js---
alert('t1.js reading.');
function test1() { alert('Test1'); test2(); }
---t2.js---
alert('t2.js reading.');
function test2() { alert('Test2'); }
870857:04/07/28 16:04 ID:???
個別では実行できています。
上のに関しては、if (ns||ie)window.onload=Delay;の後ろに”}”を付けると逆に実行されなくなります。
871Name_Not_Found:04/07/28 16:06 ID:???
>>870
どっかにアップロードしてURIを晒せ。しかしどっちかというと
あんなボロボロなコードを大量に見たくはないけどね。まあ別に
見ようと見まいとこっちの勝手で怖いもの見たさもあるけどね。
872857:04/07/28 16:08 ID:???
ちなみこのコードは私が書いたものではなく、サンプルをお借りして複数実行しようと
しただけです。
873853:04/07/28 16:09 ID:???
javascript:var a=""; for(var i in document.getElementsByTagName("a")[0].style){a+=i +"<br>";}; document.write(a);undefined;

javascript:alert(document.getElementsByTagName("A")[0].style.visitedcolor);



すみません、先ほどの者ですが、あるリンクにフォーカスがあっても
周囲に点線が出ないようにするのは、JavaScript ではどう指定したら
良いでしょうか?

CSS なら
a:aciteve {border-style:none}
あたりでうまく行きそうですが、JavaScriptで個別の要素に設定する方法が
分からないのです。

具体的には、一度クリックしたリンクは、他のリンクがクリックされるまで
点線が表示されないようにしたいのです。

よろしくお願いします。
874853:04/07/28 16:10 ID:???
すみません、>>873 の冒頭のコードは意味がありません。ただのゴミで、範囲
選択のミスによるものです。
875Name_Not_Found:04/07/28 16:17 ID:???
>>873
考え方としては、onfucus の時に blur() してあげる、という方向で。
要素に onfocus="this.blur();" と書いてもいいし、
DOM にアクセスしてオブジェクトを取得して、

obj.onfocus = function(){ this.blur(); }

とするのも可。
ただし、マウス無しではそのアンカーなりを叩けなくなる諸刃の剣。
初心者には以下略
876Name_Not_Found:04/07/28 16:25 ID:???
>>872
だったらなおさら、「食べ合わせ」が悪いかなんかだろ。
アップロードして動かない状況が再現してれば誰かが究明
してくれると思うけどね。それなしでグダグダ言っても
どうにもならんね。漏れは用事があるから出かける、さいなら。
877853:04/07/28 16:30 ID:???
>>875
ありがとうございます。実は、最後にクリックしたリンクだけを無効に
して、地の文と変わらなくしたいのです。これらのリンクは、フレームの
左メニューです。

obj.onfocus = function(){ this.blur(); }
としましたが、リンクをクリックした直後には、点線が消えてくれません。
一度別の場所に(TABキーなどで)フォーカスを移し、もう一度クリックすると
今度はちゃんと点線が非表示になるのですが。

obj.onfocus = function(){
this.blur();
document.getElementsByTagName("BODY")[0].focus();
}
などとしても同じでした。

これは IE6 でも Mozilla 1.7 (Sylera) でも同じでした。
クリックの直後も点線が表示されないようにできないでしょうか。
878Name_Not_Found:04/07/28 16:46 ID:6u3kfU39
<html>
<head>
<script type="text/javascript">
function test()
{
document.getElementById('check01').checked = true;
document.getElementById('check02').checked = false;
document.getElementById('flag').checked = true;
}
</script>
</head>
<body onLoad="test()">
<form name="test01">
<input type="checkbox" name="check01">check01<br>
<input type="checkbox" name="check02" checked>check02<br>
<input type="radio" name="flag" value="0" checked>0
<input type="radio" name="flag" value="1">1
</form>
</body>
</html>

このような時、フラグのvalue==1の方だけをchecked にする方法が良くわかりません。
実際はforでグリグリ回しながらgetElementById('check0'+i)のように状況に応じて一気に変更
したいとおもっています。
よろしくお願いします。
879Name_Not_Found:04/07/28 17:11 ID:???
ページ(1):ページ(2)へのリンクで、クッキーに画像のパスを保存
ページ(2):クッキーからパスを呼び出し、imgタグに埋め込んで画像表示
というようにしたいのですが、どのようにしたらよいでしょうか。
わからないなりに数日間色々してみて、クッキーの書き込みまでは上手くいったのですが
クッキ−読み込み→imgタグに埋め込んで表示 がサッパリできません。

●ページ(2)
<html><head>
<script language="javascript" src="../js/cookie.js"></script>
</head>
<body>
<script language="JavaScript">
document.writeln('<img src="img(画像用のフォルダ)/'+name+'" width="10" height="10" alt="'+name+'">');
</script>
</body></html>

●外部JavaScriptファイル(cookie.js)
name=loadCookie()
function loadCookie(){
tmp = document.cookie+";";
tmp1 = tmp.indexOf("cookie_name",0);
if(tmp1 != -1){
tmp = tmp.substring(tmp1,tmp.length);
start = tmp.indexOf("=",0);
end = tmp.indexOf(";",start);
return(unescape(tmp.substring(start+1,end)));
}
return("");
}

おそらくとんでもなく簡単なんだろうとは思うのですが…
初歩的で申し訳ありませんが、どうかよろしくお願いします。
880875
>>877
どうか。

<script type="text/javascript">
window.onload = function(){
var tmp = document.getElementsByTagName("a");
for(var i=0 ; i<tmp.length ; i++){
tmp[i].onfocus = function(){ this.blur(); }
}
}
</script>

<ul>
<li><a href="#">ふんにゃか ふんにゃか</a></li>
<li><a href="#">ふんにゃか ふんにゃか</a></li>
<li><a href="#">ふんにゃか ふんにゃか</a></li>
<li><a href="#">ふんにゃか ふんにゃか</a></li>
<li><a href="#">ふんにゃか ふんにゃか</a></li>
<li><a href="#">ふんにゃか ふんにゃか</a></li>
<li><a href="#">ふんにゃか ふんにゃか</a></li>
<li><a href="#">ふんにゃか ふんにゃか</a></li>
</ul>