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

1 名前:Name_Not_Found 投稿日:04/01/26 14:59 ID:???
━━━━━JavaScript質問スレ道場訓━━━━━
 一、礼節を重んじ常に努力精進すること
 一、ブラクラに打ち勝つ精神力を持つこと
 一、心身の優れたJavaScriptを学ぶこと
 一、雑草の如く生涯JavaScriptを貫くこと
 一、感謝と反省を忘れないこと
 以上
━━━━━━━━━━━━━━━━━━━━━━

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

前スレ http://pc2.2ch.net/test/read.cgi/hp/1070943773/l50
過去ログ・関連資料・その他質問スレは >>1-10

2 名前:Name_Not_Found 投稿日:04/01/26 15:00 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://pc2.2ch.net/hp/kako/1041/10417/1041701828.html
vol.16 (倉庫)http://pc2.2ch.net/hp/kako/1045/10452/1045265973.html
vol.17 (倉庫)http://pc2.2ch.net/hp/kako/1047/10478/1047807902.html
vol.18 (倉庫)http://pc2.2ch.net/hp/kako/1051/10510/1051020507.html
vol.19 (倉庫)http://pc2.2ch.net/hp/kako/1054/10540/1054043048.html
vol.20 (倉庫)http://pc2.2ch.net/hp/kako/1056/10568/1056808693.html
vol.21 (倉庫)http://pc2.2ch.net/hp/kako/1059/10595/1059553020.html
vol.22 (倉庫)http://pc2.2ch.net/hp/kako/1062/10629/1062943541.html
vol.23 (倉庫)http://pc2.2ch.net/test/read.cgi/hp/1067085950/l50
vol.24 http://pc2.2ch.net/test/read.cgi/hp/1067085950/l50

3 名前:Name_Not_Found 投稿日:04/01/26 15:00 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://www.microsoft.com/japan/developer/library/default.asp?URL=/japan/developer/library/jpisdk/dhtml/dhtml.htm

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/

4 名前:Name_Not_Found 投稿日:04/01/26 15:00 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/

5 名前:Name_Not_Found 投稿日:04/01/26 15:01 ID:???
【関連スレ】
板違い、スレ違いに注意!サーバ側での処理はWebProg板へどぞ!

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

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

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

役に立つ書籍は?
http://pc2.2ch.net/test/read.cgi/hp/992793435/l50

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

7 名前:Name_Not_Found 投稿日:04/01/26 16:18 ID:WBeA67S6
-----------------------------------------------------------------------------
質問

数十枚ある小さなサムネール形式の写真をクリックすると、別ウィンドウで表示して
説明するスクリプトを書いたのですが、1つわかりません。
写真説明htmlは、その写真の枚数分作る必要があるのでしょうか?

これだと手間がかかってしまうので、1つのhtmlで「次の写真」「前の写真」のリンクを押すと
説明文と写真だけを差し替える方式があれば楽なのですが。
-----------------------------------------------------------------------------

前スレで上記質問をした者ですが、あれからdocument.write()を試してみたものの慣れていないせいか
まったく作ることが出来ませんでした。
サムネイルの写真自体はtableで表示する部分まで作ってあります。
あとはjavascriptを使いウィンドウに画像と説明文を表示することなのですが、その仕組み自体がわかりません。

もしよろしければ、お手すきの方で結構ですので簡単なサンプルを書いていただけませんでしょうか?

8 名前:7 投稿日:04/01/26 16:55 ID:WBeA67S6
いろいろ試すうちに、ほんの少しずつわかってきました!
そこで質問の内容を変えようと思います。

a.htmの中で表示されている01.jpg〜50.jpgのサムネイルをクリックすると別窓が表示されます。
しかし01.jpgをクリックしたとしてdocument.write("<img src='./image/01.jpg'>")としてしまうと
効率が悪くなりますよね?そこで、サムネイルの段階で何か番号を振っておけば
document.write("<img src='番号'>")となるはずなのですが、これは可能でしょうか?

なんと言い表せばよいかわからず検索できなかったのですが
この指定方法がわかれば少しだけ前に進めるような気がします。

アドバイスよろしくお願いいたします。

9 名前:Name_Not_Found 投稿日:04/01/26 17:00 ID:???
>>7-8 別にむりに番号を振らなくたっていいよ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var win = null, pos = 0, msg = ['テスト0','テスト1','テスト2','テスト3'],
file = ['t0.png','t1.png','t2.png','t3.png'];
function mv(d) {
if(pos+d < 0 || pos+d >= msg.length) return; pos += d;
if(win == null) win = window.open('about:blank', 'photo');
var d = win.document; d.open(); d.writeln('<div align="center">');
d.writeln('<img src="' + file[pos] + '"><br>');
d.writeln(msg[pos] + '<\/div>'); d.close();
}
</script>
</head><body>
<div><a href="javascript:mv(-1)">前<a>|<a href="javascript:mv(1)">次<a></div>
</body></html>

10 名前:Name_Not_Found 投稿日:04/01/26 17:12 ID:???
新スレッド立てた人、こちらもよろしく。

■ ローカルルール等リンク先更新総合スレッド 9
http://qb3.2ch.net/test/read.cgi/operate/1071312042/l50

11 名前:7 投稿日:04/01/26 17:22 ID:???
>>9
うむむ・・難しい。どういう動きになってるかが、なんとなくしかわかりません。
番号を振る件ですが、ここで一度に指定することもできたんですね。勉強になります。

試してみたのですが、左上に「前|次」と出て画像が出てきませんでした。
こちらでの画像の指定かと思い5行目のfile =[]の中を変えたのですが
これはこの場所から見た画像の場所を相対パスで書くということで合ってますでしょうか?
絶対パスでも試してみたのですが、同じ結果でした。同じく、説明文も出てきません。

こちら側での指定はどの部分で行うべきでしょうか?


12 名前:Name_Not_Found 投稿日:04/01/26 17:50 ID:e8Y578EV
質問させて下さい。

HTMLでの<noscript>を、HDMLでも使用したいのですが、

HDMLの場合<noscript>タグは使えるのでしょうか?

HDMLを説明しているサイトで調べても載っていなくて困っています…
どなたかご存知の方、また解決策をお持ちの方がいましたら、
アドバイスをお願い致します。

13 名前:Name_Not_Found 投稿日:04/01/26 17:52 ID:???
>>12
試してみれば?

14 名前:Name_Not_Found 投稿日:04/01/26 18:03 ID:???
>>11
画像はボタンを押した時はじめて出るように作ったけど。単なるデモ
だし。自由に直してよ(直せない人に一からコーチする気はないので
あしからず)。

15 名前:Name_Not_Found 投稿日:04/01/26 18:10 ID:okT2tJ7h
既にある<table>に<tr>を追加したいのですがどのようにしたら良いのでしょうか?

<table id="t">
 <tr><td>●</td><td>○</td></tr>
</table>

このようなテーブルに、document.getElementById("t").innerHTML += "<tr><td>▲</td><td>△</td></tr>";
としても表示がされません。


16 名前:Name_Not_Found 投稿日:04/01/26 18:31 ID:e8Y578EV
>13

試したいのはやまやまなんですが、HDMLを表示出来る環境がないのです。
携帯のau用のサイト作成したいんですが、私はauではないのです…
winならHDMLのサイトを表示出来るブラウザがありますが、
これも残念な事にmacなので。


HDMLで<noscript>を使用出来るかどうか、
ご存知の方、いらっしゃいませんでしょうか?

17 名前:12 投稿日:04/01/26 18:33 ID:e8Y578EV
16の書き込みは12です。すいません。

18 名前:Name_Not_Found 投稿日:04/01/26 18:34 ID:???
>>16
HDMLの公式リファレンス見ればわかるだろ

19 名前:Name_Not_Found 投稿日:04/01/26 18:37 ID:???
>>15 innerHTMLだとなんかうまく行かないよね。DOM2をちゃんと使えばOK。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var tr = document.createElement('tr');
var td1 = document.createElement('td');
td1.appendChild(document.createTextNode('△'));
var td2 = document.createElement('td');
td2.appendChild(document.createTextNode('▲'));
tr.appendChild(td1); tr.appendChild(td2);
document.getElementById('t0').appendChild(tr);
}
</script>
</head><body>
<table border="2" summary="test"><tbody id="t0">
<tr><td>●</td><td>○</td></tr>
</tbody></table>
<p><a href="javascript:test()">test</a></p>
</body></html>

20 名前:7 投稿日:04/01/26 18:50 ID:???
>>14
はい。これを元に試行錯誤してみます。
どうもありがとんです。

21 名前:Name_Not_Found 投稿日:04/01/26 18:54 ID:???
>>19, 15
>innerHTMLだとなんかうまく行かないよね
IEのinnerHTMLは一部の要素でreadOnlyだから(Mozは知らん)。
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/innerhtml.asp

22 名前:Name_Not_Found 投稿日:04/01/26 19:53 ID:okT2tJ7h
>>19
有り難うございます。DOM2を使うんですね。
実は質問する前に同じ事を試していたのですが、出来ませんでした。

それで分かりいい形で質問したのですが、>>19のスクリプトを見て解決しました。
私は<table id="t">として、この"t"にappendChildしてたのです(;_;)

ちゃんと<tbody>に入れないといけないんですね。summaryを入れたり、
ちゃんとDOCTYPEを入れられたり...etc。敬服です。

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

23 名前:Name_Not_Found 投稿日:04/01/26 21:49 ID:okT2tJ7h
var o = document.createElement("input");
o.setAttribute("type", "checkbox");   // <input type="checkbox">
o.setAttribute("style", "width:5px;"); // <input type="checkbox" style="width:5px">

としてもstyleが適用されません。何故なんでしょうか?

これと原因は同じなのかもしれませんが、
o.setAttribute("checked", true);
としてもcheckedとなりません。

実際にappend(o)したあとの個所をinnerHTMLで見てもtype=checkedだけは
残っているのですが、styleやcheckedの記述は消えています。

どうしてなんでしょうか?

24 名前:Name_Not_Found 投稿日:04/01/26 22:44 ID:???
>>23
>styleが適用されません。
IEの独自仕様でそうなってます。
逆に getAttribute('style') とやると[object]が返ってくるし
さらに o.style.setAttribute('width','5px')なんてのが動いたりもする。

>o.setAttribute("checked", true);
IEにはよくある話です。
o.setAttribute("defaultChecked", true); としなければ期待した結果になりません。

25 名前:Name_Not_Found 投稿日:04/01/26 22:53 ID:okT2tJ7h
>>24
xsltだとちゃんと動いていたのでまさかここで使えないとは絶句です。
styleに関してはgetAttributeで戻ってきたオブジェクトにwidth="5px";
とやると希望どおりの動きをするんですけど...。
難しいですね。
こういうのは皆、周知なの?

26 名前:Name_Not_Found 投稿日:04/01/26 22:57 ID:mZg6PH9m
質問です
グローバル変数を明示的に破棄して
メモリを解放したい時はどうすればいいんですか?

単にnullを代入するだけでいいんでしょうか?

27 名前:Name_Not_Found 投稿日:04/01/26 23:07 ID:???
>>26
それでもいいんだけど
代入した時点で解放されるとは限らず、また必ず解放されるとも限らない

28 名前:Name_Not_Found 投稿日:04/01/26 23:32 ID:???
http://www20.tok2.com/home/ilovemankonoana/

29 名前:Name_Not_Found 投稿日:04/01/27 00:31 ID:LUo24Jmo
phpがはき出すhtmlの中に、JavaScriptがあり、
そのJavaScriptの中で、「str」という変数に文字列を代入したいのですが、
文字列の中身が、何が入るか分かりません。
(つまり、ダブルクオートもシングルクオートもあり得る。)

こういう場合、どうすれば対処できるでしょうか?

一つ考えたのは、php側で、「phpが生成する文字列」の中にある「"」を「\"」に変換して、
str = "phpが生成する文字列";
とするくらいなのですが。。。
(たとえば、str = "hoge\"fuga";)
やはりこうするのが普通でしょうか?

JavaScriptにヒアドキュメントがあればらくなんですが・・・。

30 名前:Name_Not_Found 投稿日:04/01/27 00:36 ID:???
>>29
それが普通だと思います。あと「\」を「\\」にしないと。
ヒアドキュメントがあってもその中のエスケープや$を解釈
するような仕様だったら同じことだし。

31 名前:29 投稿日:04/01/27 00:57 ID:???
>>30
なるほど、ありがとうございます。ためになりますた。

32 名前:Name_Not_Found 投稿日:04/01/27 08:13 ID:???
>29
ヒアドキュメントがあったとしても、その終了文字を入れられる可能性がなくなるわけじゃないのだが。

33 名前:Name_Not_Found 投稿日:04/01/27 09:53 ID:???
http://www.google.com/ のページのように、ブラウザの優先言語を取得して
違うページを表示するスクリプトを書きたくて、以下のようにしました。
if(navigator.userAgent.indexOf("MSIE")!=-1){
var lang = navigator.userLanguage;
}else if(navigator.userAgent.indexOf("MSIE")!=-1){
var lang = navigator.userLanguage;
}else if(navigator.appName=="Netscape"){
var lang = navigator.language;
}else if(navigator.userAgent.indexOf("Gecko")!=-1){
var lang = navigator.language;
}else{
var lang = navigator.language;
}
//var lang = lang.substr(0,5);
if ( lang == "ja"){
window.location.replace('../home/jp/index.html');
}else if ( lang == "zh-cn"){
location="prc/index.html";
}else if ( lang == "zh-tw"){
location="roc/index.html";
}else if ( lang == "ko"){
location="roc/index.html";
}else{
location="../home/index.html";
}
このスクリプトを日本語Windows98で動作を確かめるには
どうすればいいでしょうか。Opera7.11の設定で言語から
日本語を削除し、中国語や韓国語を加えても、日本語と判
断されてしまいます。


34 名前:Name_Not_Found 投稿日:04/01/27 10:22 ID:???
navigator.languageはブラウザの言語(ブラウザが日本語版とか英語版とか)。
navigator.userLanguageはOSに設定されている言語(コンパネ--地域オプション--ロケール)。
ブラウザに設定されている優先言語(Accept-Language)を示すプロパティは
JavaScriptにはないのでは。

35 名前:33 投稿日:04/01/27 10:31 ID:MHPAUkux
ああ、そうですか。。。。。
Perlか何かで、HTTP_ACCEPT_LANGUAGE の値を拾ってくる
しかないのですね。
ありがとうございました。

36 名前:Name_Not_Found 投稿日:04/01/27 13:45 ID:UovDD9eL
<select>
 <option>aaa
 <option>bbb
 <option>ccc
</select>

とあった場合に、最初から右側の▼がクリックされて一覧表示されている
ように表示させたいのですが、どのようにしたら良いでしょうか?
size=4などのように行数を増やすのではなく、最初にリストが表示されて
いる状態です。

selectの部分をfocus()したり、click()したりしているのですが、リスト
表示にはならずに、単に選択された状態になってしまいます。
どのようにしたら良いのでしょうか?

37 名前:Name_Not_Found 投稿日:04/01/27 13:56 ID:???
>>36
selectの表示方法とかはブラウザに任されているのでそのあたり
制御するのは無理なんじゃないかなあ。普通に自前でメニュー作れば?

38 名前:Name_Not_Found 投稿日:04/01/27 14:11 ID:???
window.open(url, name [, style])
のstyleのところで指定できる "channelmode" とは
いったいなんですか?

ぐぐったら、シアターモードの指定をするという説明を
見つけたのですが、シアターモードもなんの事だかわかりません。

よろしくお願いします。

39 名前:Name_Not_Found 投稿日:04/01/27 14:37 ID:KHkb+2qV
プルダウンメニューでのリンクについて質問させてください。

サンプル作ってみました。
http://f29.aaacafe.ne.jp/~moco/
↑の右側の「英語」「日本語」選択をラジオボタンにしたいんです。
あと、フレーム使用でお願いします。

40 名前:Name_Not_Found 投稿日:04/01/27 14:48 ID:???
>>39
いまいち意図するところが見えないのだけど。普通に

<ul>
<li><input type="radio" id="en"><label for="en">英語</li>
<li><input type="radio" id="ja"><label for="ja">日本語</li>
</ul>

とかではいかんの?

41 名前:Name_Not_Found 投稿日:04/01/27 14:55 ID:???
.>>39
フレーム使用でお願いしますといわれても意味がわからん。
もっと具体的に説明しろ。
あとblockquoteの使い方がおかしい。

42 名前:Name_Not_Found 投稿日:04/01/27 14:58 ID:KHkb+2qV
↑すみません。
http://www.hajimeteno.ne.jp/dhtml/dist/js56.html
これで解決できそうです。

43 名前:Name_Not_Found 投稿日:04/01/27 17:29 ID:UovDD9eL
<a href="#" onClick="alert(this)">aiueo</a>
<a href="javascript:alert(this)">aiueo</a>

この場合、onClickの場合だと、urlが返ってきて、href=""の中に書く場合は
オブジェクトが返ってきます。
thisの動きが違うのですが、onClickの場合も、オブジェクトを戻すような
形で書くにはどのようにしたら良いのでしょうか?

44 名前:Name_Not_Found 投稿日:04/01/27 17:59 ID:???
>>43
<a href="#" onClick="alert(typeof this)">aiueo</a>

45 名前:43 投稿日:04/01/27 18:16 ID:UovDD9eL
すいません。>>43は勘違いでした。
実際には、<a href="" onClick="func(this)">とやっていのですが、
確認のためfunc()の頭で渡されたオブジェクトをalert()で見たら
urlが出てしまったので焦ってしまいました。

おそらく、toString()が返されてるんですよね。
------------------------------
<a href="javascript:func(this)">の場合のthisはAではないですね。
windowになるんでしょうか?

46 名前:Name_Not_Found 投稿日:04/01/27 18:23 ID:???
>>45
window です。

47 名前:Name_Not_Found 投稿日:04/01/27 23:50 ID:???
>>38
実際にやってみろ。

48 名前:Name_Not_Found 投稿日:04/01/28 11:43 ID:2ddlNtdW
すいません、質問です。

ラジオボタンの長さを取得するときに
var l = document.form.radio.length;
を使えばいいのは分かるんですが、
ラジオボタンが1つしか存在しないときに
上記の方法だと、長さを取得できません。

alertすると、undefinedが表示されます。
ラジオボタンって1つしかない時に長さって取得できないんでしょうか。
また、ラジオボタンが1つしか存在しない場合、
ラジオボタンの数を取得できる方法ってないんでしょうか。

ラジオボタンの数が可変に出力するという処理を行っており、
ラジオボタンの数を取得できなくて困っています・・・。

49 名前:Name_Not_Found 投稿日:04/01/28 12:07 ID:???
>>48
.length==undefinedなら1つと判断すればよいだろ。

50 名前:Name_Not_Found 投稿日:04/01/28 12:20 ID:???
>>48
ありがとうございます!
無事対処できますた。

51 名前:Name_Not_Found 投稿日:04/01/28 13:23 ID:QE9iIut4
こんにちわ。「NetscapeにおいてFRAMESET値変更時に再ロードを食い止めたい」
という質問です。宜しくお願いします。

【A.html】
<FRAMESET rows="10%,90%" name="a">
<FRAME SRC="B.html" name="b">
<FRAME SRC="C.html" name="c">
</FRAMESET>

というHTMLがあり、B.htmlにはJavaScriptで作成したボタン類、C.htmlにはJavaアプレットを表示する
コーディングがしてあります。

それで、B.htmlにあるボタンを押したタイミングでFRAMESETの位置を10%,90%→30%,70%に変更したいのですが、
そのボタンを押したときのコーディングを以下のようにしました。
*****************************(B.html内)*******************************
if(document.all){
top.document.all.tags('FRAMESET').item(0).rows='30%,70%';
}
else if(document.getElementsByTagName){
top.document.getElementsByTagName('FRAMESET').item(0).rows='30%,70%';
}
**********************************************************************
こうしたところ、Netscape7.0の環境においてc.htmlが再ロードしてしまうのか、
最初の「10%,90%」のときのJavaアプレットは消滅し、新しいJavaアプレットが読み込まれてしまうのです。

この「再ロード」を食い止められるようなコーディング・手段というのは存在するのでしょうか?
今回事情によりJavaアプレットを司令塔としている関係で、「消滅→再ロード」は困るのであります。

ちなみにIEではこのコーディングでは再ロードは起こらず、そのままのJavaアプレットが存続します。
また、Netscapeにおいても、手動でフレームの境界線を変更させる分には再ロードは起こりません。
なので何か手段があるのでは、と思ったわけです。どうぞ宜しくお願い致します。

52 名前:Name_Not_Found 投稿日:04/01/28 13:45 ID:cdL1fvIy
質問させてください。
ttp://wwwps.net/upframe.shtm
このtarget属性を指定できるプルダウンメニューをボタンなしで
即ち<option value="URL">ホゲサイト</option>にして
onChangeで使いたいのですが、うまくいきません。
どうしたらいいのでしょうか?
ご教授ください。宜しくお願いします。

53 名前:Name_Not_Found 投稿日:04/01/28 15:57 ID:???
<Script Language="JavaScript">document.body.onload=a;function a(){i=document.body.createTextRange();for(loop=0;i.findText("ー");loop++){i.text="━━━(゚∀゚)━━━";}}</Script> </Script>

これをチャットに発動させるようにするにはどうすればいい?
FONTタグの中に織り交ぜたいのだが


54 名前:Name_Not_Found 投稿日:04/01/28 15:59 ID:???
同じく質問です。
配列で各行に更新ボタンを配置したのですが、
どのボタンが押されたのかという判断を
するにはどうしたらよいでしょうか?
(どのボタンが押されたという情報を得るにはどうしたらよいのか)

55 名前:Name_Not_Found 投稿日:04/01/28 16:25 ID:???
>>52
<form action="null" name="pulink">
<select onchange='parent.名前.location.href=this.options[this.selectedIndex].value'>
<option>最初に表示されるテキスト</option>
<option value="URL">hoge
</select>
</form>

56 名前:Name_Not_Found 投稿日:04/01/28 16:32 ID:???
>>53
荒らし、かっこ悪い。

57 名前:Name_Not_Found 投稿日:04/01/28 16:43 ID:???
JavaScriptで使われている人気ランキングみたいのってありますか?
ぐぐってみたけどサイトのランキングしか出てこないです。。

58 名前:Name_Not_Found 投稿日:04/01/28 16:57 ID:cdL1fvIy
>>55
target属性を指定できることが無意味になるのでは?

59 名前:Name_Not_Found 投稿日:04/01/28 16:58 ID:???
質問させてください。

a×b÷2000 = の答えを算出させる式を書いています。

<script language="javascript">
<!--
function fukuri() {
a = document.keisan.taiju.value;
a = eval(a);
b = document.keisan.hosu.value;
b = eval(b);
for (i = 0; i < ; i++) {
a = a * b / 2000;
}
document.tashizan.result.value = a;
}
-->
</script>

正しい記述を教えてください。よろしくお願いします。

60 名前:Name_Not_Found 投稿日:04/01/28 17:05 ID:???
>>59
document.tashizan.result.value =
parseFloat(document.keisan.taiju.value) *
parseFloat(document.keisan.hosu.value) / 2000;


61 名前:Name_Not_Found 投稿日:04/01/28 17:12 ID:???
>>57
JavaScriptのサンプルを沢山探して
そこから使いたいものを使えばいい。
装飾的な物を探してるのなら、
「カラフル JavaScript サンプル」とかで探してみては?

>>59
for文の中の継続条件がおかしい。
あと余計なお節介だけど、form名が2種類あるのはそういうページ構成?

62 名前:59 投稿日:04/01/28 17:16 ID:???
すばやいご回答ありがとうございます。
うまくいきました。
とっても助かりました!

63 名前:59 投稿日:04/01/28 17:21 ID:???
↑は
>>60
です。すいません。

>>61
指摘ありがとうございます。
form名が2種類っていうのはコピペした時に分かりやすく変えようと思って
変え忘れたものでした。これもごめんなさい。

ちなみに質問した計算式はウォーキング時のカロリー計算です。
体重×歩数÷2000

64 名前:Name_Not_Found 投稿日:04/01/28 18:00 ID:cdL1fvIy
52ですが
<html><head>
<script language="JavaScript">
<!--
function TargetCheck(){
if(document.フォーム名.2番目.value=="2"){document.フォーム名.target="フレーム名";}
else if(document.フォーム名.2番目.value=="0"){document.フォーム名.target="_blank";}
else if(document.フォーム名.2番目.value=="1"){document.フォーム名.target="_top";}
else {document.フォーム名.target="フレーム名";}
}
-->
</script>
</head>
<body>
<form name="フォーム名">
<select name="1番目" onChange="TargetCheck();ここが分かりません">
<option value="#" selected>---</option>
<option value="http://www.google.com/webhp?hl=ja">1</option>
<option value="http://www.yahoo.co.jp/">2</option>
<option value="http://www.google.com/webhp?hl=ja">3</option>
</select>
<select name="2番目">
<option selected value="2">↓</option>
<option value="0">新</option>
<option value="1">×</option>
</select>
</form>
</body>
</html>
こんな感じで止まっているんですが、どなたか宜しくお願いします。


65 名前:Name_Not_Found 投稿日:04/01/28 19:06 ID:???
質問です。
JavaScriptから別ウィンドウのSubmitを実行するプログラムを作ってるのですが、
その際に、押したボタンをDISABLEにしたり、ENABLEにしたりするメソッドって何でしょうか?
<form name="hoge1">とした場合、[hoge1.button1.disable;]じゃ当然ダメだったんですが、
どなたか教えて下さい。

66 名前:Name_Not_Found 投稿日:04/01/28 19:11 ID:???
>>65
document.forms.hoge1.elements.button1.disabled = true;
>>64
で、どうしたいのかはっきり書いてよ。わかんないよ。

67 名前:Name_Not_Found 投稿日:04/01/28 19:22 ID:???
>>64
あとはsubmitすれば>>54のリンク先と同じようなJavaScriptになるかも。

ソースに全角使ってるけど、
わざわざ修正して手元で走らせてくれる人は居ないんじゃない?


68 名前:Name_Not_Found 投稿日:04/01/28 19:26 ID:tr1fMz1d
質問です。
1つのformの内容を同時に2つのプログラムに渡したいのですがうまくいきません。
<SCRIPT LANGUAGE = "JavaScript">
function submitform(){
document.FORMNAME.target="FRAME2";
document.FORMNAME.action="http://www.***/a.php";
document.FORMNAME.submit();
// alert("wait");
document.FORMNAME.target="FRAME3";
document.FORMNAME.action="mail/b.cgi";
document.FORMNAME.submit();
}
</SCRIPT>
<form name="FORMNAME" method="post" onSubmit = "submitform();return false;">

</form>
と書いてみましたが、a.phpには情報が渡りウインドウが開くのですが
メールデコードのb.cgiには情報が渡りません。
どうしたらいいでしょうか。
欲を言うと、両方に情報を渡した後、a.phpのウインドウのみ開きたいのですが・・・
(formのあるhtmlも閉じてしまいたい)
よろしくお願いいたします。

69 名前:Name_Not_Found 投稿日:04/01/28 19:37 ID:???
>>68
短絡的な案だけど、
b.cgiからa.phpにsubmitさせるのはどう?
・window操作なしでa.phpが残る。
・b.cgiを閉じるタイミングをはからなくていい。

70 名前:Name_Not_Found 投稿日:04/01/28 19:38 ID:???
>>68
メールデコードの php 探してきて
a.php の中で2つの処理をやればいいのでは(具体的にはWebProg板で)。

あと、解決したらこっちにもフィードバックしとけよ。
ttp://www.parkcity.ne.jp/~chaichan/qanda/qa4720.htm

71 名前:65 投稿日:04/01/28 20:42 ID:???
>>66
うまく動作しました。ありがとうございます。

72 名前:Name_Not_Found 投稿日:04/01/28 21:03 ID:v+5nq4qY
>>68
俺の環境なら動いているけどな。ブラウザは何?
ホントに動いてないのか?
試しに、両方ともdocument.FORMNAME.target="_blank"してやってみて。

73 名前:Name_Not_Found 投稿日:04/01/28 21:13 ID:???
<html>
<head>
<script language="JavaScript">
<!--
function F1() {
hoge1.message.value = "A";
setTimeout('Mes1(" *")', 200);
setTimeout('Mes2("A")', 800);
int_val = setInterval('Mes3()', 1000);
}
function Mes1(str1) {
hoge1.message.value = e.message.value + str1;
}
function Mes2(str1) {
hoge1.message.value = str1;
}
function Mes3() {
hoge.message.value = "A *";
setTimeout('Mes1(" *")', 200);
}
-->
</script>
</head>
<body>
<form name="hoge1" onLoad="F1()">
<input type="text" name="message" value="">
</form>
</body>
</html>

74 名前:73 投稿日:04/01/28 21:15 ID:???
>>73のコードで、Text内に

A
A *
A
A *
A * *
A *
A * *

…ってかんじで、最初は*が点滅しながら2つまで増え、
その後は2つ目の*が点滅を繰り返すものを作りたいんですが、うまくいきません。
レクチャーをお願いします。

75 名前:Name_Not_Found 投稿日:04/01/28 21:39 ID:???
ウィンドウの表示幅を指定するためにはjavascriptを使うしか手段がないのでしょうか?
普段切っている人も多いと聞きましたので、その他手段がないかと考えました。

76 名前:Name_Not_Found 投稿日:04/01/28 21:47 ID:???
>>75 となるとJavaScriptの質問ではないですね。よそへどぞ。
>>74 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var count = 0;
var msg = ['A','A *','A *','A *','A *','A','A','A','A','A','A *','A * *'];
function step() {
document.getElementById('p0').innerHTML = msg[count++];
if(count >= msg.length) count -= 2;
}
</script>
</head><body onload="setInterval(step,200)">
<p id="p0">A</p>
</body></html>

77 名前:Name_Not_Found 投稿日:04/01/28 21:47 ID:???
>>74
まず、 onload は body 要素に書け。

78 名前:73-74 投稿日:04/01/28 22:11 ID:???
>>77
しまった…。しかもhoge1→eとかhogeになってるし。
ってことで、漏れのチョンボですた。スマソ&サンクス

>>76
どうもあるがとうございますでつ。
実は、TEXT内はこの後、点滅をやめて他の文字列に切り替えたりするんで
(アクション毎に異なる様々なメッセージを流す)
その処理待ち表示の為に、点滅する文字列を作ったんです。

79 名前:Name_Not_Found 投稿日:04/01/28 22:20 ID:???
>>78
だから好きなようにしたらいいじゃん。あんたのために全部書く
奴などいない。ちなみにsetInterval()を止めるのはclearInterval()
だから。

80 名前:Name_Not_Found 投稿日:04/01/28 23:14 ID:???
質問です

スミマセンここには初めてですし、激しく既出でしたらもし訳ないですが教えてください。
大量のデータをロード中に、Onchickのイベント等でJavaScriptの関数を呼んだ場合
スクリプトエラーを起こしてしまいます。もちろん完全にロード後はエラーは
発生しないのですが・・・。

何かエラー回避の方法はあるのでしょうか?

81 名前:Name_Not_Found 投稿日:04/01/28 23:21 ID:???
>>80
そんなヒヨコに関するイベントハンドラはない!

82 名前:Name_Not_Found 投稿日:04/01/28 23:24 ID:???
>>80
ロードし終わるまでonclickで何も値を返さなければいいんじゃない?

83 名前:Name_Not_Found 投稿日:04/01/29 00:02 ID:???
HTML未読み込みによるエラーって気付きにくいよな。
構文は間違ってないだけに。

>>80
そもそも読み込んでないものに対して処理しようとする理由がわからん。

エラー回避策としては・・・
未読み込み部分に全く関係ない処理ならHTMLデータの前の方に持ってくるだけでいい。
onClickより前のHEAD内とか。

84 名前:Name_Not_Found 投稿日:04/01/29 01:32 ID:???
>>80
<head>
<script type="text/javascript">
var doc_loaded = false;
window.onload = function(){ doc_loaded = true; };

function func1(){
    if(doc_loaded != true) return;
    // func1 の処理;
}
</script>
<body>
<p><a href="hoge.html" onClick="func1();">クリックするとhoge実行</a></p>
</body>
</html>

とかどう?

85 名前:84 投稿日:04/01/29 01:33 ID:???
head 閉じ忘れた。
そもそも html 開いていない。
スマソ。

86 名前:Name_Not_Found 投稿日:04/01/29 01:51 ID:3QH3ZooZ
質問なのですがステータスバーに
ハワイの時刻を表示したいのですがどうすればいいでしょうか?
日本より19時間遅れています。ハワイは今〜〜時〜〜分です。って
流したいんですが…よろしくお願いします

87 名前:Name_Not_Found 投稿日:04/01/29 02:05 ID:???
>>86
{
    getHours とかを使って、表示する文字列を作る。
    それをステータス(バー)オブジェクトに放り込む。
}
上記を、一定時間ごとに繰り返す。

くれぐれも、ステータスバーの本来の機能(リンク先を表示したりとか)を
損なわないように、工夫しる。

88 名前:Name_Not_Found 投稿日:04/01/29 05:25 ID:???
単発質問です。

オブジェクトの表記を省略する時
d=document.form1.input1;
d.value='hoge';
としますよね

これを
d=document.form1.input1.value;
d='hoge';
とすると d が上書きされるだけで上手く行きませんよね

これは代入する範囲によって、
1.ポインタのような役割を果たすのか
2.ポインタの実体を代入するのか
自動的に切り替わると解釈してもいいですか?


89 名前:Name_Not_Found 投稿日:04/01/29 06:31 ID:???
>>88
そんな難しい話じゃない。
JavaScriptは代入される値によって型が変換されることによるもの。
文字列を代入したから文字列になっただけ。

90 名前:Name_Not_Found 投稿日:04/01/29 06:50 ID:???
どなたか、ActiveX等(ScriptX)を使用しないで、
プリンターのフッタやヘッダの文字を出さないようにする方法を
教えてくれませんか?もしくは、それに関する方法の載ってる
ページなどを教えて貰えると、すごく助かります。

91 名前:Name_Not_Found 投稿日:04/01/29 07:37 ID:???
>>90
そんな方法あったらScriptXなんて存在しません。

92 名前:Name_Not_Found 投稿日:04/01/29 08:36 ID:???
>>89
なんつー半可通で嘘八百な回答だ。nullかな。皆鵜飲みにしないように。
その代入でどこにも変換なんか起きてないつーの。
>>88
ちょっと聞きたいんだけど。もしも
d=document.form1.input1.value;
とやる前に
d=document.form2.input2.value;
というのが実行されていたとしたら、dへの代入で
何が起きると期待するわけ?プログラム言語はアンタの
勝手な期待に応えるようにはできてません。

93 名前:Name_Not_Found 投稿日:04/01/29 14:02 ID:???
質問です。

1.AREAタグを使用する事で、範囲を指定してその範囲内をクリックすると
 イベントが発生する事は知ってます。
 では、TABLEタグの中で、任意のセル内をクリックすると、
 範囲を指定せずとも同じようにイベント発生をさせる事は可能ですか?
2.ボタンを任意の大きさに指定して表示させるメソッドってありますか?
 ボタンのVALUEに入る文字数はそれぞれ異なるが、大きさを統一したいので。

94 名前:Name_Not_Found 投稿日:04/01/29 14:09 ID:???
>>93
1. NN4 とかでなければ可能です。
2. そういうのはスタイルシートでやるのがよいかと。

95 名前:Name_Not_Found 投稿日:04/01/29 14:17 ID:???
>>94
ありがとうございます。
では、<TD onMounseOver="hoge()">とすればOKでしょうか?
あと、この場合BORDER上はセル内部でないので範囲外と思ってよいのでしょうか?
再度の質問で申し訳ないです。

96 名前:Name_Not_Found 投稿日:04/01/29 14:25 ID:???
>>95
ブラウザによって違うんじゃないでしょうか。

97 名前:Name_Not_Found 投稿日:04/01/29 14:42 ID:???
>>92
いやこれ、結構難しいよ。きちんと説明しようとすると。

>>88
このコードは、
documument.form1.input1.value = "hoge";

以下の3つのコードと同じ。
var d = documument;
d.form1.input1.value = "hoge";//…(1.1)

var d = document.form1;
d.input1.value = "hoge";//…(1.2)

var d = document.form1.input1;
d.value = "hoge";//…(1.3)


しかし、このコードとは違う。これだと、あなたの言うとおり、
フォームの値が書き換わらない。
var d = document.form1.input1.value;
d = "hoge";//…(2)


98 名前:Name_Not_Found 投稿日:04/01/29 14:45 ID:???
>>97の続き

value は、input1の保持する値へのアドレスを保持したポインタである。
"hoge"も「hoge」という値へのアドレスを保持したポインタである。
上の式ではどれでもポインタに収められたアドレスの代入が行われている。
すべてにおいて、値"hoge"自体の代入は行われていない。
つまり、値の代入とアドレスの代入が場合によって切り替えられている、という
あなたの考察は間違い。

同じように、d もそれぞれのオブジェクトへのアドレスを保持したポインタである。

ここから先、説明に困ってるんだが、
(1.1) 〜 (1.3) までは、d に保持されたアドレスは書き換えられてないだろう?
書き換えられたのは、value に保持されたアドレスだ。
しかし、(2)では、d に保持されたアドレス自体が書き換えられている。
value は d とは関係なく、元の値を保持している。

この辺は、ポインタの扱いに慣れたら当たり前なんだが、説明を求められると
なかなか困るな。

誰かもっとうまく説明できんか?おながいします。

99 名前:Name_Not_Found 投稿日:04/01/29 14:53 ID:???
>>98 に補足

この内容、話を単純化するために意図的に不正確にしてある。
だから
「value は単なるポインタじゃないだろ」
「"hoge"の代入がアドレスの代入かどうかは、実装依存だろ」

とかのツッコミはノーサンキューだ。

100 名前:Name_Not_Found 投稿日:04/01/29 15:07 ID:???
>>1
JavaScriptとJavaの違いが分からん香具師なんかいねーだろw

101 名前:Name_Not_Found 投稿日:04/01/29 15:18 ID:???
…ポインタなんて実装上の話すっとばしていいと思うんだけど。
「代入演算子は、左辺の変数に右辺の評価結果の値(オブジェクト含む)を代入する」
じゃ、却って混乱するのかな。

102 名前:Name_Not_Found 投稿日:04/01/29 15:33 ID:???
>>97-99
あんた黙ってくんないかな。自分一人で混乱してれば。
>>100
たくさん実在するよ。
>>101
どっちかというとプロパティに言及しないと理解しづらい。
var d = document.form1.input1;
では変数dに入力部品オブジェクトが入る。続いて
d.value = なんとか
でその入力部品オブジェクトのvalueプロパティが設定される
から入力欄の中身が書きかわる。
var d = document.form1.input1.value;
では変数dには入力部品オブジェクトのvalueプロパティの値
つまり単なる文字列が入る。続いて
d = なんとか
では変数dにそのなんとか、を入れるだけで、入れる前の値は
失われるし、入力部品には何の影響もない。

103 名前:Name_Not_Found 投稿日:04/01/29 15:45 ID:???
javascriptでは数値、文字列、倫理はプリミティブ型です。
オブジェクトはポインタです。

                糸冬 了

typeof document.form1.input1; // object
typeof document.form1.input1.value // string

104 名前:Name_Not_Found 投稿日:04/01/29 16:32 ID:???
JavaScriptに倫理なんてものがあったとはシラナカータよ(ry

数値オブジェクトも文字列オブジェクトも論理オブジェクトも
存在はするよ。でなかったらメソッドが呼べまい?

105 名前:Name_Not_Found 投稿日:04/01/29 17:18 ID:???
最初のころはプロパティの書き換えとメソッドの区別がよくわかんなかった

106 名前:Name_Not_Found 投稿日:04/01/29 17:40 ID:BXjsLdpN
論理オブジェクトって何?

107 名前:Name_Not_Found 投稿日:04/01/29 17:45 ID:???
>>106
Booleanオブジェクト

108 名前:88(d=document...) 投稿日:04/01/29 18:06 ID:???
皆様回答ありがとうございますm(_ _)m

とりあえずHTMLに設置済みのオブジェクトの値に対しては
d.value が省略の限界ということですね。



109 名前:Name_Not_Found 投稿日:04/01/29 18:47 ID:BXjsLdpN
>>107
へぇ〜。true や false を専門家は論理オブジェクトと呼ぶのか。

110 名前:Name_Not_Found 投稿日:04/01/29 19:02 ID:???
>>109
true/falseという値を論理オブジェクトとは言いません。
論理(Boolean)値と論理(Boolean)オブジェクトは別の概念です。

111 名前:Name_Not_Found 投稿日:04/01/29 19:40 ID:???
new Boolean(true|false|null|NaNなど)で論理オブジェクト生成。

112 名前:Name_Not_Found 投稿日:04/01/29 20:23 ID:4AmscsBX
http://cweb.canon.jp/camera/eosd/index.html
のTOPICS部分みたいに、iframeをロールオーバーで上下で操作したいです!

教えてください!!

113 名前:Name_Not_Found 投稿日:04/01/29 20:40 ID:???
>>112
onmouseover で scrollBy を setInterval で繰り返し実行し
onmouseout で clearInterval、とかその辺では。

114 名前:Name_Not_Found 投稿日:04/01/29 20:55 ID:kWhxi0JQ
ウインドウサイズを最大化するにはどうしたらいいでしょう?
新たにウインドウを開かずに、今見ているウインドウを最大化したいんです。

resizeTo( x , y )
ですることになると思うのですが、
検索しても最大化するのが出てきません。
x=screen.width;
y=screen.height;
moveTo(0,0);
resizeTo(x,y);
が限界でしょうか?

これだと画面いっぱいのサイズにはなりますが、
右上の最大化ボタンが押された状態にはなりません。
右上の最大化のボタンが押された状態にしたいのです。

115 名前:Name_Not_Found 投稿日:04/01/29 21:51 ID:???
質問というには漠然としているのだけど、ちょっと書かせてください。
JavaScriptで継承をするとき、どんなやり方をするのが良いと思いますか?

http://starry.night.nu/diary/?key=183
このやり方が割とよいと言われているけど、あまりそうは思えない。
instanceof 演算子が使えないからです。
現代の JavaScript の機能をもっとも生かす形で継承を行えるのは
どんなやり方だと思いますか?

//instanceof が使えないことを示すサンプルコード

var A = function(){};
var A2 = function(){};
A2.protopype = A.prototype;

var B = function(){};
B.prototype = new A2();

var b = new B();

alert(b instanceof B);// true になる。
alert(b instanceof A);// false になってしまう!


116 名前:Name_Not_Found 投稿日:04/01/29 21:57 ID:BXjsLdpN
<style>
.test { color:red; }
</style>

これで、class="test" などとなっているものをあるアクションで全て
color:black; などと変更したいのですが、どのようにしたら良いのでしょうか?

document.getElementsByTagName("style")[0].innerHTML = ".test {color:blue;}";
としてみましたが、この部分のinnerHTMLは書き込み禁止らしくエラーとなります。

117 名前:Name_Not_Found 投稿日:04/01/29 22:05 ID:???
>>116
innerHTMLに頼らずにDOM2でスタイルシートを操作すればできるよ。
ただし、IEではスタイルシート回りの構造がDOM2からやや外れていて
DOM2に準拠しているGeckoと振り分ける必要があったように思う。

118 名前:Name_Not_Found 投稿日:04/01/29 22:06 ID:???
>>116
document.styleSheets[0].rules[0].style.color='blue';
# DOM2CSS では rules ではなく cssRules

119 名前:Name_Not_Found 投稿日:04/01/29 22:13 ID:???
>>116-118
既に用は済んでしまったみたいだけど、過去ログvol.14の534番に
類似したサンプルあったよ。

120 名前:Name_Not_Found 投稿日:04/01/29 23:02 ID:???
>>115
× A2.protopype = A.prototype;
○ A2.prototype = A.prototype;
...一瞬ハマッたじゃないか!!

121 名前:115 投稿日:04/01/29 23:10 ID:???
>>120
×proto[p]ype
○proto[t]ype
これは申し訳ない!
単なる私の間違いでした!

122 名前:Name_Not_Found 投稿日:04/01/29 23:12 ID:BXjsLdpN
>>117-118
有り難うございます。出来ました。
NN7では動かなかったですけど色々やってみます。

123 名前:Name_Not_Found 投稿日:04/01/29 23:40 ID:???
>>122
だからGeckoとIE両方対応には振り分けるしかないってば。
>>119 が言及してる例も振り分けてるでしょ?

124 名前:Name_Not_Found 投稿日:04/01/29 23:57 ID:/UEYu4Iv
aを定義しておいてbは特になにもいれないで
test.html?a=b
な感じで来たらaにbを代入するのはJavascriptでできる?
もしできるとしたら特別な記述必要?

125 名前:Name_Not_Found 投稿日:04/01/30 00:01 ID:???
>>124
できるでしょうよ

126 名前:Name_Not_Found 投稿日:04/01/30 00:46 ID:Z1snyv7K
全てのinput がクリックされた時に動かしたい処理があり、全部にonClick="func()"
と書くのが無駄に思えて、onloadの処理の中に、

var tag = document.getElementsByTagName("input");
for(var i=0; i<tag.length; i++){
 tag[i].setAttribute("onclick", "func()");
}
とinputの全タグにonClickをセットしたんですが、動きません(;_;)
何故なんでしょうか?

127 名前:Name_Not_Found 投稿日:04/01/30 00:59 ID:???
>>126
http://www.din.or.jp/~hagi3/JavaScript/JSTips/Mozilla/eventhandle.htm
解らんけどそれで良いらしい。IEだと tag[i].onclick = func; かな

128 名前:Name_Not_Found 投稿日:04/01/30 02:30 ID:???
コンストラクタに関する質問です。

Object クラス以外のオブジェクトを拡張したいときは、普通はコンストラクタの内部で
明示的にオブジェクトを生成して return します。
しかしこれは、プロトタイプに登録したメソッドを参照できませんし、instanceof
も使えません。

他にうまいやり方はないでしょうか?

var A = function(value){
var obj = new String(value);
obj.showMessage = function(){
alert(this);
}
return obj;
};
A.prototype.wrongMessage = function(){
alert(this);
}

var a1 = new A("foo!");
a1.showMessage();//"foo!"と表示。

alert(a1 instanceof A);// false と表示。
alert(a1 instanceof String); //true と表示。

a1.wrongMessage();//エラー。a1.wrongMessage is not a function


129 名前:Name_Not_Found 投稿日:04/01/30 04:49 ID:???
>>115
var A = function(){};

var B = function(){};
B.prototype = new A();

var b = new B();


130 名前:Name_Not_Found 投稿日:04/01/30 05:28 ID:???
Formのチェックボックスをクリックしたら
その時点の時刻を取得したいのですが
どのように書けばよいでしょうか。
ヒントでもよいので教えてください。

131 名前:Name_Not_Found 投稿日:04/01/30 06:01 ID:???
自己解決しました。
<html><head><title>チェックボックスをチェックしたら時間を取得</title>
<script language="JavaScript">
<!--
function getNowTime() {
date=new Date();
year=date.getYear();
mont=date.getMonth()+1;
days=date.getDate();
hour=date.getHours();
minu=date.getMinutes();
seco=date.getSeconds();
if(mont<10){mont="0"+mont;}
if(days<10){days="0"+days;}
if(hour<10){hour="0"+hour;}
if(minu<10){minu="0"+minu;}
if(seco<10){seco="0"+seco;}
document.check.time.value=year+mont+days+hour+minu+seco;
}
//-->
</script>
</head>
<body>
<form action="./test.html" method="get" name="check">
<input type="checkbox" name="time" value="" onFocus="getNowTime();">
<input type="submit" value="submit">
</form></body></html>

132 名前:Name_Not_Found 投稿日:04/01/30 07:17 ID:???
montとかminuとかsecoとか初めて見た…

133 名前:Name_Not_Found 投稿日:04/01/30 08:22 ID:???
>>128
よく解らんが、こういう話?

var cf = function(){};
cf.prototype = String.prototype;
function A (v) {
this.toString = this.valueOf = function(){return v;}
};
A.prototype = new cf;
A.prototype.showMessage = function (){ alert(this); }

var a1 = new A("foo!");
a1.showMessage(); // "foo!"
alert(a1 instanceof A); // true
alert(a1 instanceof String); // true

134 名前:Name_Not_Found 投稿日:04/01/30 10:00 ID:???
>>132
幅がそろってないと気持ち悪かったので…。
自分も初めてそんな書き方しました。

135 名前:Name_Not_Found 投稿日:04/01/30 11:19 ID:???
>>126

for(var i=0 ; i<tag.length ; i++){
    tag[i].onclick = function(){ func(); };
}

では?

136 名前:Name_Not_Found 投稿日:04/01/30 11:47 ID:???
冗長

137 名前:Name_Not_Found 投稿日:04/01/30 12:09 ID:pZ3bqyvu
配列操作についての質問をさせてください。

配列 myarr に7つの整数が入っています。ex. myarr=(0,8,2,0,1,3,0)
ループ1周ごとに全ての値を-1し、全て0にする場合、

while(myarr != (0,0,0,0,0,0,0)){
 for(i=0; i<myarr.length; i++){
  if(!myarr[i]) myarr[i]--;
 }
}

こうしようと思うのですが、どうも冗長な感じます。
配列要素全てが0であることの確認や
配列様子全てにデクリメントする方法が他にあれば教えていただけないでしょうか。

138 名前:Name_Not_Found 投稿日:04/01/30 13:33 ID:???
>>137
そういうまとまった扱いがやりたければMLとかLispみたいな言語を使うんじゃ
ないかな。JavaScriptではできない。myarr != (0,0,0,0,0,0,0) もダメね。
地道にコーディングすれ。

139 名前:137 投稿日:04/01/30 14:01 ID:???
実はあれから進めてみると
デクリメントで0ではなくインクリメントで15でした。

最終的にループのチェック部分は
if(myarr != "15,15,15,15,15,15,15")
としインクリメント部分もfor文を使いました。

回答ありがとうございました。

140 名前:Name_Not_Found 投稿日:04/01/30 15:09 ID:???
javascriptでperlのファイルテスト演算子みたいなのって存在しますか?

if (-e $file) {
  # ファイル有
} else {
  # ファイル無
}

上記はperlのコードですが、こんな事をしたいのですよ。

141 名前:140 投稿日:04/01/30 15:12 ID:???
ってよくよく考えたらクライアント側で動作するjavascriptで
サーバ側のファイルを確認出来る訳ないですね。(汗

142 名前:Name_Not_Found 投稿日:04/01/30 16:41 ID:eMmRZmep
サブウィンドウをランダムに開きたいのですが、
僕、もうダメです。
どうか助けてください。
今はこんな状態で、文字列からサブウィンドウを開いてます。

■HEAD〜/HEAD
<SCRIPT language="JavaScript">
<!--
function WinOpen(){
window.open('AAA.html','window2');
}
// -->
</SCRIPT>

■BODY〜/BODY
<a href="javascript:WinOpen();">サブウィンドウを開く</a>


AAA.htmlをどーにかして、
3個ぐらいのhtmlをランダムにサブウィンドウで表示させたいんですが・・・。
他にも方法があるんだろうなーとか思いながらほぼ1日。
頭がぐちゃぐちゃになりました。
どうか助けて下さい。

143 名前:Name_Not_Found 投稿日:04/01/30 16:45 ID:???
function WinOpen() {
var pages = ['AAA.html','BBB.html','CCC.html'];
var choice = pages[Math.floor(Math.random()*pages.length)];
window.open(choice, 'window2');
}
過去ログ見ればこういうランダムな選択は山のように載っている。
過去ログ読めない奴は2度と来てほしくない。

144 名前:142 投稿日:04/01/30 16:49 ID:eMmRZmep
>>143
過去ログ読まなくてすみません。
初心者ですみません。
でも、教えてくれてありがとうございます。
僕はあなたのこと好きです。

145 名前:Name_Not_Found 投稿日:04/01/30 17:29 ID:y+ZobYN9
あるページにアクセスされたら、自動でブラウザウィンドウを
クローズしたいのですが、Windows IEだとどうしても一度
「このウィンドウを閉じますか」というダイアログが出てしまいます。

これをダイアログの出現を回避して、ウィンドウをクローズする
スクリプトは書けないものなのでしょうか?

146 名前:Name_Not_Found 投稿日:04/01/30 17:38 ID:???
>>145
無理…だと思うが。

147 名前:Name_Not_Found 投稿日:04/01/30 17:42 ID:???
>>145
できません

148 名前:Name_Not_Found 投稿日:04/01/30 18:23 ID:???
>>145
過去ログ探せ。ブラウザのバグだから修正されたらそこまでだ。

149 名前:Name_Not_Found 投稿日:04/01/30 18:24 ID:0EPY8kK2
すいません、悩んでいるんですが、
HTMLページの中にtextareaがあって、
document.getElementById("txt").value
で、そのテキストエリアの文字列を取得するのですが、
ここで、処理する時の文字コードは、
IEやMacの場合は、Shift_JISになるんですかね?
ちなみにページのエンコーディングはEUC-JPです。

150 名前:Name_Not_Found 投稿日:04/01/30 18:50 ID:???
ウニコード

151 名前:Name_Not_Found 投稿日:04/01/30 19:16 ID:Z1snyv7K
>>145
opener = window;
close();


152 名前:Name_Not_Found 投稿日:04/01/30 19:23 ID:???
ttp://homepage1.nifty.com/VET06031/
上記サイトのメニューにカーソルを合わせるとそれにあったコンテンツが自動で出てくるのですが
どういう風にやってるか知りたいです、サンプルや解説してあるサイトありませんか?
書籍を買おうかとも思いましたけど、どの書籍に書いてあるか分からないので困ってます。

153 名前:Name_Not_Found 投稿日:04/01/30 19:36 ID:???
ソース見てわからなければ諦める。

154 名前:Name_Not_Found 投稿日:04/01/30 20:06 ID:???
>>152
>>153に同意。
そこのソースが一番のサンプルだわな。

155 名前:Name_Not_Found 投稿日:04/01/30 21:30 ID:???
すみません、初歩的なミスかも知れませんが・・・。
<SCRIPT LANGUAGE="JavaScript">
<!--
today=new Date();
Mo=today.getMonth()+1+",";
Mo2=new Array(
Mo2[0]="Jan";Mo2[1]="Feb";Mo2[2]="Mar";Mo2[3]="Apr";Mo2[4]="May";Mo2[5]="June";Mo2[6]="July";Mo2[7]="Aug";Mo2[8]="Sep";Mo2[9]="Oct";Mo2[10]="Nov";Mo2[11]="Dec");
Da=today.getDate()+" ";
switch(Da)
case 1:
Da="1st";break;
case 2:
Da="2nd";break;
case 3:
Da="3rd";break;
default:
Da="Da+th";
Day=today.getDay();
Day2=new Array(7);
Day2[0]="SUN";Day2[1]="MON";Day2[2]="TUE";Day2[3]="WED";Day2[4]="THR";Day2[5]="FRI";Day2[6]="SAT";
document.write("<FONT style='font-size : 16px; color : #666666'>");
document.write(Da+Mo2[Mo]+Day2[Day]+"</font>");
//--> </SCRIPT>
どこが間違ってるかわからないんです。・゚・(ノД`)・゚・。
日付をこーゆー書き方してるサンプルって無いんですね。
どこがいけないのか教えて頂けませんか?

156 名前:Name_Not_Found 投稿日:04/01/30 21:51 ID:???
>>155
たぶん数値計算と文字列結合がごっちゃになってるところ。
とりあえずカンマとかスペースとかは表示直前の一番最後に結合すればいいかな。

あと配列に要素代入する時は
Mo2 = new Array("Jan","Feb","Mar","Apr"〜〜"Dec");
でOK。

157 名前:Name_Not_Found 投稿日:04/01/30 21:51 ID:???
> Da=today.getDate()+" ";
Da=today.getDate();

158 名前:Name_Not_Found 投稿日:04/01/30 21:55 ID:???
<SCRIPT type="text/javascript">
<!--
today=new Date();
Mo=today.getMonth()+1;
Mo2=new Array("Jan","Feb","Mar","Apr","May","June","July","Aug","Sep","Oct","Nov","Dec");
Da=today.getDate()+" ";
switch(Da){
case 1:
Da="1st";break;
case 2:
Da="2nd";break;
case 3:
Da="3rd";break;
default:
Da=Da+"th";
}
Day=today.getDay();
Day2=new Array("SUN","MON","TUE","WED","THR","FRI","SAT");
document.write("<FONT style='font-size : 16px; color : #666666'>");
document.write(Da+Mo2[Mo]+Day2[Day]+"</font>");
//-->
</SCRIPT>


159 名前:155 投稿日:04/01/30 22:15 ID:???
>>156-158
迅速なレスありがとうございました  ペコリ(o_ _)o))
プログラミングって奥が深いっすねぇ・・・・。

こんなの覚えられるか不安になりますw

実はこれデスクトップの背景にくっつけようと思ってるんです。
.htmlを背景にすると結構色々出来るから面白いですよねぇ〜。

160 名前:Name_Not_Found 投稿日:04/01/30 22:49 ID:???
ちょとイイかい?
str = str.replace(/(.)/g,RegExp.$1+"-");

と書いても RegExp.$1 に値が入らないんだな。
仕様が無いんで

str = str.match(/./g).join("-");

と書いてみるも何か気持ち悪い。
replace(); 中でマッチした値って置き換えで参照できないんかな?

161 名前:Name_Not_Found 投稿日:04/01/30 23:00 ID:???
var month_arr = new Array("Jan","Feb","Mar","Apr","May","June","July","Aug","Sep","Oct","Nov","Dec");
var day_arr = new Array("SUN","MON","TUE","WED","THR","FRI","SAT");
var today = new Date();
var month_str,day_str,date_str,display_obj,display_str,b;

month_str = month_arr[today.getMonth()]; // 月の名前
day_str = day_arr[today.getDay()]; // 曜日の名前
switch(today.getDay()%10){
case 1:
date_str = today.getDay() + "st"; break;
case 2:
date_str = today.getDay() + "nd"; break;
case 3:
date_str = today.getDay() + "rd"; break;
default:
date_str = today.getDay() + "th";
}
display_str = document.createTextNode(date_str+","+month_str+","+day_str);

function func(){
display_obj = document.getElementById("disp");
display_obj.style.fontSize = "16px";
display_obj.style.color = "#666666";
display_obj.appendChild(display_str);
}

window.onload = function(){ func(); };


162 名前:128 投稿日:04/01/30 23:17 ID:???
>>133
ご返事遅くなって申し訳ありません。
まさにそれです!

alert(a1.indexOf("!"));// 3

が動作したのには驚きました。

しかし、この方法は汎用的なのでしょうか?
toString()のみをオーバーライドするだけで済む String()は例外のような
気がします。
例えば、Array() について、似たようなものを試みましたが、うまく
行きませんでした。


163 名前:128 投稿日:04/01/30 23:18 ID:???
続きです。
稚拙ですみませんが、試みたコードを載せます。

var cf = function(){};
cf.prototype = Array.prototype;

function A (v) {
this.toString = this.valueOf = function(){arguments.toString()};
};
A.prototype = new cf;
A.prototype.showMessage = function (){ alert(this.toString()); }

var a1 = new A("foo!", "bar!");
a1.showMessage(); // "foo!"

alert(a1 instanceof A); // true
alert(a1 instanceof Array); // true

alert(a1.length);// 0 … 2になって欲しい。


164 名前:Name_Not_Found 投稿日:04/01/30 23:26 ID:???
JavaScriptって外部ファイルを読み込むことはできないんでしょうか?
サイトの更新履歴をテキストファイルに書いて、
それをJavaScriptで読み込んで表示させたいのですが。

165 名前:Name_Not_Found 投稿日:04/01/30 23:34 ID:???
>164
JavaScript自身にはできないだろね。
でも、フレームとかを上手く使えばできるかもね。

166 名前:Name_Not_Found 投稿日:04/01/30 23:55 ID:???
>>163
コンストラクタが引数をどのように処理するかはコンストラクタごとに違うので
汎用的な方法は存在しないだろう。

Arrayの派生クラスのコンストラクタは原理的に作れない(意図した動作をしない)。
length は Array.prototype のプロパティではない(つまり継承されない)し、
あの独特の動作(自動でlengthが変わったりlength=0で他のプロパティが消去されたり)は
Arrayコンストラクタが付与する内部関数を伴うものなので
Arrayコンストラクタから直に作られたオブジェクトでなければああいう動作をしない。

167 名前:Name_Not_Found 投稿日:04/01/31 00:23 ID:???
>>165
フレームですか。
それをヒントに頑張ってみます。
ありがとうございました。

168 名前:Name_Not_Found 投稿日:04/01/31 00:29 ID:???
>>160
abc を a-b-c- にするのなら
str.replace(/(.)/g,"$1-");

169 名前:Name_Not_Found 投稿日:04/01/31 00:48 ID:???
>>168
なるほど、クヲートで括れば$nで参照できるんだ。
すっごいスッキリ。ありがとう!

170 名前:128 投稿日:04/01/31 02:03 ID:???
>>166
ありがとうございます。
やはり、汎用的な方法は存在しませんか。

実は、JavaScript 2.0 からクラスが導入されたのはなぜなのかを考えて
いました。
私見ですが、プロトタイプベースでは、継承を汎用的に扱えないからでは
ないかと思っています。
現行の JavaScript では、(このコードは思いつきですが)

function A () {
  arguments.showMessage = function(){ alert(arguments) };
  return arguments;
};
など、コンストラクタ内で明示的に return する以外は、Array() を継承できませんし、
しかし継承しても、コンストラクタ A に対して instanceof 演算子は使えないなど、
不便が多いと思います。

クラスがどのような経緯で導入されたか、ご存知の方は教えていただけないでしょうか?

171 名前:128 投稿日:04/01/31 06:01 ID:???
訂正です。
>>170のコードは動かないので、きちんと動くコードを用意しました。

function A () {
  var arr = new Array;
  for (var i = 0; i < arguments.length; i++) arr.push(arguments[i]);
  arr.showMessage = function(){ alert(arr) };
  return arr;
};
A.prototype.wrongMessage = function(){ alert(this); };

var a1 = new A("foo!", "bar!");
a1.showMessage(); // "foo!,bar!"

alert(a1 instanceof A); // false … trueになって欲しい。
alert(a1 instanceof Array); // true

alert(a1.length);// 2

a1.wrongMessage();//実行エラー a1.wromgMessage is not a function


172 名前:Name_Not_Found 投稿日:04/01/31 08:45 ID:???
>>171 コンストラクタの作り方が分かってないよ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<pre><script type="text/javascript">
function A() {
for(var i = 0; i < arguments.length; ++i) this.push(arguments[i]);
this.showMessage = function() { alert(this); }
}
A.prototype = new Array();
A.prototype.wrongMessage = function() { alert(this); }
var a1 = new A('foo!', 'bar!');
a1.showMessage();
document.writeln(a1 instanceof A);
document.writeln(a1 instanceof Array);
document.writeln(a1.length);
a1.wrongMessage();
</script></pre>
</body></html>

173 名前:128 投稿日:04/01/31 09:16 ID:???
>>172
驚きました。コンストラクタ内の
this.push(arguments[i]);
こんなことができるとは思っていませんでした。

試したところ、

var o = new Object;
Array.prototype.push.call(o, "hoge");
alert(o.length); //1
alert(o[0]); //"hoge"

これもちゃんと動きました。なるほどねえ。
こうすれば Array も return なしで継承することができるのですね。

恐縮ですがさらに質問です。JavaScript のネイティブオブジェクトの
うち、継承するには必ず、コンストラクタ内で return を書くことを
必要とするものはないのでしょうか?

まだ慣れないので、String, Array は幸運な例外のような気がします。
とりあえず私は Function あたりを試してみることにします。

174 名前:128 投稿日:04/01/31 09:36 ID:???
試作品です。私の実力では、Function をどうやって return なしで
継承できるのか分かりません。

<script type="text/javascript">
function A(string) {
this.toString = this.valueOf = function() { return string; }
}
A.prototype = new Function;
A.prototype.wrongMessage = function() { alert(this); }

var a1 = new A('alert("hoge")');

document.writeln(a1 instanceof A); // true;
document.writeln("<br/>");

document.writeln(a1 instanceof Function); // true
document.writeln("<br/>");

document.writeln(a1);// alert("hoge")
document.writeln("<br/>");

a1.wrongMessage(); // alert("hoge");

a1();//エラー a1 is not a function
</script>

175 名前:Name_Not_Found 投稿日:04/01/31 10:10 ID:C5mD9gOz
良く分からないんだけど...。

a1();で何が動くと希望どおりなの?

176 名前:Name_Not_Found 投稿日:04/01/31 10:12 ID:???
pushやpopってネスケ専用と思ってた…

IEでも使えること今まで知らんかった

177 名前:128 投稿日:04/01/31 10:29 ID:???
>>175
一応、>>174 のコードの目的は、a1(); で "hoge" というアラートが表示
されることですが、それは本質的な目的ではありません。

本題に話を戻しますと、私が知りたかったのは、Class の導入された理由なのです。

JavaScript はプロトタイプを利用することによって、オブジェクト指向言語として
十分な機能を備えていると、よく言われています。
それならばなぜ、Class が導入されたのか、それを私は知りたかったのです。

で、考えているうちに、JavaScriptは継承の機能が不十分ではないかと思うように
なったのです。
具体的には、ネイティブオブジェクトの継承において、

・コンストラクタ内の return なしでは、継承元のオブジェクトについての
 かなり詳細な知識なしでは継承ができない。
・return を使うと、 instanceof 演算子が使えない。
・要するに、汎用的な継承の方法がない。

これらは事実だと思うのですが、どうでしょうか?

もし事実だとすると、その機能を補うべく、汎用的な継承の機構を用意するために、
Class が導入されたと考えれば、つじつまが合うように思い、それについて、詳しい方の
意見をお聞きしたいと思ったのです。

178 名前:Name_Not_Found 投稿日:04/01/31 12:11 ID:???
どんな言語でも「何でもできる」というわけには行かないわけで、
言語の設計は「機構の簡潔さ」と「記述力のバランス」をいかに
取るかという点がポイントだと思うのね。その点で現行のJavaScript
はよくできてると思うし、個人的にはクラス構文なんて入れるのは
反対だけどね。

クラスを入れる理由は想像するに「その方が読みやすい」からでは。
現状の設計で継承をあれこれいじるのはたとえできたとしても何を
やってるのか後から読んで理解するのが難しい。だから能力的に
不足するかどうかなんて検討してもしょうがないと思うね。

で、自分の意見としては面倒な継承がいるようなものはJavaScript
の守備範囲ではないと思うけどね。だから現行くらいの簡潔な言語
であり続けて欲しいわけさ。

179 名前:Name_Not_Found 投稿日:04/01/31 12:23 ID:???
http://www.microsoft.com/japan/

ここの左側のメニュー項目と同じ効果を出したいのですが
具体的な方法わかる方いらっしゃいますか?

ロールオーバーでjavascriptを使っていると思うのですが。

180 名前:Name_Not_Found 投稿日:04/01/31 12:24 ID:???
てか単に需要が高いからかと。
何だかんだいってクラスのエミュレーションに終始してるだけのコード多いし。
だったら最初から言語仕様に組み入れてしまった方がいい。

181 名前:Name_Not_Found 投稿日:04/01/31 12:31 ID:???
>>179
俺もそれ知りたいな、どっかコピペで簡単に設置できるサンプルないかな・・・

182 名前:Name_Not_Found 投稿日:04/01/31 12:53 ID:???
>>179
どこのことだ。「ゲーム」のとことかでプルダウンメニューが
出るところか。


183 名前:Jean 投稿日:04/01/31 13:56 ID:yDMFLiL3
教えてください。
戻る・進むのボタンで、画像を入れ替えるスクリプトを使っているのですが、
そのスクリプトを二つ設置するとうまく画像が入れ替えることができません。
分かりづらいと思うので実際に見てください。
http://betty.jp/mmmmbop/art/
よろしくお願いいたします。

184 名前:Name_Not_Found 投稿日:04/01/31 15:09 ID:???
>>183
同じものを2つコピーして設置しようと思うところで既に論外。
同じ名前の関数を2つ定義したら2重定義だからよくて片方だけ
しか残らない。覚えておくとよろしいでしょ。あとは勉強すれ。

185 名前:Jean 投稿日:04/01/31 15:31 ID:yDMFLiL3
>>184
やっぱり無理ですか。
勉強になりました。
javascriptの勉強を頑張って設置できるようにしたいと思います。

186 名前:Name_Not_Found 投稿日:04/01/31 15:45 ID:???
いちばん安易には関数の名前を片方だけちょっと変える。
もっといいのは関数は1つで、画像の名前をパラメタで
渡せるようにする。

187 名前:128 投稿日:04/01/31 16:17 ID:???
>>178
私も JavaScript はシンプルで美しい言語だと思っていました。だから クラスの
導入にも賛成でなかったのですが、最近、JavaScript のコーディングルールを
作ろうとしているうちに、実はあんまり統一性のない言語ではないかという気がして
きたのです。

プロトタイプやクロージャも、継承を実現するために後付けで導入されたもので、
機能同士の整合性が低いように感じます。また言語が用意しているある機能を使うと、
別の機能が使えなくなることが頻繁にあると思います。その一例が、先にあげた、
コンストラクタ内で return を返すと、 instanceof が使えなくなることです。
こういうのを、直交性が低いと言うのでしょうか。

また、機能の追加が割と行き当たりばったりで、やがて非推奨になる機能がかなり
多いと思います。例えば instanceof 演算子自体、constructor プロパティの欠陥を
補うために導入されたものですよね。

それにしても、コンストラクタ内で return 値を返す場合でも instacnceof が使える
ようにする方法はないものでしょうか?代替手段があるなら、return 値を返さなくても
良いでしょうが、その方法でしか継承できないオブジェクトがあるので、どうにか
ならないものかと思います。

188 名前:179 投稿日:04/01/31 16:21 ID:???
説明不足でした。

左側のメニューにマウスを持っていくとテーブルで組んである部分の
背景色らしきものが変化します。その仕組みがわかりません。
「製品情報」〜「企業情報」までの部分です。

189 名前:Name_Not_Found 投稿日:04/01/31 16:51 ID:???
>>188
それだけならスタイルシートだな。
A:hover
これでボーダーの色は黒で背景は灰だのと指定する。

190 名前:179 投稿日:04/01/31 17:18 ID:???
>>189
a:hover { border-color:#black; background-color:#666666; }

cssも考えたのですが、この場合だと例のようなtableのtd(tr?)部分全体を
変えることが出来ないんです。なのでjavasvriptを使用しているのかなと考えました。

191 名前:Name_Not_Found 投稿日:04/01/31 17:30 ID:???
aのwidth, heightをtdに合わせたらできないかな?
tdのpaddingは0で。

192 名前:Name_Not_Found 投稿日:04/01/31 17:57 ID:???
だいたいCSSでできない範囲指定がJavaScriptでできるわけがない。

193 名前:Name_Not_Found 投稿日:04/01/31 19:29 ID:???
>>187
JavaScriptは継承をサポートしていない。
”できる”だけ。
まともにJavaScriptを使おうと思ったら継承なんて考えてはいけない。

194 名前:Name_Not_Found 投稿日:04/01/31 19:49 ID:???
>>193
どういう使い方が「まとも」なの?
いや、煽りじゃなくて、手短でいいから教えてほしい。

195 名前:Name_Not_Found 投稿日:04/01/31 20:12 ID:???
>>190
a { width: 100%; }

196 名前:Name_Not_Found 投稿日:04/01/31 20:39 ID:???
>>194
instanceofが使える

197 名前:Name_Not_Found 投稿日:04/01/31 20:48 ID:???
だいたいJavaScrptって何百行も書くための言語じゃないんだから、
継承を駆使してあれこれするのは用途違いという感じがする。うまく
使える場面でちょこっと利用するのは構わないと思うけどね。

198 名前:179 投稿日:04/01/31 20:53 ID:???
>>191-192 >>195
cssで上手くいきました。スレ違いになってしまい申し訳ないです。
以降は該当スレに移動します。ありがとうございました。

199 名前:Name_Not_Found 投稿日:04/01/31 23:28 ID:C5mD9gOz
>>197
何百行も書くかどうかは用途によるね。
数千行も書いている俺みたいのもいるし(実際は千ちょっと)。

そのうちコンパイルしてサーバに置けるようになるんだろうな。
個人的には継承とかClassなんかよりも、変数のレキシカルな範囲を
関数単位じゃなくて、{}に変更してほしいんだけどな。

200 名前:Name_Not_Found 投稿日:04/02/01 00:08 ID:???
200

201 名前:Name_Not_Found 投稿日:04/02/01 00:29 ID:???
そのうちコンパイルどうこうのハナシだったら
素直にC#.NETでいいんじゃなかろうか

202 名前:Name_Not_Found 投稿日:04/02/01 00:33 ID:???
何百行とかってこんなんか?
ttp://fire.prohosting.com/script9/tool/mloop.html

203 名前:Name_Not_Found 投稿日:04/02/01 00:44 ID:9pwCI8Ds
>>201
.NETならコンパイルしたもの置いておけるの?
IE限定とか?


204 名前:Name_Not_Found 投稿日:04/02/01 02:01 ID:???
javascriptによるプルダウンひっぱるやつ見つけた
ttp://mugi.cc/js/

205 名前:Name_Not_Found 投稿日:04/02/01 02:16 ID:???
継承か…。そしたら多重継承はどうするんだろうね
Javaみたく他の方法を使うかC++のように認めるか

206 名前:Name_Not_Found 投稿日:04/02/01 02:52 ID:???
>>199
変数スコープを制限したい場合は
コードを無名変数で区切って、その場で実行するのはどう?
(function(){

// …コード…
// …コード…
// …コード…

})();

こう書けば、内側の変数スコープは独立する。

個人的には、あと package が欲しい…。

207 名前:Name_Not_Found 投稿日:04/02/01 02:54 ID:???
訂正:×無名変数 → ○無名関数

208 名前:Name_Not_Found 投稿日:04/02/01 03:03 ID:???
>>203
.NETがインストールされてる環境では
アプレットみたいなのを動かせたと思う

.NETが標準インストールされるのは
かなり先の話だろうけど

209 名前:Name_Not_Found 投稿日:04/02/01 05:33 ID:???
>>187
クラスのことは分からないが、いくつか書いてみる。

・コンストラクタで return を使わずに ネイティブオブジェクトを継承する
ことは原則的にできない。
コンストラクタ内で 暗黙で this に割り当てられるインスタンスは Object 型
だけだから、それ以外のネイティブオブジェクトは返せない。

String>>133, Array>>172 でそれが可能だったのは、Object 型のインスタンスを
加工して String や Array と同等のインスタンスを作ることが可能だったからだ。
しかし、そんな方法がどのネイティブオブジェクトにも存在しているわけでは
ない。だから、これらはあくまで幸運な例外に過ぎない。


・return を返す場合に instanceof 演算子が使えなくなるのは、返された
インスタンスが ネイティブなコンストラクタとだけ関係を持ち、自作の
コンストラクタの prototype プロパティを参照しないからだ。

逆に言えば、無理やりに自作のコンストラクタを参照するようにすれば、
instanceof 演算子は使えるようになる。Netscape 系固有の __proto__
プロパティを使えば、それを実現できる。


210 名前:Name_Not_Found 投稿日:04/02/01 05:34 ID:???

以下は、Function オブジェクトを継承するコードの例。
念のためだが、IE では動かない。


function A (string) {
var func = new Function(string);

//Netscape 独自の禁じ手
func.__proto__ = arguments.callee.prototype;

func.showMessage = function(){ alert(this) };
return func;
};
A.prototype = new Function;
A.prototype.wrongMessage = function(){ alert(this); };

var a1 = new A('alert("hoge")');
a1.showMessage(); // function anonymous(){ alert("hoge") }

// どちらも true を返す
alert(a1 instanceof A); // true
alert(a1 instanceof Function); // true

// a1はもちろん実行可能
a1();// "hoge"

// プロトタイプに登録されたメソッドも実行できる
a1.wrongMessage();// function anonymous(){ alert("hoge") }


211 名前:Name_Not_Found 投稿日:04/02/01 05:43 ID:???
補足。

今回は Function オブジェクトを継承したが、このやり方なら、どんな
ネイティブオブジェクトでも継承できる。
つまり、__proto__ プロパティさえ使えれば、JavaScriptで汎用的に
あらゆるオブジェクトを継承することが可能になる。

ECMAScript に採用されなかったのは残念だ。

212 名前:Name_Not_Found 投稿日:04/02/01 12:54 ID:???
>>211
「プロトタイプを動的に変更できればなぁ」には禿同だけど
プロパティでやるのはちょっとやだな俺は。

ECMA262-4ってたしか今年第1四半期予定だったと思うけど、どうなってんだろうね。

213 名前:Name_Not_Found 投稿日:04/02/01 14:03 ID:???
他サイトの変数を参照することは出来ますか?
ちなみに他サイトとは別鯖です。

214 名前:Name_Not_Found 投稿日:04/02/01 14:06 ID:???
>>213
そういう悪用し放題なことはできないようにしてあります。

215 名前:Name_Not_Found 投稿日:04/02/01 14:16 ID:???
> __proto__ プロパティさえ使えれば、JavaScriptで汎用的に
> あらゆるオブジェクトを継承

継承とは言わないよ。中間変数と言った方が。

というかね、
「JavaScript は Java ではありません。」
と初心者に言う慣例があるのだから、それを徹底した方が良いのではないかな。
つまり、他の言語の用語を使って本質を誤魔化しているのは感心できない、と。

216 名前:Name_Not_Found 投稿日:04/02/01 14:19 ID:Qy1N65B2
>>215
同じ専門用語でも、言語によって意味は変わる。

217 名前:Name_Not_Found 投稿日:04/02/01 15:05 ID:???
その通りだが、継承という用語が適切だとはとても思えないがねえ。

218 名前:Name_Not_Found 投稿日:04/02/01 15:09 ID:???
この手の「擬似継承」は、内部で new Function とかなんとかしていて、
非道い言い方をすれば、「回り道して遊んでんじゃねえよ」なわけだが、いかがなものか。

219 名前:Name_Not_Found 投稿日:04/02/01 15:12 ID:???
>>209-211
__proto__ を使っていいんだったら、インスタンスをコンストラクタを使って
生成することにこだわらなくたっていいでしょ?

どうせ JavaScript の継承は「もどき」に過ぎないんだから、var a1 = new A() という
形にこだわる必要なんか全然ない。

実際、function A() は何もしてないに等しいんだから、コンストラクタを
単なる「プロトタイプの置き場」にしてしまえばいい。

つまり、任意のインスタンス a1 を生成して、それの __proto__ に function A() の
プロトタイプを参照させれば、それだけで a1 は A に属することになる。


220 名前:Name_Not_Found 投稿日:04/02/01 15:12 ID:???

ということで、>>210 と似た動作のサンプルコードを書いてみた。
この方が、実際の動作が判りやすくて、ずっとスッキリしていると思う。


var A = new Function;
A.prototype =
{
  showMessage: function(){ alert(this) },
  __proto__: Function.prototype//この行がないと、Function の toString が呼ばれない。
}

var a1 = Function('alert("hoge")');
a1.__proto__ = A.prototype;

//(ちゃんと Function の toString() が呼ばれている。)
a1.showMessage(); // function anonymous(){ alert("hoge") }

alert(a1 instanceof A); // true
alert(a1 instanceof Function); // true

a1();// "hoge"

221 名前:Name_Not_Found 投稿日:04/02/01 15:20 ID:???
おまけ。
このやり方だと、a1 を生成した後で、別のコンストラクタ B() をこしらえて、
a1.__proto__ = B.prototype;
とかしてやれば、今度は a1 は B に属すことになる。

生成されたインスタンス a1 の属すクラス(つうか、コンストラクタ)を、
あとから動的に変更できるんだ。もちろん、動作も変わる。

これは Java には真似できない。

222 名前:Name_Not_Found 投稿日:04/02/01 15:26 ID:???
再利用という奇跡をでっち上げる為に、わざわざこんなものを書いたとする。

Cookie.prototype = new Date;

Cookie.newInstance = function () {
  const proto = (new this).__proto__;

  return proto;
}

function Cookie ()
{
  ;
}

const cookie = Cookie.newInstance();

cookie.toGMTString(); // RFC1123

しかし、これは、「ある Date オブジェクト」の参照を使いまわすことになるから、都合悪い。
そういうわけで、210 にあるような、道草擬似継承に逆戻りせざるを得ない。
すぐに、道草して遊んでもなぁ、という結論になるだろう。
最終的には、206 のような使われ方でしか生き残れない、とは思わないかね?

223 名前:Name_Not_Found 投稿日:04/02/01 15:48 ID:???
いいかげん熱を冷まさないか。擬似継承、うんざりだよ。
ECMA262-3 は __proto__ じゃなくて __parent__ な方向にあるでしょ。
だから、書式はスコープオブジェクトで統一してはいかがだろう、という提案。

224 名前:Name_Not_Found 投稿日:04/02/01 15:56 ID:???
>>212
> プロパティでやるのはちょっとやだな俺は。
これはなぜ?

>>214
クロスサイトスクリプティング脆弱性というのがなかったっけ?

>>222
> 最終的には、206 のような使われ方でしか生き残れない、とは思わないかね?

関連がよくわからない。
>>206は継承とどういう関係があるの?

225 名前:Name_Not_Found 投稿日:04/02/01 16:19 ID:???
そもそも継承という言葉を使うのが間違っていると思う。
プロトタイプベースなんだから、「委譲(delegation)」だろ?

JavaScript では各インスタンスのプロトタイプにコンストラクタを介してしか
アクセスできないから、なんとなくクラスっぽい挙動になるけど、実際に
行われているのは、委譲だ。つまり、別に存在しているインスタンスから
機能を借りてきているだけだ。

それなのに、クラスベースの言語と同じことをやろうとするから、変な話に
なる。 instanceof 演算子 など無くっていい。クラスベースじゃないから、
どうやってもうまくいかないだろう。

プロトタイプベース・オブジェクト指向
http://squab.no-ip.com:8080/wiki/493

「プロトタイプベース・オブジェクト指向」スレ
http://pc2.2ch.net/test/read.cgi/tech/1070886635/-100

226 名前:Name_Not_Found 投稿日:04/02/01 16:22 ID:9pwCI8Ds
こういうのを話す新スレ立ててくれ。

227 名前:Name_Not_Found 投稿日:04/02/01 16:54 ID:???
>>225
委譲という手法でオブジェクト間の継承を行っているわけなので
「それは継承ではなく委譲だ」と言われても困るような。

> それなのに、クラスベースの言語と同じことをやろうとするから、変な話になる。
これは禿しく同意。

228 名前:Name_Not_Found 投稿日:04/02/01 17:30 ID:V1meDAQb
ステータスバーに何も表示させないようにするには、どうしたらいいですか?

229 名前:Name_Not_Found 投稿日:04/02/01 17:45 ID:???
>>228
IEだったらメニューの「表示」→「ステータスバー」のチェックをはずす。

230 名前:Name_Not_Found 投稿日:04/02/01 18:23 ID:???
いろいろ調べてみたのですが、たどり着けないので質問です。

java scriptを使用して、あらかじめ定義した複数のフラッシュ(swf)ファイルのうちから
1つをランダム表示させるにはどうすれば良いのでしょうか?

どなたかお教えください。


231 名前:Name_Not_Found 投稿日:04/02/01 18:34 ID:???
>>223

> ECMA262-3 は __proto__ じゃなくて __parent__ な方向にあるでしょ。
> だから、書式はスコープオブジェクトで統一してはいかがだろう、という提案。

もう少し詳しく教えていただけませんか?とても興味深いと思いました。
ぐぐったけど、残念ながら参考になるページを見つけられなかった。

ちなみに、Mozilla の JavaScript には __parent__ プロパティがありますが、
試したところ、グローバルオブジェクト(window)に固定されているみたいでした。


232 名前:Name_Not_Found 投稿日:04/02/01 20:04 ID:???
>>230
配列にしてランダムで呼び出せば良い。

233 名前:Name_Not_Found 投稿日:04/02/01 21:15 ID:???
>>226
【ム板】JavaScript デス
http://pc2.2ch.net/test/read.cgi/tech/1052273054/l50

はどうよ?

234 名前:Name_Not_Found 投稿日:04/02/01 21:54 ID:???
>>233
妙なスレだな。「言語の話をしよう」って繰り返し言ってるだけで、ほとんど言語の
話は出てない。単発質問と、こちらへの誘導ばかりだ。

だけど、スレの趣旨にはそちらのほうが沿っているみたい。私はそちらに
行ってみる。

235 名前:Name_Not_Found 投稿日:04/02/01 22:10 ID:???
あとついでにここもどうぞ。

プロトタイプベース・オブジェクト指向
http://pc2.2ch.net/test/read.cgi/tech/1070886635/

236 名前:Name_Not_Found 投稿日:04/02/01 22:12 ID:???
既出だった…

237 名前:Name_Not_Found 投稿日:04/02/02 02:02 ID:5EPozA9N
Document Object Model
(もしくはその他の方法でCGIやSSIを使わないもの)

を使ってNN6で InnerHTMl のような動きを実現させる事って
可能ですか?
具体的には特定のIDを持つタグの中に、スクリプトで作ったHTML文を
挿入させる動作です。

挿入先はHTMLファイルのTDタグです。

238 名前:Name_Not_Found 投稿日:04/02/02 02:09 ID:???
>>237
>>3

239 名前:Name_Not_Found 投稿日:04/02/02 03:12 ID:???
>>237
可能も何も、NN6 には innerHTML があるんだが。

http://www.fromdfj.net/javascript/innertext.html
> ネットスケープもバージョン6からinnerHTMLに対応しました。

Googleですぐ出てきたよ。

240 名前:Name_Not_Found 投稿日:04/02/02 04:03 ID:5EPozA9N
>>239
javascript dom innerhtml 
のキーワードで30分位は探してたんですが。
今、同じキーワードで調べたら上から4つめに普通にありましたね・・・。
これからはもう少し念入りに探します。

ありがとうございました


241 名前:Name_Not_Found 投稿日:04/02/02 07:27 ID:???
>>240
どうでもいいけど全角英数はキモいのでヤメレ

242 名前:TT 投稿日:04/02/02 10:10 ID:IXRJ7c93
JSが正常に作動しない場合はどうしたらいいのでしょうか?
検索のソフトなのですが、「検索」を押すと「エラーが発生しました」
と表示され、何も起こらないのです・・・。
分かる方教えてください。


243 名前:Name_Not_Found 投稿日:04/02/02 10:17 ID:???
>>242
自分の無駄に立てたスレッドの後始末をしてから質問しなさい。

hp:Web制作管理[スレッド削除]
http://qb2.2ch.net/test/read.cgi/saku/1027465273/l50

244 名前:Name_Not_Found 投稿日:04/02/02 10:39 ID:???
>>242
単発質問の重複スレがいかに迷惑か理解しろ。あのクソスレが残っている
間は誰もあんたを相手にしないからそのつもりでいろ。以上まっとうな
煽りでした(w


245 名前:Name_Not_Found 投稿日:04/02/02 11:05 ID:7o4DlR2v
質問があります。
JavaScriptを使って、訪問者の環境(OS&ブラウザ)に合わせた外部CSSを振り分ける方法を教えて下さい。
“WinのネスケとIE、MacのネスケとIE”の4種類あれば良いです。
それ以外の環境でアクセスしてきた場合“WinのIE”用のCSSを振り分けたいです。
すみませんが、よろしくお願いします。
<(..)>

246 名前:Name_Not_Found 投稿日:04/02/02 11:32 ID:???
>>245
Netscape 4.xと6以降は別物だけど一緒くたでいいの?
6以降はMozillaと一緒に扱うべきだと思うけどね。

247 名前:Name_Not_Found 投稿日:04/02/02 11:41 ID:???
>>245
とりあえず、こうやってmatchで調べて振り分ければいいだけ。何をどう
振り分けるかはこのスレの趣旨と関係ないと思うんでご自由に。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
if(navigator.userAgent.match(/compatible; MSIE/)) {
document.writeln('<link rel="stylesheet" href="t1.css">');
} else {
document.writeln('<link rel="stylesheet" href="t2.css">');
}
</script>
</head><body>
<h1>Test</h1>
</body></html>

248 名前:245 投稿日:04/02/02 11:42 ID:7o4DlR2v
>>245
Netscape 4.xと6以降は別物だけど一緒くたでいいの?

あ、そうすね!(汗汗汗)
ええっと、おっしゃる通り「6以降はモジラと一緒に扱う」という設定にしたいです。
すみませんが、ご教示下さいませ。
<(..)>

249 名前:245 投稿日:04/02/02 11:45 ID:7o4DlR2v
>>247
どうも、ありがとうございました!
ありがとうございます!
(>o<)

250 名前:Name_Not_Found 投稿日:04/02/02 12:57 ID:???
fontサイズや行間をpx指定してもなお、環境によって表示される行数=高さが変わりますが
height:auto; で自動伸縮するdivが結果的にブラウザ上で高さ何pxになったのかを取得できないかと考えているのですが
<div id="div_ID" style="width:固定px;height:auto;">コンテンツ</div>
<script type='text/javascript'>
aaa=document.getElementById('div_ID').style.height;
document.write(aaa);
</script>
これじゃautoという情報しか取得できません。
実際にブラウザ上で高さが何pxになったのか取得する方法はございますでしょうか?

251 名前:Name_Not_Found 投稿日:04/02/02 13:47 ID:???
>>250
過去ログ見ると分かるんだけど。styleはあくまでも指定した値が見える
だけで、実際の高さとかが知りたければoffsetWidthとoffsetHeightを参照
する。あとdocument.write()はページが表示完了したらもう使えないんで、
window.alertを使うかステータスバーを使うかとか工夫すれ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function show() {
var d = document.getElementById('d0');
window.status = d.offsetWidth + 'x' + d.offsetHeight;
}
</script>
</head><body onload="setInterval(show, 1000)">
<div id="d0">
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお
</div>
</body></html>

252 名前:250 投稿日:04/02/02 15:29 ID:???
251さん、ご親切にありがとうございます。今過去ログ漁っております。。。。
一番の疑問はoffsetHeightはページの描画が全部済んでから渡されるんでしょうか?ということで。
以下のように書くとdiv d0の高さにそろえた別のdivは作れないみたいですね。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title><meta http-equiv="content-type" content="text/html; charset=shift_jis">

<script type="text/javascript">
function show() {
var d = document.getElementById('d0');
alert(d.offsetWidth + 'x' + d.offsetHeight);
var takasa=d.offsetHeight;
}
</script></head><body onload="show()">
<div style="width:400px;height:auto;" id="d0">
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお
</div>
<script type="text/javascript">
document.write('<div style="background-color:gold;width:400px;height:'+takasa+'px;">d0と同じ大きさのdiv</div>');
</script></body></html>

253 名前:Name_Not_Found 投稿日:04/02/02 15:45 ID:???
>>252
貴様はとりあえずonloadについて勉強したほうがよいですよ

254 名前:Name_Not_Found 投稿日:04/02/02 16:29 ID:JrM1PDPm
配列をsort()するために、sort用の関数を書いているのですがうまく
ソートしてくれません。構文は間違っていないはずなんですが、何故
ちゃんとソートできないのでしょうか?(★の部分です)

var obj = new Array();
obj[0] = {s:'スズキ'};
obj[1] = {s:'ムラタ'};
obj[2] = {s:'ジンボ'};
obj[3] = {s:'フジキ'};
obj[4] = {s:'サトウ'};
obj[5] = {s:'ワタベ'};
obj[6] = {s:'ソノダ'};
obj[7] = {s:'ミズノ'};
obj[8] = {s:'アキタ'};

// ★データを並び替え
obj.sort(function(a,b){
 if(a.s > b.s){
  return true;
 }else{
  return false;
 }
});

// データ表示(きちんと昇順になっていない)
var w = window.open();
w.document.open();
for(var i=0; i<obj.length; i++){
 w.document.write(obj[i].s + "<br>");
}
w.document.close();

255 名前:Name_Not_Found 投稿日:04/02/02 16:39 ID:???
sortの仕様をよく読まないとね。整数を返すんだよね。
obj.sort(function(a,b) { return (a.s > b.s) ? 1 : -1; });
ただしsが同じものはないとする。

256 名前:Name_Not_Found 投稿日:04/02/02 16:44 ID:JrM1PDPm
>>255
有り難うございます。問題はそこだったんだ...。
一生懸命 if(a.s > b.s) の比較部分を頑張ってた(;_;)

257 名前:Name_Not_Found 投稿日:04/02/02 22:00 ID:JrM1PDPm
ある配列(o)で、alert(o.constructor)とすると、
--------------------
function Array(){
 [native code]
}
--------------------
と出力されるんですが、
alert(o.constructor == Array)
とするとfalseが出てしまうものがあります。

しかしながら、事象を分かりやすく別のファイルにJavaScriptとして
書くと、ちゃんとtrueになってしまいわけが分かりません。

そのため同事象が起こるスクリプトをここに記述することが出来ない
のですが、何か考えられることはありますでしょうか?

258 名前:Name_Not_Found 投稿日:04/02/02 22:00 ID:L04zfGge
String.fromCharCode(n)を使ってテキストボックス内に韓国語を表示させた場合、
韓国語がインストールされていても文字化けして見えることはありますか?
よろしくお願いします。

259 名前:Name_Not_Found 投稿日:04/02/02 22:07 ID:???
>>257
typo が最も有力。
どっかで == と = を間違えて constructor 上書きしてるとかね。

>>258
ブラウザがまともなら心配ないと思われ。

260 名前:Name_Not_Found 投稿日:04/02/03 02:00 ID:kSIMRfZJ
var f = new Func();
とした場合に、f.myself(); としたら変数自身の名前"f"を出力するよう
にしたいのですが、どのようにしたら良いのでしょうか?

現在、以下のようにしてますが、やっぱりダメです。
function Func(){
 this.myself = function(){
  alert(this.toString());
 }
}

261 名前:Name_Not_Found 投稿日:04/02/03 02:47 ID:???
>>260
オブジェクトから、自分をさす変数名を知ることはできないと思うから、
変数の一覧からしらみつぶしでやるしかないと思う。

// 変数 f がグローバル変数の場合しか動かないバージョン。

function Func(){};
Func.prototype.myself = function(){
  for (var i in window){ //この行がよくない。
   if (eval(i) === this) {
    alert(i);
    return;
   }
  }
}
var f = new Func();

f.myself();// "f"と表示。


262 名前:Name_Not_Found 投稿日:04/02/03 10:58 ID:???
>>261
window オブジェクトを使っているのを、グローバル変数しか検索できないから
良くない、と考えているようだが、ローカル変数を保持する Activation オブジェクト
には触れることができないのだから、それ以上やりようが無いと思う。

263 名前:258 投稿日:04/02/03 15:10 ID:???
>>259
そうですか。ありがとうございました


264 名前:Name_Not_Found 投稿日:04/02/03 16:10 ID:P/jWbSim
こんにちは。JavaScriptの[window.open()]について教えて下さい。

選択された項目毎に新規に画面を生成する為、window.open("選択された情報へのURL")を利用していますが、
最初の1回目は新規に画面を生成してくれるのですが、2回目からは1回目に生成された画面に情報が出力されてしまいます。
意図する動作としては、[A HREF="選択された情報へのURL", TARGET=_blank]と同じ動きを期待していましたが、
window.open()はそのような事が出来ないのでしょうか?
又は、A HREFと同じ動きをさせる為にはどうしたらよいのでしょうか?
教えて下さい。

OS:Win98
Br:IE6.0(SP1)

265 名前:Name_Not_Found 投稿日:04/02/03 16:17 ID:???
>>264
ttp://tohoho.wakusei.ne.jp/js/window.htm#open


ところでこれテンプレ入りしないの?

266 名前:Name_Not_Found 投稿日:04/02/03 18:04 ID:yVRf5yt+
こんばんは、唐突ですが、質問させてください。クリックでクリップボードに貼り付けたいのですが
以下の>>>>>ここ<<<<<のところが分かりません。よろしくお願いします。
<html>
<head>
<title></title>
<script language="JavaScript">
<!--
function setCB()
{
window.clipboardData.setData("Text",document.color.>>>>>ここ<<<<<.value);
}
// -->
</script>
</head>
<body>
<table>
<form name="color">
<TR>
<TD bgcolor="#000000">.</TD><TD><input type="button" onFocus="this.select()" onClick="this.focus();setCB()" value="#000000"></TD>
<TD bgcolor="#000033">.</TD><TD><input type="button" onFocus="this.select()" onClick="this.focus();setCB()" value="#000033"></TD>
<TD bgcolor="#000066">.</TD><TD><input type="button" onFocus="this.select()" onClick="this.focus();setCB()" value="#000066"></TD>
<TD bgcolor="#000099">.</TD><TD><input type="button" onFocus="this.select()" onClick="this.focus();setCB()" value="#000099"></TD>
<TD bgcolor="#0000cc">.</TD><TD><input type="button" onFocus="this.select()" onClick="this.focus();setCB()" value="#0000cc"></TD>
<TD bgcolor="#0000ff">.</TD><TD><input type="button" onFocus="this.select()" onClick="this.focus();setCB()" value="#0000ff"></TD>
</TR>
</form>
</table>
</body>
</html>


267 名前:Name_Not_Found 投稿日:04/02/03 18:16 ID:???
>>266
そういうのは呼び出す方で onClick="this.focus();setCB(this.value)" みたいにやると楽。

268 名前:Name_Not_Found 投稿日:04/02/03 18:22 ID:???
>>265
過去スレ見ると分かるんだけど、前はテンプレに入っていたけど
あるとき「とほほはヒドいからやめよう」という話があってそれで
除外した。とほほがいいから入れようという人が多ければ入れるけど。
>>264
window.openの第2パラメタとして「'_blank'」を指定すれ。

269 名前:Name_Not_Found 投稿日:04/02/03 18:36 ID:???
>>266
function setCB(x)
{
 window.clipboardData.setData("Text", x);
}

<input type="button" onClick="setCB(value)" value="#0000ff">

・onClick 内の this.focus() と onFocus 属性は不要なので消した。
・this.value の this は不要なので消した。
ちなみに this.select() は単に select()と書けばいい。

270 名前:Name_Not_Found 投稿日:04/02/03 18:54 ID:yM0A7uai
あるhtml(元ウインド)上で<a href="JavaScript:ふぁんくしょん()">から
別の鯖にあるCGIに値を渡してCGIで検索させて検索結果をCGI生成し
全面に出し(ポップアップウインド)で表示します。
このぽっぽアップウインド上の中のバリューを元のウインドのフォームの中の
希望の場所に戻したいのですが「アクセスが拒否されたと出てしまいます。」
CGIがある鯖上に元ファイルを置くとうまくいくので問題はここだけなんですが
違う鯖上のCGIで生成されたウインドの中の値を元のウインドのフォームの中に
返すうまい方法はないでしょうか?
以下、ポップアップから元のウインドに値を戻すスクリプト部分です。

<!--//
function modosu() {
window.opener.document.元ウインドのフォーム.hoge.value = document.検索結果のフォーム.hoge.value;
window.close();
}
//-->
検索結果のhogeを元ウインドのhogeに入れてポップアップのウインドを閉じるということがしたいわけです。

そもそもそんなこと不可能?

271 名前:Name_Not_Found 投稿日:04/02/03 19:16 ID:yVRf5yt+
>>267>>269
this.valueの使い方を愚愚っていたらもう出来ていました。
これでパレットが出来ます。267、269さんレスありがとうございました。
P.S. onFocus="select()"は分かりやすいんでとっおきます。

272 名前:Name_Not_Found 投稿日:04/02/03 20:01 ID:yVRf5yt+
>>267>>269さん
266ですが
応用としてテキストフィールドなどに送るときは
document.forms名.テキストフィールド名.value;
として、 window.clipboardData.setData("Text", x);の後に
入れたんですが、動作しません重ね重ね申し訳ありませんが、
こちらもお願いします。

273 名前:Name_Not_Found 投稿日:04/02/03 20:39 ID:???
>>271
select()を残したいなら、
<input type="button" onClick="select(); setCB(value);" value="#0000ff">
と書けばいい。onFocus は要らない。

>>272
質問の意味がわからん。書いたコードを見せて欲しい。

274 名前:Name_Not_Found 投稿日:04/02/03 20:50 ID:???
>>270
function modosu() {
open(opener.url + "#" + document.検索結果のフォーム.hoge.value, opener.name);
window.close();
}



275 名前:Name_Not_Found 投稿日:04/02/03 21:02 ID:yVRf5yt+
>>273
これなんですが
<html>
<head>
<title></title>
<script language="JavaScript">
<!--
function setCB(x)
{
 window.clipboardData.setData("Text", x);
document.out.color_out.value;
}
// -->
</script>
</head>
<body>
<table>
<form name="color">
<TR>
<TD bgcolor="#000000">.</TD><TD><input type="button" onClick="select();setCB(this.value)" value="#000000"></TD>
<TD bgcolor="#000033">.</TD><TD><input type="button" onClick="select();setCB(this.value)" value="#000033"></TD>
<TD bgcolor="#000066">.</TD><TD><input type="button" onClick="select();setCB(this.value)" value="#000066"></TD>
</TR>
</form>
</table>
<form name="out">
<input name="color_out" type="text" value="color" size="20">
</form>
</body>
</html>


276 名前:Name_Not_Found 投稿日:04/02/03 21:18 ID:???
>>270
別鯖のページ内容にアクセスすることはセキュリティ制約のため
不可能。おしまい。

277 名前:Name_Not_Found 投稿日:04/02/03 21:30 ID:???
>>275
> window.clipboardData.setData("Text", x);
> document.out.color_out.value;

引用してもらうのは、この2行だけでよかったんだけどね。
要するに、クリップボードに入れた値をフォームに表示もしたい、ということ?

なら、↑の2行目を↓のように修正して。
document.out.color_out.value = x;

あと、分かってると思うけど、もうちょっと勉強したほうがいい。
あまりにも初歩的な質問は、叩かれることが多いから。

278 名前:Name_Not_Found 投稿日:04/02/03 21:55 ID:yVRf5yt+
>>277
>あと、分かってると思うけど、もうちょっと勉強したほうがいい。
あまりにも初歩的な質問は、叩かれることが多いから。
おっしゃるとうりです。適切なご指摘ありがとうございます。
出入り禁止にならないよう、もう少し勉強します。


279 名前:Name_Not_Found 投稿日:04/02/03 22:59 ID:kSIMRfZJ
>>261
有り難うございます。
自分自身の名前を知る方法は無いのですね。残念です。
提示頂いたグローバル(window)な変数で取得するのは面白い
アイデアだと思いますので利用したいと思います。
ありがとうございました。

でも、自分自身が分からないなんて、何ででしょうね。
同じクラス?をnewでたくさん作ったりした場合に必要になる
と思うんですけど。

280 名前:Name_Not_Found 投稿日:04/02/03 23:40 ID:???
>>279
ちょっと聞きたいたいのだけど。
var a = new Object();
var b = a;
さてこのオブジェクトの名前は何?もちろん、オブジェクトは
1つだけで変数aもbも同じオブジェクトを指しているわけだが。

281 名前:Name_Not_Found 投稿日:04/02/03 23:45 ID:je4f3rem
http://localhost/do_something.cgi?id=100&id=101&id=102&id=100

上記のようなパラメーター付きのURLがあります。
そのパラメーターは同じ名前で値が異なるものが並んでいます。
上の例では「id=100」が重複しているのですが、この重複を
取り除いた location.href を取得したいのですが、どんなコードで
重複を検知し、また取り除くことができるでしょうか?

282 名前:Name_Not_Found 投稿日:04/02/04 00:01 ID:???
>>281 ホレ。でもreplace()を使った方がもっと短いかな。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<pre><script type="text/javascript">
var s = 'http://localhost/do_something.cgi?id=100&id=101&id=102&id=100';
var a = s.split('?'), b = a[1].split('&'), c = [], d = {};
for(var x in b) if(!d[b[x]]) { c.push(b[x]); d[b[x]] = true; }
var t = a[0] + '?' + c.join('&');
document.writeln(t);
</script></pre>
</body></html>


283 名前:Name_Not_Found 投稿日:04/02/04 00:02 ID:uVJVRLWT
>>280
どういう意図か分かりませんが。
var b = a;
このオブジェクトは同じものです。同じ"場所"を示しています。

284 名前:Name_Not_Found 投稿日:04/02/04 00:29 ID:???
>>283
だから、このオブジェクトの名前は一つに定まらないでしょう?
実際、一つのオブジェクトにはいくつでも名前を付けることができる。
var a, b, c, d, e, f, g...;
a = b = c = d = e =... = new Object;

>>269のメソッドは、そのうち最初に見つかった変数名を返すだけだよ。

285 名前:281 投稿日:04/02/04 00:42 ID:???
>>282

Thanks。かっこいいコードだね。惚れたよ。

286 名前:Name_Not_Found 投稿日:04/02/04 00:45 ID:uVJVRLWT
>>284
>>279では、「newでたくさん作った...」と書きましたが、
"たくさん作った"という言葉の解釈が、
a=b=c=d=e=...=new Object;
だと思われたのでしょうか?

287 名前:Name_Not_Found 投稿日:04/02/04 01:30 ID:???
>>286
こちらは、あなたの今回の特定の場合ではなくて、一般論の話をしています。
つまり、

オブジェクトを一つ取り出して、それにつけられた変数名を一意に定めることは
場合によってはできない。逆にいえば、特定の場合を除いてできない。

だから、変数名からオブジェクトを取り出すことはできても、
オブジェクトから変数名を取り出すことの汎用的な手段は存在し得ない、という
理屈を説明しているんです。

つまり、JavaScript のオブジェクトが属性値として変数名を持っていない
ことの理由です。

JavaScript に限らず、私の知る言語はみんなそうなっています。

288 名前:Name_Not_Found 投稿日:04/02/04 01:57 ID:uVJVRLWT
一般論の話ですか。

『変数名からオブジェクトを取り出す』のが可能なら、オブジェクトから変数名
を取り出すことが出来るのは理屈に合うと思いますよ。
"誰から呼ばれたのか"ですから一意には当然ならないと思いますが。

どの変数から呼び出されたのか。callerのようなものがあったとしてもいいと
思いますね。関数ではあるんですから。

289 名前:Name_Not_Found 投稿日:04/02/04 02:39 ID:???
>>288
なるほど、こちらもあなたの意図を誤解していたようです。
現在、どの変数からオブジェクトが呼ばれているのか、ということですね?
これは面白いかもしれませんね。
(new Func()).myself() などは null を返すということで。

しかし、実現の可能性は高いと思いません。
caller や callee は、変数スコープの管理機構という既存の仕組みを
利用して実現できますが、変数の場合、実行コンテクストの新たな
管理の仕組みを導入しなければならない。
メリットに比べて、実現にかかる手間が大きすぎると思います。

と言うより、正直に申しますと、これを導入することによる
具体的なメリットが、私には思いつかないです。
オブジェクト同士を区別する方法は、他にいろいろありますので。

290 名前:Name_Not_Found 投稿日:04/02/04 03:10 ID:ejM8mR+O
こんばんは。
あるJavaScriptの解説ページに
「著作権は放棄しません」と書いてあったんですが、
JavaScriptのコードに著作権って発生するのでしょうか?

HTMLタグなどと同じように著作権などないと思いますが、どうなのでしょう?

291 名前:Name_Not_Found 投稿日:04/02/04 04:34 ID:???
>>289
Function.prototype.getName = function(){
return ("" + this).replace("function ","").replace(/\(.*\)\s*\{\s*.*\s*\}/,"");
};

function abc(){
}
abc.myself(){
alert(this.getName);
}

>>290
HTMLにもJavaScriptにも著作権は発生します

292 名前:Name_Not_Found 投稿日:04/02/04 04:36 ID:ejM8mR+O
>>291
ご回答ありがとうございます。

それじゃあ、例えば
document.writeと書いただけでも、著作権の所在としてそこのサイトのURLを載せなくてはならないのでしょうか?

293 名前:Name_Not_Found 投稿日:04/02/04 04:45 ID:???
>>292
独創性が無いと著作権は発生しないはず

document.writeを考えたのはJavaScriptを作った人だと思うので
その人の名前を書いた方が正確だと思う。

294 名前:Name_Not_Found 投稿日:04/02/04 08:16 ID:???
IE6なのですが、↓のようにifがスルーされてるようです。
何か根本的な間違いがあるんでしょうか?

・これだとhoge-hogeのアラートが出ない

var data="abcdef";
var rgexp=new RegExp("(abc)","g");
alert(rgexp.test(data));
if(rgexp.test(data)) alert("hoge-hoge");


・この3つだとhoge-hogeが出る

var data="abcdef";
var rgexp=new RegExp("(abc)","g");
// alert(rgexp.test(data));        ←これをやめる
if(rgexp.test(data)) alert("hoge-hoge");

var data="abcabcdef";//         ←2個マッチする
var rgexp=new RegExp("(abc)","g");
alert(rgexp.test(data));
if(rgexp.test(data)) alert("hoge-hoge");

var data="abcdef";
var rgexp=new RegExp("(abc)");//     ←gをつけない
alert(rgexp.test(data));
if(rgexp.test(data)) alert("hoge-hoge");


295 名前:Name_Not_Found 投稿日:04/02/04 08:32 ID:???
>>294
test() の動作を理解汁。

test() は exec() の結果が null でないかどうかを返すメソッドだが
この exec() はグローバルマッチの時
RegExpオブジェクトのlastIndexプロパティ(次回のマッチング開始位置)を
マッチングが終了した場所に設定し、先頭にリセットしない。
つまり rgexp.test(data) を一度呼ぶと
次回の rgexp.test(data) ではマッチングが "def" の部分から行われる。

というわけでそういう動作になる。

296 名前:Name_Not_Found 投稿日:04/02/04 13:20 ID:???
>>295
なるほど、そういう訳だったんですね。
test()を繰り返すとtrue、falseが交互に出てきました。

297 名前:Name_Not_Found 投稿日:04/02/04 13:56 ID:dQZ/MRJz
子ウィンドウを開いて、その子ウィンドウの中に、
親ウィンドウのあるテキストボックスの値を表示させることはできませんでしょうか?

要は、親ウィンドウのnameが取得できなくてこまってます・・・

298 名前:Name_Not_Found 投稿日:04/02/04 14:10 ID:???
>>297
opener
http://www.openspc2.org/JavaScript/ref/window/opener.htm

299 名前:Name_Not_Found 投稿日:04/02/04 14:51 ID:???
配列に配列を代入すると中身が連動してしまいます。
これを防ぐ方法はありませんか?

300 名前:Name_Not_Found 投稿日:04/02/04 15:00 ID:???
>>299
var a=new Array();
a[0]=1;
a[1]=2;
//var b=a;
var b=new Array(a);//こうする
b[0]=3;
b[1]=4;
alert(a[0]);

301 名前:Name_Not_Found 投稿日:04/02/04 15:09 ID:???
>>299
b = Array.apply(null,a);

302 名前:Name_Not_Found 投稿日:04/02/04 15:10 ID:???
質問させていただきます
http://hp18.e-notice.ne.jp/~tsukuro/j_etc6.html
これをコピペして使わせてもらっているのですが
alt属性を使いたいとおもい
色々なところに入れて試しているのですが
表示自体されなくなってしまいます。
どこに入れればいいのか教えていただけないでしょうか?

もう一つ質問があるのですがjavascriptを切ってる人用に
変わりの画像を同じ場所に置いておこうと色々
やっているのですがコレもうまくいきません。
表示されなかったり 上に画像がつくだけだったり。
検索しますのでキーワードいただけないでしょうか?

2つも質問しました。よろしくお願い致します。

303 名前:Name_Not_Found 投稿日:04/02/04 15:14 ID:???
>>302
document.write("<img src='",img[n],"' alt='代替テキスト' border=0>");
何となく思うんだが単引用符と二重引用符でコケてるとかじゃないだろうか。

> javascriptを切ってる人用
noscript

304 名前:Name_Not_Found 投稿日:04/02/04 15:42 ID:???
>>300
a="abc".match(/./g);//matchの配列なので
var b=new Array(a);//こうしたら

//a[0]=a  a.length=3
//b[0]=a,b,c  b.length=1  こうなりました

>>301
これからやってみます

305 名前:Name_Not_Found 投稿日:04/02/04 15:54 ID:???
>>301 ありがとうございます。ちゃんとできました。

a="abc".match(/./g);
b = Array.apply(null,a);
alert("a[0]="+a[0]+" a.length="+a.length+"\nb[0]="+b[0]+" b.length="+b.length);
//a[0]=a  a.length=3
//b[0]=a  b.length=3  うまくできました

b[1]="10";
alert("a="+a+"\nb="+b);
//a=a,b,c
//b=a,10,c  思っていた通りの動作です


306 名前:302 投稿日:04/02/04 16:00 ID:???
>>303
ありがとうございました。
2つとも無事に動くようになりました。

>何となく思うんだが単引用符と二重引用符でコケてるとかじゃないだろうか。
はい、「"」を使っておりました。

noscriptで検索してみたら一発でみつかりました。

本当に勉強になりました。ありがとうございました。

307 名前:297 投稿日:04/02/04 16:21 ID:???
>>298
おお。ぐれーとさんくす。

308 名前:Name_Not_Found 投稿日:04/02/04 17:30 ID:GzZNG1JK
>>270です。事後報告です。
>>274さん、れす&ソースどうもありがとうございます。
>function modosu() {
>open(opener.url + "#" + document.検索結果のフォーム.hoge.value, opener.name);
>window.close();
>}

試してみたけど元のウインドのURL
http://hoge.com/cgi-bin/検索スクリプトの置き場/undefined#検索結果のなかの本来戻したいvalue
というURLで新しいウインドがオープンするだけで当然not foundになってしまいます。

>>276さんの言うとおり無理なのかな?

あと、実験中もおもろいことを発見しました。
同鯖上ではちゃんと結果のウインドの特定のバリューが元ウインドの望んだ位置に
挿入されたというの確認済みなんですがかったるくてwwwを抜いてアクセスしたら途端に
「アクセスがきょひされますた」と別鯖にあるのと同じのと同じエラーが。
とおもったらブラウザによっては大丈夫だったり。なんでだろう?

309 名前:Name_Not_Found 投稿日:04/02/04 19:36 ID:???
>>308
function modosu() {
open(opener.location + "#" + document.検索結果のフォーム.hoge.value, opener.name);
window.close();
}

元のウィンドウ
onload=function(){
document.元ウインドのフォーム.hoge.value = location.hash;
}

310 名前:Name_Not_Found 投稿日:04/02/04 21:42 ID:???
# こちらに誘導されてきました

JavaScriptでFORMのコントロール部品を動的に追加できませんでしたっけ?
<input type="hidden" name="hoge">
<input type="hidden" name="hoge">
事前に2つ定義しておけば配列として認識されるので3つ目以降は動的に追加できる
と記憶していたんですが、VisualBasicとゴッチャになってるかもで自信ないです。



311 名前:Name_Not_Found 投稿日:04/02/04 22:47 ID:???
innerHTML

312 名前:308 投稿日:04/02/05 00:19 ID:SmHv5ho1
>>309
>>274さんなのかな?そーすどうもです。

今日はもうだめぽなので明日早速ためしてみます。
ところで追加になった元ウインドのonloadですがonloadってことは
元ウインドを再読み込みさせないとだめってことですか?
だとしたら検索結果のウインドを閉じるときに元ウインドをなんとか
再読み込みさせないとだめってことですよね?

313 名前:Name_Not_Found 投稿日:04/02/05 01:07 ID:???
>>310
事前登録は別に1個でも0個でも構わない。必要ないです。

あと、innerHTMLを使うのが比較的簡単ですが、きちんとしたコントロールには
DOM の知識が必要になってきます。

私の知る範囲では、このページがいちばん分かりやすかったです。
はじめてのDOM
http://www.parkcity.ne.jp/~chaichan/src/javascdom01.htm

314 名前:Name_Not_Found 投稿日:04/02/05 01:29 ID:???
>>310, 313
DOMでまともにフォームを作成しようとするとIEがコケて使い物にならない。
具体的には createElement で生成した input 要素に name 属性を指定できず
createElement('<input name="hoge">') なんて吐きそうなコードを書く羽目になるので
だったら innerHTML でも同じかと思う。
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/name_2.asp

315 名前:310 投稿日:04/02/05 02:10 ID:???
>>311 >>313 >>314
ありがとうございます!できるということが分かったので嬉しい。
まずは教えていただいたサイトで勉強してきます。


316 名前:Name_Not_Found 投稿日:04/02/05 10:24 ID:TMQ7AbNs
教えてください。

GETで送ったパラメータは
window.location.search;
で取得できます。

POSTの場合はどうやって取得するのですか?

317 名前:Name_Not_Found 投稿日:04/02/05 10:28 ID:???
>>316
POSTで送った情報はクライアントサイドでは取得できません。

318 名前:Name_Not_Found 投稿日:04/02/05 10:41 ID:TMQ7AbNs
>>317
早急な回答ありがとうございました。

そうですかー。
PHPとかあの辺じゃないとPOSTは無理なんですね

319 名前:Name_Not_Found 投稿日:04/02/05 13:06 ID:iAELfHrq
ttp://excite.co.jp/world/text/
ここにあるようなテキストボックスの中身に最初から文字列を入れて置いて
クリック一つでそれがクリアーされて記入し始めることが出来るシンプルスクリプトは
どうつくればよいのでしょうか?
ここのソースを見る限りフラグをどうたらしてるようで自分には理解不能。
おまけにこれは特定のテキストボックス専用だからどこからでも使い回せたら
いいんだけど。
オンクリックでそこの内容をクリア、なら簡単なんだけど既に記入したとこを
あとから直そうとしてクリックしたら消えちゃうし。どうしたらいいんだろう?

320 名前:Name_Not_Found 投稿日:04/02/05 13:19 ID:???
>>319
精進する。

321 名前:Name_Not_Found 投稿日:04/02/05 13:44 ID:???
>>319
基本はこんな感じだ。後は知恵をしぼれ。

<script>flag=0;</script>
<textarea onclick="if(!flag++)this.value=''">

322 名前:Name_Not_Found 投稿日:04/02/05 14:28 ID:???
replaceの中の正規表現で、変数を使いたいんですが置換してくれません。
変数使う方法教えてください。

var word = "aa"
alert("aaabbbaabb".replace(/word/g,"cc"));

323 名前:Name_Not_Found 投稿日:04/02/05 14:40 ID:iAELfHrq
>>319です。
>>321さん、どうもです。
う〜ん、わからん、最初の一個にしか通用しないんですね。
それぞれのテキストエリアにflag=0を追加するといけますが
既に入力されてる物もリセットされてしまう。(追加修正できない)

324 名前:Name_Not_Found 投稿日:04/02/05 15:19 ID:???
>>323
完全自動化出来たかな?
onclick以降かちと長いが…

<SCRIPT language="JavaScript">
var flags = new Array();
</SCRIPT>
<TEXTAREA onclick="if(flags[this.sourceIndex] == null){ this.value=''; flags[this.sourceIndex] = true;}">初期値</TEXTAREA>

325 名前:Name_Not_Found 投稿日:04/02/05 15:59 ID:iAELfHrq
>>319です
>>324さん、ばっちりですよ!
たしかにちと長いけど使えますね。これは。
秘密ノートにペーストしときます。
短くならないかとあふぉな事を自分でためしますた。(もちろん自爆)
<SCRIPT language="JavaScript">
var flags = new Array();
function clear(){
if(flags[this.sourceIndex] == null){ this.value=''; flags[this.sourceIndex] = true;}
}
</SCRIPT>
って感じにまとめて
onclick="clear();"で呼び出そうと。外部化できたらさらに便利だなと。
やってみたらドキュメント全部消えます。テキストエリアのあたりをクリックすると
テキストエリアだけ再び現れるという変な現象になりました。ブラクラ一歩手前。
自分の囓っただけの知識で考えるにthisをいろんな場所から使うのは出来ないんじゃないかと
おもた。

326 名前:Name_Not_Found 投稿日:04/02/05 16:30 ID:???
>>325
<textarea onfocus="if(this.value==this.defaultValue){this.value='';};">xxx</textarea>
でもいいような気がする。
ただし初期値と同じ値をユーザーが代入したらそれも消えるが。

327 名前:324 投稿日:04/02/05 16:41 ID:???
>>325
それをやるなら、こんな感じ。
thisを関数内で呼び出すと、this=関数になってしまう。
オブジェクトの方で呼び出す。
ほぼ独学だし、漏れもあまり詳しくないんだけどね(汗
ドキュメントが全部消えるのは、多分document.clear()メソッドと取り違えられてるんじゃないかな?
ここではclr()としてるが、clear()にするとこのスクリプトは動作しなくなる。

<SCRIPT language="JavaScript">
var flags = new Array;
function clr(obj){
if(flags[obj.sourceIndex]++ != null){ obj.value = ''; flags[obj.sourceIndex] = true;}
}
</SCRIPT>
<TEXTAREA onclick="clr(this);">初期値</TEXTAREA>

328 名前:Name_Not_Found 投稿日:04/02/05 16:46 ID:???
>>322
RegExp

329 名前:Name_Not_Found 投稿日:04/02/05 17:01 ID:???
>>322
var re=/word/g;
var word = "aa"
alert("aaabbbaabb".replace(re,"cc"));

330 名前:Name_Not_Found 投稿日:04/02/05 17:04 ID:???
>>322
A1:
var word = "aa"
alert("aaabbbaabb".replace(new RegExp(word, "g"), "cc"));

A2:
var word = new RegExp("aa", "g");
alert("aaabbbaabb".replace(word, "cc"));

A3:
var word = /aa/g;
alert("aaabbbaabb".replace(word, "cc"));

A4:
var word = "aa";
alert("aaabbbaabb".replace(eval("/" + word + "/g"), "cc"));


331 名前:Name_Not_Found 投稿日:04/02/05 19:28 ID:???
>>325
onclick="value='',onclick=null;"

332 名前:Name_Not_Found 投稿日:04/02/05 20:26 ID:O32qIL9P
DOMの質問です。
Mozillaではbodyの下マージンを大きく取る必要があるときに、
var D=document;
var DOM=document.getElementById;
var Opera=(navigator.userAgent.indexOf("Opera")!=-1 && DOM)?1:0;
var N6=(DOM && !D.all && !Opera)?1:0;
if (N6) {
document.getElementsByTagName('body').style.marginBottom='2.5em';
}
としたのですが、何も変化しません。Netscape7.1で確認。
DOMがよくわかってないので下らぬ誤りがあるのかしれませんが、
修正方法をご教示下さると助かります。

333 名前:Name_Not_Found 投稿日:04/02/05 20:40 ID:???
>>332
document.getElementsByTagName('body')[0].style.marginBottom='2.5em';

でどう?
getElementsByTagName が返すのは配列

334 名前:332 投稿日:04/02/05 20:47 ID:???
>>333 [0]を加筆しましたが、やはり作動しません。

335 名前:332 投稿日:04/02/05 20:53 ID:???
いや、すみません、ミスでした。作動しました。有り難うございます。

336 名前:Name_Not_Found 投稿日:04/02/05 21:25 ID:Z5ZazS+/
<input type="submit" name="action" value="処理A">
<input type="submit" name="action" value="処理B">

サーバ側プログラムの関係で、上のように2つの同一名のサブミット
ボタンがあります。

サブミット時にどちらのボタンが押されたかをJavaScriptで
判断することはできますか?

337 名前:Name_Not_Found 投稿日:04/02/05 23:13 ID:???
>>336
onsubmitハンドラの中で判断するということ? それなら2つのinput
にそれぞれonclickを指定して違うパラメタを渡してそれで区別とか
の方が素直かと。

338 名前:336 投稿日:04/02/05 23:31 ID:???
>>337
なるほど、そういう手がありましたね。

var action = "";
function setAction(a) {
  action = a;
}

function checkAction() {
  alert(action);
}

<form onSubmit="checkAction()">
<input ... value="処理A" onMouseDown="setAction('処理A')">
<input ... value="処理B" onMouseDown="setAction('処理B')">


こんな感じでいけました。

339 名前:Name_Not_Found 投稿日:04/02/06 02:49 ID:ofkIayAJ
質問というか、素朴な疑問なんだけど。
二つの配列を比較して、同じ内容かどうか判断する場合、一番簡単なやりかたはどうすればいいんでしょうか。
for next と if 文を駆使すれば判断は可能ですが、それだと効率が悪いし重いです。
なにかいい手段があればご教授願います。

340 名前:Name_Not_Found 投稿日:04/02/06 04:53 ID:???
>>339
if([1,2,3].toString()==[1,2,3].toString())
alert("同じ")

341 名前:Name_Not_Found 投稿日:04/02/06 07:18 ID:???
>>340
こりゃあうまいや。通常の用途なら十分だ。感動した。

342 名前:Name_Not_Found 投稿日:04/02/06 11:22 ID:tYeusIxU
<input type="text">などにフォーカスが移ったときなどにimeを自動的にon
にすることは出来ますか? IE6だけで構わないのですが。

343 名前:Name_Not_Found 投稿日:04/02/06 11:31 ID:???
>>342
CSS独自拡張の ime-mode はどう。
ttp://tohoho.wakusei.ne.jp/css/reference.htm#ime-mode

344 名前:Name_Not_Found 投稿日:04/02/06 11:35 ID:tYeusIxU
>>343
有り難うございます。
JavaScript使わずに、CSSで出来るんですね。


345 名前:Name_Not_Found 投稿日:04/02/06 16:00 ID:ubkk8ged
ハーイ、シツモーン! (/*・・)o
javascriptで【印刷】ってボタン押した時に、ツールバーの印刷ボタン押した時みたいに印刷ダイアログを出さずに即印刷!!ってできます?
よろしくお願いします(-m-)”

346 名前:Name_Not_Found 投稿日:04/02/06 16:36 ID:???
>>345
ああ

347 名前:Name_Not_Found 投稿日:04/02/06 17:04 ID:tYeusIxU
漠然とした質問ですいませんが..
配列や変数などを2000〜10000ほど使用しているJavaScript
なのですが、その場でブラウザで何度かリロードすると徐々に
画面表示が遅くなっていきます。

使用した変数などが残ってしまうのかな?と思い、body のonunloadとして、

for(var xx in window){
 try{
  delete(window[xx]);
 }catch(e){}
}
としてとりあえずこのようにして削除しているのですが、全く改善されません。
何かいい方法はありますでしょうか?

348 名前:Name_Not_Found 投稿日:04/02/06 19:25 ID:E+T2Hyxs
サイト・メニューを記したナヴィゲーション用オブジェクト(ID="navbar")を
上下にスクロールしても常に最下部に表示させたいので、
position:fixed;を実装しないIEのため下記の通りのスクリプトを仕組みました。
IE6互換モードでは動作しましたが、標準準拠モードではうまくゆかなくなります。
<SCRIPT TYPE="text/javascript"><!--
var DOM=document.getElementById;
var Opera=(navigator.userAgent.indexOf("Opera")!=-1 && DOM)?1:0;
var IE=(document.all && !Opera)?1:0;
var IE6s=((navigator.appVersion.indexOf("MSIE 6")>-1) && DOM && document.compatMode=="CSS1Compat")?1:0
function alwaysBottom() {
object=IE?navbar.style:document.getElementById('navbar').style;
var top="top";
objH=document.getElementById('navbar').offsetHeight;
newY=IE6s?D.documentElement.scrollTop:IE?D.body.scrollTop:window.pageYOffset;
objY=newY + document.body.clientHeight - objH;
if (newY>-1){Y=object[top]=objY};
}
if(NN4||IE||DOM) {setInterval("alwaysBottom()",50);}//5秒毎
//--></SCRIPT>
<STYLE type="text/css"><!--
#navbar {position:absolute; right:0;left:0; margin-bottom:0; z-index:50;}
--></STYLE>
どう修正すればよいか、ご指摘下さいませんか。

また、ページ最下部の上にオブジェクトが重なって隠れるのを回避するため
body要素の下マージンをオブジェクトの高さ分だけ指定しようと
bodM=document.getElementsByTagName('body')[0].style.marginBottom;
if (object.position!=='static') {bodM=('objH');};
と追記しましたが、無効でした。これも正しいやり方をご教示いただけると助かります。

349 名前:348 投稿日:04/02/06 19:29 ID:???
newY=IE6s?D.documentElement.scrollTop:IE?D.body.scrollTop:window.pageYOffset;

newY=IE6s?document.documentElement.scrollTop:IE?document.body.scrollTop:window.pageYOffset;


350 名前:Name_Not_Found 投稿日:04/02/06 20:11 ID:???
>>349
そんなことするより
var body = document.documentElement || document.body;
とかしてあとはこの変数を使っとけばいいんじゃない。ブラウザが
何であるかによらず。

351 名前:348 投稿日:04/02/06 20:13 ID:???
body要素の下マージンをオブジェクトの高さ分だけ指定するのは、
if (IE) {D.getElementsByTagName('body')[0].style.marginBottom=objH;};
で出来ました。自己解決すみません(でもなんで失敗したかはよくわかってない……)。

ただ、IE6 Strictモードで意図通り動作しないのは、まだ直りません。
また、できればクロス・ブラウザにしてOpera7やMacIEでも動作可能にしたいのですが
私の手にはあまります。どうか改良案を御示教下さい。

352 名前:348 投稿日:04/02/06 20:30 ID:???
>>350
ご指摘に従って、>>348
var Body = document.documentElement || document.body;
newY=IE?Body.scrollTop:window.pageYOffset;
と修正すると、IE6 Quirksモードで動かなくなります。
さらに
objY=newY + Body.clientHeight - objH;
とすると、オブジェクトが消えて見えなくなりました。
何かいけないやり方をしてますか?
Strictモードならご指摘の修正が有効ですが……。

353 名前:Name_Not_Found 投稿日:04/02/06 21:20 ID:???
>>348をMozillaで動作可能にするには
var unit=(!N6)?'':'px';//追加(NN6strictモード単位必須)
if (newY>-1){Y=object[top]=objY+unit};
とすればよい。
しかしQuirksモードにしてNetscape7.1で確認したら、動作は問題ないけれど、
なぜかそのページにHR要素があるとそれがチカチカ小刻みに点滅する。

354 名前:Name_Not_Found 投稿日:04/02/06 22:27 ID:???
>>353
CSS/DHTMLバグ辞典スレッド 第3版
http://pc2.2ch.net/test/read.cgi/hp/1050844510/779-


355 名前:Name_Not_Found 投稿日:04/02/06 23:04 ID:IF4fKqfs
また質問させてください
http://www.enjoy.ne.jp/~tokutpk/HTML/Java_Script/java_script_030/java_script_030.htm
これなんですがlengthを使ってシンプルで応用が利くように改造したいんですが、
うまい方法はないでしょうか?お願いします。


356 名前:Name_Not_Found 投稿日:04/02/06 23:15 ID:???
あんたの好みに改造したいなんて言われても我々には分からんよ。

357 名前:Name_Not_Found 投稿日:04/02/06 23:41 ID:IF4fKqfs
355です。
漠然とした訊き方で申し訳ありません。
つまり、セレクトボックスからテキストエリアに複数のキーワードを追加して
複数の検索エンジンでボタン一発で検索出来るようにしたいのですが、
だめですかね

358 名前:Name_Not_Found 投稿日:04/02/06 23:48 ID:???
>>357
ガンバレヨ。まずは自分で

359 名前:Name_Not_Found 投稿日:04/02/06 23:49 ID:???
>>351 NN4以外ではうまくゆく(はず)。MacIEとかIE4とかは持ってないので要確認。
var D=document;
var DOM=document.getElementById;
var Opera=(navigator.userAgent.indexOf("Opera")!=-1 && DOM)?1:0;
var IE6s=((navigator.appVersion.indexOf("MSIE 6")>-1) && D.compatMode=="CSS1Compat")?1:0;
var IE=(D.all && !Opera)?1:0;
var lteIE4=(IE && !DOM)?1:0;
var N6=(DOM && !D.all && !Opera)?1:0;
if(lteIE4) {D.getElementById = function(id){ return D.all[id];}};
function alwaysBottom() {
object=IE?navbar.style:document.getElementById('navbar').style;
if (N6 && object.position!=='static'){
object.position='fixed';object.bottom='0';object.marginBottom='0';
}
else if(!IE && object.position!=='static') {object.position='absolute'; object.top='0';}
var top=IE?"pixelTop":"top";
var Body =IE6s?document.documentElement:document.body;
newY = IE?Body.scrollTop:window.pageYOffset;
objH = IE?navbar.offsetHeight:document.getElementById('navbar').offsetHeight;
objY = newY + Body.clientHeight - objH;
if (newY>-1 && !N6){Y=object[top]=objY+unit};
if (IE||N6||DOM) {D.getElementsByTagName('body')[0].style.marginBottom=objH;};//N7QuirksでHRバグ
}
if(NN4||IE||DOM) {setInterval("alwaysBottom()",50);}

360 名前:Name_Not_Found 投稿日:04/02/06 23:51 ID:???
if(NN4||IE||DOM) {setInterval("alwaysBottom()",50);}

if(IE||DOM) {setInterval("alwaysBottom()",50);}
に訂正。



361 名前:Name_Not_Found 投稿日:04/02/07 00:10 ID:k0iGmXVE
>>356>>358さんレスありがとうございます。
<HTML><HEAD>
<script language=javascript>
function chm(o){
var k_g = ""
for(i=0 ; i<o.k_s.length ; i++){
if(o.k_s.options[i].selected){
k_g += "" + o.k_s.options[i].text
}
}
document.o.q.value = document.o.q.value+" "+k_g;
}
</script>
</head>
<body>
<form action="http://www.google.co.jp/search" method=get name="o" target="_blank">
<select name=k_s size=20 multiple>
<option>1<option>2<option>3<option>4<option>5<option>6<option>7<option>8</option>
</select>
<textarea name="q" cols="20" rows="20" wrap="virtual" accesskey="z" tabindex="1" value="test"></textarea>
<br>
<input type="hidden" name="hl" value="ja">
<input type="submit" value="I'm f.l" name="btni" onclick="chm(this.form)">
<input onclick="chm(this.form)" type="submit" name="btng" value="google">
<input type="button" value="追加" onclick="chm(this.form)">
<input type="reset">
</form>
</BODY></HTML>
只今こんな感じです。複数同時に選択するとスペースが出てきません。
どうかアドバイスよろしくお願いします。

362 名前:Name_Not_Found 投稿日:04/02/07 00:44 ID:ivI6FyOA
Webサイト制作初心者用スレで質問したらジャバスク板池と言われたんですがこちらで
よろしいでしょうか?質問は↓です。

トップ画像を複数枚用意して、ページにアクセスされるたびにその画像を
ランダムで(または順番に)表示するっていうことは出来ますか?


363 名前:Name_Not_Found 投稿日:04/02/07 00:47 ID:???
>>362 出来ます。//

364 名前:Name_Not_Found 投稿日:04/02/07 00:49 ID:k0iGmXVE
<form method=GET action="http://www.google.co.jp/search" target="_blank">
<input type=text name=q size=35 maxlength=255 value="site:www.openspc2.org ">
<input type=hidden name=hl value="ja">
<input type=submit name=btnG value=" ">
</form>


365 名前:Name_Not_Found 投稿日:04/02/07 00:54 ID:???
>>362
http://tohoho.wakusei.ne.jp/js/index.htm
この辺り読んでみれ。
HTML解るならすぐ理解&活用できるようになる。

366 名前:Name_Not_Found 投稿日:04/02/07 01:00 ID:???
>>365
今ちょうどそこ見てました。なんか出来そうです。
ありがとうございました。


367 名前:Name_Not_Found 投稿日:04/02/07 01:16 ID:k0iGmXVE
2chでIDを???にする方法教えて下さい。(笑)

368 名前:Name_Not_Found 投稿日:04/02/07 01:27 ID:???
>>367
とりあえずsageれ。話はそれからだ。

369 名前:Name_Not_Found 投稿日:04/02/07 01:32 ID:???
sage忘れました。すんません。

370 名前:Name_Not_Found 投稿日:04/02/07 01:33 ID:???
あっ〜〜〜〜〜〜(笑)

371 名前:Name_Not_Found 投稿日:04/02/07 01:39 ID:1sy7evda
質問です

ページ内に、印刷ボタンを配置したいのですが、
Mac IE5 のみ機能しません。
改善策はあるのでしょうか?

372 名前:Name_Not_Found 投稿日:04/02/07 02:05 ID:???
ソースも出してくれないんでは、回答できぬ。

373 名前:Name_Not_Found 投稿日:04/02/07 02:14 ID:???
>>347
誰も回答してないんで、一応。
それは多分、ブラウザのバグ(メモリリーク)だから、JavaScript 側からは
どうしようもない。せいぜい、

・プログラムを工夫して変数を減らす。
・ユーザに(比較的)安定したブラウザを使ってもらう。
・どうしても重くなったら、クライアントマシンを再起動してもらう。

ぐらいかなあ。

ちなみに Mozilla だと、IE と違ってブラウザだけ再起動すればいいから
ちょっと楽。

374 名前:371 投稿日:04/02/07 02:42 ID:???
テンパってて忘れてました。失礼しました。

imageやtxtに貼り付けたリンク
a href="javascript:window.print()
や、formを使用した
<form>
<input TYPE="button" VALUE="印刷" onClick="printDoc()">
</form>
など、ググったのを検証し続けていたのですが、
Mac IE5だけが機能しなくて、、、
古いHPには仕様的に無理っぽいことも書かれてたんスけど、
ナニか画期的なものが開発されているではないかと、
うっすら期待した次第です。どうでしょうか?

375 名前:Name_Not_Found 投稿日:04/02/07 03:04 ID:mZ4YTjxb
DOMを使って、HTML文書中で一番下の要素にスタイルを設定するにはどう指定すればいいですか。
<html><body>
<h1>見出し</h1>
<p>文章</p>
<p>文章<span>文字列</span></p>
<p>文章<em>文字列</em></p>
</body></html>
上の例だったら、document.body.lastChildは三番目のp要素の中のem要素ですよね?
それではなく、body直下の最後の要素(上の例なら三番目のp要素)に指定したいんです。


376 名前:Name_Not_Found 投稿日:04/02/07 03:54 ID:???
>375

もっと賢い方法もあるだろうけど とりあえず思いついた方法
その lastChild から parent をたどっていって parent が body になったら終了

377 名前:Name_Not_Found 投稿日:04/02/07 07:44 ID:???
> document.body.lastChildは三番目のp要素の中のem要素ですよね?
三番目のp要素で合ってると思いますよ
+body
    -h1
    -p
    -p
    -p

378 名前:Name_Not_Found 投稿日:04/02/07 07:58 ID:???
>>375-376
そもそもlastChildはそのノードの「直接の」子供のうちで最後のもの。
孫やひ孫のレベルまで降りて行くなんて勝手な解釈しない方が。
>>377
そうなんだけどブラウザによっては途中の改行なんかもノードに
なっているから(その方が仕様的には正しいらしい)。だから
lastChildで3番目のpを取りたければHTML末尾を ...</p></body></html>
と改行なしで書くようにした方が無難。だけどそんなの分かりにくい
から、けっきょくID振ってgetElementById()で取るのを勧める。

379 名前:Name_Not_Found 投稿日:04/02/07 08:06 ID:???
375です。
やっぱりいちいち全ページにid="bottom"とか振らないと駄目ですか……。

ちなみに</body>の直前が<script src="〜"></script>だと、
WinIEではエラーになりますね。
「document.body.lastChildはNullまたはオブジェクトではありません」だって。

380 名前:Name_Not_Found 投稿日:04/02/07 08:13 ID:???
>>379
なるほどID振らずに済ませたいのね、それだったら
childNodes[]配列を後ろから順に探していって
nodeNameが'p'である最初のものを取るのでどうかな。

381 名前:Name_Not_Found 投稿日:04/02/07 08:15 ID:???
>>379
あと1つ、script要素を末尾付近に入れるのはいいけど「ページの最後の
要素をDOMで操作する」のと併用するのはやっぱし危ういよ、onloadで
操作を起動する方が無難じゃないかな。

382 名前:Name_Not_Found 投稿日:04/02/07 08:16 ID:???
>>380
いや、ページによって必ずしもp要素が最後とは限らないんもんで。
divだったりaddressだったり。

383 名前:Name_Not_Found 投稿日:04/02/07 08:35 ID:???
>>382
で、結局「何が」したいのか最初に書いてくれた方が
ずっと話が速いと思うんだけどね。

384 名前:Name_Not_Found 投稿日:04/02/07 09:55 ID:pDuWMaMe
>>381
デタラメ言うな。

385 名前:NOT 381 投稿日:04/02/07 10:07 ID:???
>>384
どこがデタラメなん?

386 名前:Name_Not_Found 投稿日:04/02/07 13:20 ID:???
>>358
ガンバッタヨ。
>>361
レスなしですか?

387 名前:Name_Not_Found 投稿日:04/02/07 15:06 ID:???
>>386
<script language=javascript>
function chm(o){
var k_g = o.q.value; // セミコロン追加、初期値をテキストエリアから代入
for(i=0 ; i<o.k_s.length ; i++){
if(o.k_s.options[i].selected){
k_g += " " + o.k_s.options[i].text; // ""になってる(多分ケアレスミス)
}
}
k_g = k_g.replace(/^ /,""); // 文頭の空白除去
document.o.q.value = k_g; // テキストエリアリフレッシュ
}
</script>

基本はただのケアレスミスだが、検索語句の文頭が空白になるのが嫌なんで、そこも改良してみた

388 名前:Name_Not_Found 投稿日:04/02/07 15:45 ID:???
>>387
うほっレスありがとうございます。
>k_g = k_g.replace(/^ /,""); // 文頭の空白除去
は特にいいです。感謝致しました。
続けて、複数の検索エンジンでボタン一発で検索をガンバリマスので
その時も宜しく。



389 名前:Name_Not_Found 投稿日:04/02/07 17:08 ID:njPLr47i
388です
361を>>387にして、更にデータバインドにしてみました。
全ての機能はうまくいっているのですが、が、が、
しか〜し激しく文字化けして使い物になりません。
激しくガッカリです。
何方か文字化け回避方法をお知りの方は、ご教授くださいませ。

390 名前:Name_Not_Found 投稿日:04/02/07 17:27 ID:???
<param name="CharSet" value="Shift_JIS">
で直りました。(笑)お騒がせ致しました。


391 名前:質問 投稿日:04/02/07 21:37 ID:ETIfUhUo
フレーム内のプルダウンメニュー
<select name="mama"
onChange="MM_jumpMenu('parent.frames[\'main\']',this,0)">
・・・はMacでもWinでも問題なく機能するのに・・・

フレームなしのプルダウンメニュー
<select name="papa"
onChange="MM_jumpMenu('parent.frames[\'parent\']',this,0)">
・・・はWinでは機能するのにMacでは機能しないです。
>[\'parent\']を[\'top\']に変えても、やはりMacでは機能しないです。
ご教授ください。

392 名前:Name_Not_Found 投稿日:04/02/07 22:43 ID:???
洩れはそんな関数は知らん。だいたいブラウザも書かんと。
IEだったらWinとMacでは別物だから動作しなくたって不思議は
ないと思うが。

393 名前:391 投稿日:04/02/07 23:34 ID:ETIfUhUo
どちらもIEです。
MacのIEだとフレーム内ジャンプメニューは機能するのに、
フレームなしのジャンプメニューは機能しません。
MacのIEでも機能するJavaスクリプトのジャンプメニューってあるのでしょうか?

394 名前:Name_Not_Found 投稿日:04/02/07 23:39 ID:???
>>393
ブラウザは分かったけど誰もそんな関数は知らんってば

395 名前:Name_Not_Found 投稿日:04/02/08 00:14 ID:???
ユーザーに注意を促したいけどalert()だとちょっとウザイ
なので音だけ鳴らしたいんですがいい方法はありますか?

396 名前:391 投稿日:04/02/08 00:17 ID:xnxrn+1k
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
・・・です

397 名前:Name_Not_Found 投稿日:04/02/08 00:43 ID:???
>>396
よく分からんけど普通に window.location = hoge じゃいかんの?
つまり MM_jumpMenu('window', this, 0)

398 名前:Name_Not_Found 投稿日:04/02/08 03:10 ID:sFzsVV/F
初歩的な質問かもしれませんが、一つ。
ページを読み込んだときに実行させたい関数があります。
いちいち<body>タグにonload="〜"と書き込まないでも実行させてやるには
どうするのが一番スマートなやり方ですか。
今は或るページを真似て
var DOM=document.getElementById;
var IE=(document.all)?1:0;
if(DOM || IE) {window.onload = Func1;}
function Func1() {
object=IE?id.style:document.getElementById('id').style;
object.position='absolute';
}
てな感じで、if文でやってます。
他にもっと適切な方法があれば。

399 名前:Name_Not_Found 投稿日:04/02/08 03:42 ID:???
テキストファイルをブラウザで読み込んで編集することは可能でしょうか?

400 名前:Name_Not_Found 投稿日:04/02/08 04:58 ID:???
>>399
保存は無理

401 名前:Name_Not_Found 投稿日:04/02/08 05:07 ID:sFzsVV/F
大域変数でvar IE=(document.all)?1:0; としてから
ある関数Aの中で
object=IE?navbar.style:document.getElementById('idA').style;
と変数を定義して使ってます。
別の関数Bでこのid="idA"を持つobjectをまた使用したいとき、
いちいち関数Bの中で上と同じ変数定義の行を書かねばならず、いかにも無駄な重複です。
しかし、関数A・関数Bの外に
var object=IE?navbar.style:document.getElementById('idA').style;
と書いただけでは「“idA”は宣言されていません」とエラー・メッセージが出ます。
どうすれば関数A・関数Bが共有する変数とにできますか。

402 名前:Name_Not_Found 投稿日:04/02/08 06:21 ID:???
>>401

Example:1 [Error]

<script>
obj = document.getElementById("idA");
</script>
<div id="idA">


Example:2 [o.k]

<div id="idA">
<script>
obj = document.getElementById("idA");
</script>

403 名前:Name_Not_Found 投稿日:04/02/08 06:29 ID:???
>>402
それはHTMLファイル内での記述ですよね。
すみません、外部jsファイルで記述するには……?

404 名前:Name_Not_Found 投稿日:04/02/08 07:46 ID:???
>>402 それやると、NN4では動かなくなる罠。
object=NN4?document.idA:IE?idA.style:D.getElementById('idA').style;
の場合ね。

405 名前:Name_Not_Found 投稿日:04/02/08 08:22 ID:???
>>401
だいたい「idAがなんたら」言われるということはそれは
getElementById()が出しているエラーメッセージであって
JavaScript変数の共有の問題ではないだろ。そこを理解すれ。

406 名前:Name_Not_Found 投稿日:04/02/08 08:42 ID:???
すみません、よく理解できてません。>>405
エラー・メッセージを出さずに、変数を共有させるにはどうやればいいのですか。

407 名前:Name_Not_Found 投稿日:04/02/08 09:47 ID:???
まずあんたのいう「変数の共有」をしない状態ではエラーが
出ないの?それが疑問なんだけど。

408 名前:Name_Not_Found 投稿日:04/02/08 10:33 ID:???
>>391,>>391,>>396
ああた !
DreamWeaver 使いでしょ ?
(んなものに頼り切っているから,泣きを見るのさ)

select jump なんて,基礎中の基礎なんだ.
自分で書けるように,べんきょなさい.
(それにしても回りくどい記述 !!!)

409 名前:Name_Not_Found 投稿日:04/02/08 11:53 ID:nXVBnoOc
質問者・回答者共に基地害なスレ

410 名前:Name_Not_Found 投稿日:04/02/08 12:13 ID:???
>>409
オマエを筆頭にな

411 名前:Name_Not_Found 投稿日:04/02/08 13:15 ID:pnC3ILOm
たとえば 変数Aを配列変数かつ数値変数として使いたい場合
どう宣言すればいいのですか?

A[1]*A[2]などと直接演算したいのです。
var A = new Array();
var A = new Number();
などとするとだめだめでした。

412 名前:Name_Not_Found 投稿日:04/02/08 13:33 ID:???
>>411
何を言いたいのか,イマイチ判らないんだけどね.
とりあえず,次の statement を試してみてね.
var A=[1,2,3,4,5];
alert(A+'\n'+A[2]);

つまり, 実は array A は CSV 形式のデータとして扱われている訳.
そして, A[2] などと指定すれば
A に納められた任意のデータを取り出せるってだけのこと.
(個人的には大発見だと思っている)

413 名前:Name_Not_Found 投稿日:04/02/08 15:17 ID:pnC3ILOm
大発見ですね、質問がわかりずらくて申し訳ないのですが、
var A=[1,2,3,4,5];
B = A[1]+A[1]+A[1]+A[1];
document.write(B);
だと「8」と結果が返ってきて、
var A=[1,2,3,4,5];
for (i=0; i<4 ;i++){
B += A[1];
}
だとエラー。
var B;という宣言だと「NaN」
Number宣言すると「8」
このへんが、よくわかんないので、もう数値は常に宣言していこうと、
もう逆切れですわ。

それでBは配列で、尚且つ数値だと自分に確認する意味でもどう書いたら
いいのかと。

414 名前:Name_Not_Found 投稿日:04/02/08 16:11 ID:???
>>413
B+=[A];
とやる時, B には初期値が与えられていないと,
計算のしようがないのは解るでしょ ?!

ちなみに
var A= new Number();
とやると A は number object になるのよね.
http://tohoho.wakusei.ne.jp/js/number.htm#newNumber

多分,あなたは別の言語になれているのだと思います.
乗りかえ時にはギョッとすることも多いものですが,
そういう時には,例えば alert(); の中に突っ込んで,
確認しながら進むとすると良いと思います.
(この手は debug の時にも使えます.)

415 名前:Name_Not_Found 投稿日:04/02/08 16:49 ID:???
訂正:
B+=[A]; -> B+=A[n];

416 名前:Name_Not_Found 投稿日:04/02/08 17:21 ID:???
私の頭の他に何がいけないのでしょうか?
<SCRIPT LANGUAGE="JavaScript">
function kaku(){
var x =form1.textfield.value;
var hidari = "[";
var migi = "]";
for (i = 0; i < x; i++) {
n1 =(hidari);
n2 =(i);
n3 =(migi);
n = n1 + n2 + n3;
document.form1.textarea.value = n;
}
}
</SCRIPT>
<form name="form1">
<input name="textfield" type="text" value="12" size="20">
<input type="button" name="Submit" value="書く"onClick="kaku()">
<br>
<textarea name="textarea" cols="20" rows="10"></textarea>
</form>


417 名前:Name_Not_Found 投稿日:04/02/08 17:26 ID:???
>416
頭がいけなすぎて何が聞きたいかすらよくわからん。

418 名前:Name_Not_Found 投稿日:04/02/08 17:30 ID:???
ちょっと出来ました。こういうことです。
<SCRIPT LANGUAGE="JavaScript">
function kaku(){
var x =form1.textfield.value;
var hidari = "[";
var migi = "]";
for (i = 0; i < x; i++) {
var n =form1.textarea.value;
var n1 =(hidari);
var n2 =(i);
var n3 =(migi);
var n = n + n1 + n2 + n3;
document.form1.textarea.value = n;
}
}
</SCRIPT>
<form name="form1">
<input name="textfield" type="text" value="12" size="20">
<input type="button" name="Submit" value="書く"onClick="kaku()">
<br>
<textarea name="textarea" cols="20" rows="10"></textarea>
</form>
でも改行が、ふぅ〜

419 名前:Name_Not_Found 投稿日:04/02/08 17:38 ID:???
放置でいいな。
次の方どうぞ〜

420 名前:Name_Not_Found 投稿日:04/02/08 17:41 ID:???
>>418
>でも改行が、ふぅ〜
+'\n' を書き加えてみたら ?

421 名前:Name_Not_Found 投稿日:04/02/08 17:42 ID:???
そんな〜あと改行だけなんですから

422 名前:Name_Not_Found 投稿日:04/02/08 17:44 ID:???
頭の他に態度も潔さもいけない。

423 名前:Name_Not_Found 投稿日:04/02/08 17:48 ID:???
>・「初心者です」を振りかざさず、質問を分かる日本語で説明できる者

質問を分かる日本語で説明できる者
質問を分かる日本語で説明できる者
質問を分かる日本語で説明できる者
質問を分かる日本語で説明できる者
質問を分かる日本語で説明できる者


次の方どうぞ〜

424 名前:Name_Not_Found 投稿日:04/02/08 17:50 ID:???
頭ばっかり言うな。>>420さんのお陰でもう出来たし。初めたばかりなんだから
勘弁してください。
レスthx

425 名前:Name_Not_Found 投稿日:04/02/08 17:52 ID:???
>・「初心者です」を振りかざさず、質問を分かる日本語で説明できる者

「初心者です」を振りかざさず
「初心者です」を振りかざさず
「初心者です」を振りかざさず
「初心者です」を振りかざさず
「初心者です」を振りかざさず


頭が治るまで二度と来るなよ

426 名前:Name_Not_Found 投稿日:04/02/08 18:03 ID:???
こんな所でお祭りをやらなくっても...
(へんな statement なのは確かだけどね.)

427 名前:Name_Not_Found 投稿日:04/02/08 18:05 ID:???
<SCRIPT LANGUAGE="JavaScript">
x =5;
for (i = 0; i < x; i++) {
document.write("「初心者です」を振りかざさず<BR>");
}
</SCRIPT>
こんな感じですか?

428 名前:391 投稿日:04/02/08 18:12 ID:fNwi86ml
>>397
それだと今度はWindowsのIEでも機能しなくなりました。

>>408
な、なんでわかったんですか!!
推理ついでに解決策も教えてください。

429 名前:Name_Not_Found 投稿日:04/02/08 18:13 ID:???
MM_(爆)だれでも分かる

430 名前:Name_Not_Found 投稿日:04/02/08 18:20 ID:???
>>428
実はウチの掲示板(template 方式でカスタマイズ可能)の template が
DreamWeaver で作られているらしいのよ.
(ソースが汚くてカスタマイズは難航すると言う,いわくつきのしろもの)

んで, JavaScript の function name は必ず MM_ から始まり,
ごていねいにも version まで書かれている罠.

>推理ついでに解決策も教えてください。
根本的に書き直したほうが良いです.
(僕が使用中のものを書きだしても良いです)

431 名前:Name_Not_Found 投稿日:04/02/08 18:31 ID:cxTWwpVv
>>424
多分レスがひとつずつずれてるぞ。
そのせいで更に貴方の態度が悪いように見えてしまってる。
いずれにせよネット掲示板は文字でしか伝える手段がないんだから、投稿する時は慎重にな。
レス相手の番号ぐらい振っとけ。

これも
「質問を分かる日本語で説明できる者」としての基本だ

432 名前:Name_Not_Found 投稿日:04/02/08 18:39 ID:???
>>403

<div id="idA">
<script src="./script.js"></script>

433 名前:Name_Not_Found 投稿日:04/02/08 18:56 ID:MOjt2PVY
こういうのを作りたいのですが
http://www.geocities.co.jp/MusicHall/5434/
参考になるサイトを教えてください。

434 名前:Name_Not_Found 投稿日:04/02/08 19:00 ID:???
>>433
marquee つかいまくり !
(ほとんど読めない)
宣伝 ???

435 名前:Name_Not_Found 投稿日:04/02/08 19:03 ID:MOjt2PVY
カーソルが変化するところを知りたいのです

436 名前:391 投稿日:04/02/08 19:05 ID:fNwi86ml
>>430
よろしくお願いします。

DreamWeaverが嫌いになりそうです。

437 名前:Name_Not_Found 投稿日:04/02/08 19:20 ID:???
>>436
>DreamWeaverが嫌いになりそうです
高いお金を出して手に入れたものでしょ ?
要は使い方次第なんだよね.
少なくともソースを読み書きできるようにならなきゃダメよ.
(吐き出されたソースを解析して勉強する手もあるんだ〜 )

んで,ソースの書き出しはちょっと整理するから待っててね.

438 名前:Name_Not_Found 投稿日:04/02/08 19:50 ID:pnC3ILOm
>414
よくわかりました。 ありがとうです。
そっかー変数では数値と文字の区別はされないのか。
だからevalがあるのか。エラーは計算できないからじゃなくて、初期値を
あたえてないからか。

調子にのってもうすこし、、、ループ文で for (i=a,b,c,d) {などと、iにa,bと代入しながら繰り返す、
あるいは、while(<>)というかそういった感じはどのように、、、?
ヒントだけでも結構です。

439 名前:ジャズ紳士 ◆rHkT/SfI7A 投稿日:04/02/08 19:54 ID:???
>>438
ウゼー
435の質問のほうが先だヴォケ

440 名前:Name_Not_Found 投稿日:04/02/08 20:03 ID:???
>>438
俺はこんな感じでやってるけど、他に方法があれば知りたいな。
for(i=0; i<=arr.length; i++){
 arr[i] = 〜〜〜
}

441 名前:Name_Not_Found 投稿日:04/02/08 20:40 ID:???
>>407 このスクリプトでエラーは出ません。/*重複*/を無くすにはどうすれば?
var D=document;
var DOM=document.getElementById;
var Opera=(navigator.userAgent.indexOf("Opera")!=-1 && DOM)?1:0;
var IE6s=((navigator.appVersion.indexOf("MSIE 6")>-1) && D.compatMode=="CSS1Compat")?1:0;
var IE=(D.all && !Opera)?1:0;
var lteIE4=(IE && !DOM)?1:0;
var N6=(DOM && !D.all && !Opera)?1:0;
var NN4=(D.layers && !DOM)?1:0;
if(IE||DOM) {window.onload = posit;}
function posit(){
object=NN4?document.navbar:IE?navbar.style:D.getElementById('navbar').style;/*重複*/
objH = NN4?0:IE?navbar.offsetHeight:D.getElementById('navbar').offsetHeight;/*重複*/
D.body.style.paddingBottom=objH; object.zIndex=5;
if (N6 && object.position!=='static') {object.position='fixed';object.bottom='0';}
else if(IE) {object.position="absolute";}
}
function alwaysBottom() {
object=NN4?document.navbar:IE?navbar.style:D.getElementById('navbar').style;;/*重複*/
var top=IE?"pixelTop":"top";
var Body =IE6s?D.documentElement:D.body;
newY=IE?Body.scrollTop:window.pageYOffset;
BH = NN4?0:Body.clientHeight;
objH = NN4?0:IE?navbar.offsetHeight:D.getElementById('navbar').offsetHeight;/*重複*/
objY = newY + BH - objH;
var unit=(!N6)?'':'px';//NN6strictモード単位必須 //
if (newY>-1 && !N6) {NN4?object[top]=newY:IE?object[top]=objY+unit:object.top=BH-objH;};
if(!IE && !N6 && object.position!=='static'){object.position='fixed'; };///*Opera*/
}
if(NN4||IE||DOM) {setInterval("alwaysBottom()",50);} //上記関数を実行(<body>タグ内に書き込む手間を省く)

442 名前:Name_Not_Found 投稿日:04/02/08 20:40 ID:???
演算後代入(+=とか-=)の考え方がよくわかりません・・・
たとえば x += yだと
x = x + yということはわかるんですが
これはx += y以降のxには今までのxの値にyを足したものを使う、ってことでいいんでしょうか?

443 名前:Name_Not_Found 投稿日:04/02/08 21:00 ID:???
>>442
そう。
x = x + yと同じなんだから。

演算後代入って言うとこっちを思い浮かべた。
x = ++y

444 名前:Name_Not_Found 投稿日:04/02/08 21:10 ID:???
あの、JavaScriptやろうと思うのですが
これってC言語が大体理解してればJavaScriptも大体分かりますよね?
とにかく勉強します。
初心者でも分かりやすく深く書いてあるおすすめの書籍とかないすか?

445 名前:Name_Not_Found 投稿日:04/02/08 21:16 ID:???
>>441
よしよし、これなら読めるよ。共有は既にされてると思うけど、
onloadで起動されるpositとsetIntervalで起動されるalwaysBottom
のどちらが先に起動されるか不定なのがトラブルの原因なんだと
思うよ。setIntevalを呼ぶ位置を関数posit内の最後のとこに移せば
alwaysBottomが呼ばれる時はobjectもobjHも設定ずみであることが
保証されるでしょ。そのように直してからalwaysBottom内の
objectとobjHを設定する文をコメントアウトしてみれ。

446 名前:Name_Not_Found 投稿日:04/02/08 21:22 ID:???
>>444
役に立つ書籍スレ
http://pc2.2ch.net/test/read.cgi/hp/992793435/l50
の45番とか。それなりに深いと思うよ。正誤表はこちら。
ftp://ftp.ascii.co.jp/pub/my-unix/javascript/
Cと同じだろうという考えは危険だと思うけどね。制御
構造と演算子関係だけはCと一緒、あとは全然違うと思う。

447 名前:Name_Not_Found 投稿日:04/02/08 21:25 ID:???
>>436
飲み過ぎて,眠くなっちまっただ〜.
でも,約束は守るよ〜.
おやすみなさい.

448 名前:Name_Not_Found 投稿日:04/02/08 21:41 ID:???
>>446
ぬおお、こんな親切なスレが返ってくるなんて思ってもいなかったす。
ありがとう。そうですかー、じゃCできても無理っぽいすね。
やっぱ1から勉強しよう。ほんとありがと。感謝します。

449 名前:441 投稿日:04/02/08 21:42 ID:???
>>445 有り難う! うまくゆきました……と思ったら、NN4で動作しなくなりました。
if(NN4||IE||DOM) {window.onload = posit;}
……
else if(!NN4) {object.position='fixed'; object.bottom='0';}
と直しましたが、駄目。
NN4用外部スタイルシートでは#navbar {position: absolute;}が指定してありますし
何がいけないのかわかりません。ご助言いただけると助かります。

450 名前:441 投稿日:04/02/08 22:07 ID:???
自己レス。
13行目の D.body.style.paddingBottom=objH; をNN4が読み込むといけないらしい。
if(!NN4){D.body.style.paddingBottom=objH;};としたら再びNN4でも動作しました。
あと、>>441のソースにはこれが続きます。
/* ============常駐menuの固定/浮動スイッチ============= */
function FloatOff(id){
var OBJE=(D.all && D.all(id)) || (D.getElementById && D.getElementById(id));
if(OBJE && OBJE.style.position=='static') {
OBJE.style.position=IE?'absolute':'fixed';
}
else if (OBJE.style.position=='absolute' || OBJE.style.position=='fixed') {
OBJE.style.position='static';
}
window.event.cancelBubble=true;
}
/*該当するHTMLの要素タグ内に onClick="FloatOff('navbar');" を指定。*/

これも変数objectの定義を共有できれば、もっと短く書ける気がしますが……。
もっと適切な書き方があったらご教示下さい。

451 名前:Name_Not_Found 投稿日:04/02/09 08:56 ID:???
>440
ありがとうっす。

452 名前:aaa 投稿日:04/02/09 11:12 ID:pY3O+wSH
jsファイルから他のjsファイルの関数を呼ぶことは
できるのでしょうか?
<SCRIPT TYPE="..... SRC="./AAA.js"></SCRIPT>
<SCRIPT TYPE="..... SRC="./BBB.js"></SCRIPT>
AAA.jsで定義している関数aaa()の中で
BBB.jsで定義している関数bbb()を呼びたい


453 名前:Name_Not_Found 投稿日:04/02/09 11:22 ID:???
>>452
<SCRIPT TYPE="..... SRC="./BBB.js"></SCRIPT>
<SCRIPT TYPE="..... SRC="./AAA.js"></SCRIPT>


454 名前:447 投稿日:04/02/09 12:07 ID:???
<head>
<script type="text/javascript"><!--

function set_opt(){
var Opt=new Array();
Opt[0]='files';
Opt[1]='Opt_name_1';
Opt[2]='Opt_name_2';
var l=Opt.length;
document.forms[0].elements['select_jump'].options.length=l;
for(i in Opt){
document.forms[0].elements['select_jump'].options[i].text=Opt[i];
}
}

function jmp(x){
if(x > 0){
location.href='/path_name/'+Opt[x]+'.html';
}
}
//--></script>
</head>

<body>
<form action="#">
<select name="select_jump" onChange="jmp(this.selectedIndex)">
<option>dummy_string</option>
</select>
</form>
</body>


455 名前:447 投稿日:04/02/09 12:25 ID:???
解説:

1. set_opt() は Opt[n] に file_name を記録し,
onLoad 時に select option を自動的に書き込むルーチン.
・ frame 内のファイルの読み込みを操作したい時には
document.forms[0] の前に parent.frames[n] を書き加えること.

2. onChange="jmp(this.selectedIndex)" によって,
select option の何番目が選ばれているかを parameter として jmp() を呼び出す.
(select element がどこに書かれていようが無関係なのが特徴.)
・ location.href の前に parent.frames[n] を書き加えることによって,
任意の frame window に読み込む事ができるようになる.
----------------------------------------------------------------------
応用力のある人には,これで十分だと思うけど,
Authoring Tool に頼り切っている人には不親切かもしれない.
after care をするつもりなので,これで許してね.

456 名前:Name_Not_Found 投稿日:04/02/09 12:25 ID:???
手元に106キーボードしかないので、109キーボードの
WindowsキーとApplicationキーのキーコードを教えてください。

環境はIE6で、ソースは以下のもので試してます。

<script type="text/javascript">
document.onkeydown=function(){alert(event.keyCode)}
</script>

457 名前:447 投稿日:04/02/09 13:13 ID:???
訂正:
var Opt=new Array(); -> Opt=new Array();
(function jump() を呼び出した時 Opt が undefinded になってしまう.)

458 名前:447 投稿日:04/02/09 13:24 ID:???
>>435
うざ〜 !
(IE 5.0 で見たら,いきなり文字化け alert ,
なおかつ window 最大化, script error alert でまくり)
いかにも Jazz 某が作りそうなサイト.
(どう考えても紳士とは思えないなぁ〜)

459 名前:Name_Not_Found 投稿日:04/02/09 13:50 ID:???
>>456
>Windowsキー
alert( 91 );
>Applicationキー
漏れには無い

>>458
おまえも十分ウザイ。
( null || Jazz ) && alert(" 目 糞 鼻 糞 ");

>script error alert でまくり
100万回ヴァカ呼ばわれされていることを今更(ry

460 名前:Name_Not_Found 投稿日:04/02/09 14:00 ID:???
>>456
>Applicationキー
s/ 漏れには無い / 在った alert( 93 ) /;

461 名前:456 投稿日:04/02/09 14:31 ID:???
>>459-460
ありがとうございました。

462 名前:391 投稿日:04/02/09 14:46 ID:RIYhNhIJ
>>454-455
ありがとうございました。
DreamWeaverに頼りすぎずがんばって勉強してみます。
・・・しかし難しい・・・

463 名前:Name_Not_Found 投稿日:04/02/09 15:30 ID:???
>>462
転載ミスがありました.
ごめんなさい.
copy & paste で試せるものを書きだします.
File[n]='***'; と /path_name/ を適当に書き換えて試してください.

464 名前:Name_Not_Found 投稿日:04/02/09 15:32 ID:???
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html lang="ja"><head>
<meta http-equiv="content-type" content="text/html;charset=Shift_JIS">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>select_jump</title>
<script type="text/javascript"><!--
function set_option(){
File=new Array();
File[0]='files';
File[1]='index';
File[2]='links';
l=File.length;
document.forms[0].elements['slc'].options.length=l;
for(i in File){
document.forms[0].elements['slc'].options[i].text=File[i];
}
}

function jmp(x){
if(x > 0){
location.href='/path_name/'+File[x]+'.html';
}
}
//--></script>
</head>
<body onLoad="set_option()">
<form action="#">
<select name="slc" onChange="jmp(this.selectedIndex)">
<option>dummy_str</option>
</select>
</form>
</body></html>

465 名前:Name_Not_Found 投稿日:04/02/09 15:33 ID:???
>>462
転載ミスがありました.
ごめんなさい.
copy & paste で試せるものを書きだします.
File[n]='***'; と /path_name/ を適当に書き換えて試してください.

466 名前:Name_Not_Found 投稿日:04/02/09 17:33 ID:???
>>438
>ループ文で for (i=a,b,c,d) {などと、iにa,bと代入しながら繰り返す、
>あるいは、while(<>)というかそういった感じはどのように、、、?
煽るつもりはないけれど,何のことやらサパ〜リですよん.

>>459
>( null || Jazz ) && alert(" 目 糞 鼻 糞 ");
Syntax error 臭いね〜.

467 名前:aaa 投稿日:04/02/09 17:42 ID:pY3O+wSH
452続きです・・・・

Test.jspで
<SCRIPT TYPE="text/javascript" SRC="./BBB.js"></SCRIPT>
<SCRIPT TYPE="text/javascript" SRC="./AAA.js"></SCRIPT>
<BODY onContextmenu="return false" class="menusize" ONLOAD="resizeWindow()"
と宣言

<BBB.js> で
function keydown(e) {
処理;
}
function keyCapture(){
document.onkeydown = keydown ;
}

<AAA.js>で
function resizeWindow(){
window.self.resizeTo(220,750);
window.self.moveTo(0,0);
  keyCapture();
}

と書いているのですが、「BBB.js」の「keyCapture()」を
呼び出すことができません・・・ きっと構文が悪いのでしょうが
指摘お願い致します。 (IE6です)

468 名前:Name_Not_Found 投稿日:04/02/09 18:06 ID:Au+fud0D
>>467
本当に呼び出せていないのか。keyCapture()の中にalert('...');
を入れて確認したのか。何かエラーは表示されていないのか。なぜ
「できない」と分かるのか。
>>466
確かにものすごく厨房な質問で引いてしまうよね。たぶんこういう
ことがやりたいんだろうとは思うけど。
for(var i in {a:1,b:1,c:1,d:1}) window.alert(i);

469 名前:Name_Not_Found 投稿日:04/02/09 18:16 ID:???
>>468
>alert('...');
face mark に見えるのは僕だけ ?

>たぶんこういうことがやりたいんだろうとは思うけど。
憶測で回答するのもなんだから,御本人の登場を待つしかなさそうだね.

470 名前:aaa 投稿日:04/02/09 18:18 ID:pY3O+wSH
>>467です
alert()は表示してみましたが、
<AAA.js>のkeyCapture()直前のalert()は表示されるのですが
<BBB.js>のkeyCapture()内に入ると、alert()がでません・・・
エラーは表示されていないようです。
<BBB.js>の別の関数を呼んでみましたが、やはり呼ばれていないみたい
なので、<BBB.js>が有効になっていないと判断しました。
つまらないミスのような気がしてきたので
もう一度確認します。
ありがとうございました



471 名前:Name_Not_Found 投稿日:04/02/09 18:31 ID:Au+fud0D
>>470
関数の内側のalert()は関数が呼ばれるまでは出ないで当然。
AAA.jsでkeyCapture()を呼ぶ直前にあるalert()が表示される
のなら、keyCapture()を呼ぼうとしたところで関数未定義の
エラーになるはずだが、そのエラーが出ていることは確認したの?

472 名前:Name_Not_Found 投稿日:04/02/09 18:41 ID:???
iCab だと,大まかな原因がつかめるんだけどなぁ.
(2つの外部 js ファイルを作るのも面倒だから知らんぷり.)

473 名前:Name_Not_Found 投稿日:04/02/09 20:44 ID:???
配列生成SCRIPTを作っているのですが。配列に使った改行を元に戻すにはどうすればいいのですか?
<SCRIPT LANGUAGE="JavaScript">
<!--//
function hairetu(){
var x = 0;
var z = document.forms[0].elements[0].value;
var tr = z.split("\n");//改行して配列に
var ans = new Array();
var l = "[";
var r = "] ";
for (i = 0; i < tr.length; i++) {
ans[i] = l+x+r+" = \x22"+tr[i]+"\x22;";
x++;
}
//改行して表示
document.forms[0].elements[0].value = ans.join("\n"); ;
}
//-->
</SCRIPT>
</head><body><form>
<textarea cols=60 rows=8></textarea><BR>
<input type="button" value="入" onclick="hairetu()">
宜しくお願いします。

474 名前:Name_Not_Found 投稿日:04/02/09 21:55 ID:???
>>470
無視するべきものは無視する
  無能、知ったかぶり、宗教的主張、煽り、ぬるぽ等。

475 名前:Name_Not_Found 投稿日:04/02/09 22:03 ID:???
---------------------

476 名前:391 投稿日:04/02/09 22:25 ID:c28AMqxv
>>463
ごめんなさい、なんだか修正や掲載ミスがいくつかあるみたいなので
もう一度完成版をコピペしてもらえると助かります。

477 名前: ◆nullponnbI 投稿日:04/02/09 22:51 ID:tbsqHbU+
ぬるぽをそのようなものと一緒にするべからず。

478 名前:Name_Not_Found 投稿日:04/02/09 23:11 ID:???
>>476
修正は解りやすくするためなんだ.
掲載ミスは確かにあったけど,今回は動作確認済.
ただし, path とか file name をきちんと書き直さないとうまくいかないのは解るよね.
script は条件に合わせて書き換えなければならないんだ.

479 名前:Name_Not_Found 投稿日:04/02/10 01:12 ID:8r7Sn72k
onMouseOverで関数aを実行して画像の横幅が160になるまで徐々に拡大表示したいのですが、setTimeoutがうまく実行されません。
setTimeoutに引数(aaa)を指定するとスクリプトエラーになるし、引数を指定しないと関数aが1度しか実行されません。
どなたかご指導を!

function a(aaa) {
if(document.all) {
if(document.all(aaa).style.pixelWidth < 160) {
document.all(aaa).style.pixelWidth += 16;
document.all(aaa).style.pixelHeight += 10;
setTimeout("a(aaa)",10);
}
}
}


480 名前:391 投稿日:04/02/10 01:28 ID:6F5SdsxO
>>478
がんばります

481 名前:Name_Not_Found 投稿日:04/02/10 01:30 ID:???
setTimeout("a("+aaa+")", 10);
とか?

482 名前:Name_Not_Found 投稿日:04/02/10 08:19 ID:???
>>479
setTimeout(function() { a(aaa); }, 10);

483 名前:Name_Not_Found 投稿日:04/02/10 11:31 ID:8nPPBYMx
質問です。
別のウィンドウのイベントハンドラで自分(とその他のウィンドウ)を操作したいのですが、
どのようにすればできますか。以前、
parent.onload
みたいな書き方を見たことがあったのですが詳しい書式がわかりません。
宜しくお願いします。

484 名前:Name_Not_Found 投稿日:04/02/10 12:32 ID:???
>>483
window.opener.test1.form1.input1.value = "test";
とか

485 名前:Name_Not_Found 投稿日:04/02/10 12:50 ID:8nPPBYMx
>>484
ありがとうございます。でも、ちょっと意味が違うんです。
スクリプトの一切書いてないウィンドウのonLoadやonUnloadを
外から拾っていろいろやりたいんです。

486 名前:Name_Not_Found 投稿日:04/02/10 13:15 ID:???
スレ違いかもしれないのですが質問です。

マウスオーバーのJavaScriptを使ったページを
ASPでインクルードしているのですが、
NNだと正常なのにIEで閲覧すると一部マウスオーバーが動作してくれません。

ASPを担当しているプログラマーは「調べたけどわからん」といって取り合ってくれません。
私はデザイナーなので、ちょっと調べたくらいでは原因がわかりません。
困ってます。よくあることなのでしょうか。。。
ご存知の方がいたら教えてください。

487 名前:Name_Not_Found 投稿日:04/02/10 13:40 ID:???
エスパーの募集ですか?

488 名前:Name_Not_Found 投稿日:04/02/10 13:58 ID:QN39OB3g
setIntervalとsetTimeoutの差違は何ですか?
それぞれ使用するのに適した場合があれば、ご教授下さい。
また、全く同じ関数をsetIntervalで実行させた場合とsetTimeoutで実行させた場合とで、
動作結果が異なってしまったのですが、それはブラウザのバグとみなしてよいですか。
 http://pc2.2ch.net/test/read.cgi/hp/1050844510/808n

489 名前:Name_Not_Found 投稿日:04/02/10 14:36 ID:???
>>488
http://www.microsoft.com/japan/developer/library/jpisdk/dhtml/references/methods/setTimeout.htm
http://www.microsoft.com/japan/developer/library/jpisdk/dhtml/references/methods/setInterval.htm
結論だけ言うと、offsetHeightの算出法がStrictモード時に他のUAと違うことが原因。
ただoffsetHeightはもともときちんと標準化されたプロパティではないので
バグとみなすには無理があるだろう。

490 名前:Name_Not_Found 投稿日:04/02/10 14:50 ID:IaC0UZKP
質問です。
YAHOOチャットで部屋に入った瞬間に自分の名前とかが
ログに打ち出され、ようこそ!○○の部屋へ!
とか出るところがありますが、あれはJavaスクリプトでやってるんですか?
厨な質問ですみません。

491 名前:Name_Not_Found 投稿日:04/02/10 15:15 ID:???
>>483-485
もっと具体的に書くと分かるかもよ。

>>486
検証せずして分かるはずないです。

492 名前:Name_Not_Found 投稿日:04/02/10 15:56 ID:???
>>485
win1 = open("","操作したいウィンドウのname");
win1.document.body.innerHTML = "hoge";

493 名前:Name_Not_Found 投稿日:04/02/10 16:19 ID:K7xyQSh5
関数内で自分自身を示すにはどのようにしたら良いのでしょうか?

function test(n){
 alert(n);
 if(n<3) this(n++);
}
test(1);

自分自身はthisなのかと思いこのようにしたのですが出来ません。
色々やった結果、thisはwindowらしいということまでは分かったのですが、
自分自身をどう表していいのかが分かりません。
やはり this(n++);ではなく、test(n++);とする方法しかないでしょうか?

494 名前:Name_Not_Found 投稿日:04/02/10 16:24 ID:???
>>493
>>4
> MetaGraphic Cell
> http://www2u.biglobe.ne.jp/~oz-07ams/prog/

http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/10_Execution_Contexts.html#section-10.1.8

1も読まなかった人は2度と書き込まないでくださいね。

495 名前:Name_Not_Found 投稿日:04/02/10 16:50 ID:???
>>1に以下を追加だな。
・仕様書を読んで独力で解決できる者

496 名前:Name_Not_Found 投稿日:04/02/10 16:58 ID:aV/G6S+X
>>493
そういうのはあてずっぽうでは無理ぽ。関数呼び出し内では
arguments.callee が呼ばれた関数自身を指している。


497 名前:Name_Not_Found 投稿日:04/02/10 17:03 ID:???
>>495
質問全部解決しちゃうYO!

498 名前:Name_Not_Found 投稿日:04/02/10 17:45 ID:???
ここのHPのような占いを作りたいのですが作り方がわかりません
使うソフトなんかを教えていただければ幸いです

http://members.at.infoseek.co.jp/ahoaho_sakura/syusyou-uranai01.htm


499 名前:Name_Not_Found 投稿日:04/02/10 17:53 ID:???
>>498
ソース読めば ?
まっ,まさか読めないとは言わないよね ?
外部 js ファイルでもないし〜,丸見え !

500 名前:Name_Not_Found 投稿日:04/02/10 17:53 ID:???
>>498
メモ帳。そもそもそのページのソース見れ。そいつもよそから
もらって来て改造したと思われ。改造のしかたとか聞かないで、
くれよ、そんなのは自分で考えることだ。

501 名前:Name_Not_Found 投稿日:04/02/10 18:14 ID:K7xyQSh5
>>494-495
以外に冷たいのね。なんて思ってたら書いたスクリプトいたるところに
間違いがありましたね。失礼しました。
「・仕様書を読んで独学で解決できる者」を追加する案は私も賛成。
あと「質問せずに、独学で解決できる者」も追加希望。

>>496
有り難うございます。arguments.calleeで出来るんですね。
助かりました。事象を分かりやすく書こうと思ったらめちゃくちゃな
スクリプト書いてました。失礼しました。

502 名前:Name_Not_Found 投稿日:04/02/10 18:15 ID:K7xyQSh5
以外×
意外○

503 名前:Name_Not_Found 投稿日:04/02/10 18:22 ID:???
>>501
スペルミス臭いんだけど,実際に試しめして見たの ?
file://localhost/3/reference/tohoho/contents/js/function.htm#caller

504 名前:Name_Not_Found 投稿日:04/02/10 18:24 ID:???
>>501
また,やっちまった〜
訂正:
http://tohoho.wakusei.ne.jp/js/function.htm#caller

505 名前:485 投稿日:04/02/10 19:08 ID:???
説明不足ですみません。仕事終わったらまた来ます。491さんとかありがとう。

506 名前:Name_Not_Found 投稿日:04/02/10 19:21 ID:???
>>501
もう来ないで下さいね。

507 名前:Name_Not_Found 投稿日:04/02/10 19:22 ID:???
>>473
まだ直っていないのだが.....

508 名前:Name_Not_Found 投稿日:04/02/10 19:51 ID:???
>>507
split("\n")を使って\nで分けて配列に保存したはずなのに
\rが残ったままでおかしいからやり方を教えて下さいって事?

509 名前:Name_Not_Found 投稿日:04/02/10 19:54 ID:nt+GsCxX
探しても見つからないので教えて下さい。
IE6のJavaScriptで正規表現は使えるのでしょうか?
もし可能であれば、関数名とか教えていただけないでしょうか?

510 名前:Name_Not_Found 投稿日:04/02/10 20:05 ID:???
>>509
丁度今いじってたのでソースそのまま貼ってみる

function check(){

d = document.seiki;
var re = new RegExp(d.pattern.value, d.option.value);
temp = d.taisho.value.match(re)

if(temp){
temp = "マッチしました:" + temp;
}else{
temp = "マッチしませんでした";
}
document.getElementById('result').innerHTML = temp;
}

511 名前:Name_Not_Found 投稿日:04/02/10 20:24 ID:nt+GsCxX
>>510
参考にさせていただきます。

512 名前:Name_Not_Found 投稿日:04/02/10 20:45 ID:???
>>510
できました!ありがとうございました。

513 名前:Name_Not_Found 投稿日:04/02/10 20:47 ID:???
>>509
>>4
> MetaGraphic Cell
> http://www2u.biglobe.ne.jp/~oz-07ams/prog/

http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/7_Lexical_Conventions.html#section-7.8.5
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jscript7/html/jsreconIntroductionToRegularExpressions.asp
1も読まなかった人は2度と書き込まないでくださいね。

514 名前:Name_Not_Found 投稿日:04/02/10 21:00 ID:K7xyQSh5
>>513
毒吐く割にはちゃんと教えるのね。
良き人?

515 名前:485 投稿日:04/02/10 21:03 ID:8nPPBYMx
フレームを記述しているhtmlが一つ、フレームが2つあります。
2つのフレームには同じurlのhtmlが表示されています。
このhtmlにはアンカータグが複数あり、一方のフレームのonClickのタイミングで
他方も同じリンクを辿る仕組みを作ろうとしています。
ただし、フレームに表示するhtml(アンカーを含むほう)を書き換えることはできません。
なので、フレーム記述のhtmlに全部のスクリプトを書かなくてはなりません。
そこで、フレームのhtmlから、子フレームのonClickを拾い、さらにそのリンク先のhrefも
ついでに拾い、別フレームのlocation.hrefに反映させようと思いました。

同様の動作をonloadを使って実現できましたが、動作が遅いので、onClickを使いたいのです。
方法がわかる方、宜しくお願いいたします。


516 名前:Name_Not_Found 投稿日:04/02/10 21:17 ID:???
>>515
self[0].document.onclick = self[1].document.onclick = function(){
self[0].location = self[1].location = event.srcElement.href;
}

517 名前:Name_Not_Found 投稿日:04/02/10 21:27 ID:???
>>515
なにをやりたいのかサパ〜リ.
解読に苦労するような文章を書いているようでは
好意的な回答を得るのは難しいと思うべし.

>フレームを記述しているhtmlが一つ、フレームが2つあります
2 分割 frameset のことかな ?
ところで, html の意味は判っているんだよね ?
(めんどくさ〜放置だ !)

518 名前:Name_Not_Found 投稿日:04/02/10 21:28 ID:???
>>508
レスありがとうございます
質問の仕方がまずかったようです。
↓こうしたいのに
[0] = "";
[1] = "";
[2] = "";
↓こうなってしまいます。
[0] = "
";
[1] = "
";
[2] = "";
余計な改行を取り除きたいのですが、何をどのように使うのか分かりません。
お教えて下されば幸いです。

519 名前:Name_Not_Found 投稿日:04/02/10 21:28 ID:???
>>515-516 IE、Gecko、Opera7で確認。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html><head><title>???</title>
<script type="text/javascript">
function init() {
var a = frames.left.document.getElementsByTagName('a');
for(var i = 0; i < a.length; ++i) set(a[i], a[i].href);
}
function set(obj, uri) {
obj.onclick = function() { frames.right.location.href = uri; }
}
</script>
</head><frameset title="main" cols="50%,50%" onload="init()">
<frame name="left" title="left" src="t1.html">
<frame name="right" title="right" src="t1.html">
<noframes><body><p>no frame...</p></body></noframes></frameset></html>
---t1.html---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<p><a href="http://www.yahoo.co.jp">やふー</a></p>
<p><a href="http://www.infoseek.co.jp">いんふぉしーく</a></p>
<p><a href="http://www.google.co.jp">ぐーぐる</a></p>
</body></html>

520 名前:Name_Not_Found 投稿日:04/02/10 21:30 ID:???
>>518
split("\n") → split(/[\n\r]+/) としてみては。

521 名前:485 投稿日:04/02/10 21:47 ID:???
す、すごい、こんな短時間でnoframeまで..。
519さんので動作させることができました。延々と追随させたいので、
onloadはframeタグに書きました。
516さんのも色々試して見ましたが、そもそもそれを何処に書いていいかも
判らない状況です。出来たら2行で済ませたいので、よかったら教えていただけますか。

あと説明が判りずらかった点、申し訳ないです。どうもありがとうございました。

522 名前:Name_Not_Found 投稿日:04/02/10 21:56 ID:???
>>520
一発ですね。ありがとうございます。
理解は出来ていないので、自分で調べてみますが、
出来れば解説や参考サイト等お教え頂ければ尚幸いです。



523 名前:485 投稿日:04/02/10 22:00 ID:???
516さんのも、519さんのと照らし合わせて使い方が判りました。どうもです。

524 名前:Name_Not_Found 投稿日:04/02/10 23:22 ID:???
文字列を整数に変換するにはどうしたらよいでしょうか。
parseInt関数を使ってみたんだけど、うまく動いてないようです。

525 名前:524 投稿日:04/02/10 23:26 ID:???
ちなみに、こんな感じです。

str = "(25,0,0)(14,0,46)(15,0,60)"
while (str.match(/\((.*?)\)/) != null) {
str = str.replace(RegExp.lastMatch, '');
a = RegExp.$1.split(/\s*,\s*/);
size = parseInt(a[0]);
left = parseInt(a[1]);
top = parseInt(a[2]);
}

526 名前:525 投稿日:04/02/10 23:55 ID:???
分かりました。
よく分からないけど、変数名がまずかったようです。

527 名前:Name_Not_Found 投稿日:04/02/11 00:36 ID:gpZdT3yk
ttp://www2s.biglobe.ne.jp/~club_tom/java-kouza/sample/ja-sam_wi.htm
ここの5.2を使いたいんですが、
フレーム内で使うと表示されないんです。
どこを直していいのか、わからないんです。
お願いです。教えてください。。。。。

AとBからなるフレームページをつくり、
さらにB内にCというインラインフレームを作りました。
このBに上記のプルダウンメニューを装置して、Cに表示させたいのです。
B単一では動作するのですが、AとBのフレームページだと、
うんともすんともいいません。
selfとかフレーム名を入れれば動作するはずだ、と思って
いろいろやってみたのですが、動かないんです・・・・。
よろしくお願いします。


528 名前:Name_Not_Found 投稿日:04/02/11 00:44 ID:Zw5dj2qE
テキストエリア内、ポインタの前後で
文字列を分割するにはどうすれば良いのでしょうか?

529 名前:479 投稿日:04/02/11 00:49 ID:kxX4I2lg
>>482
おお!
期待通りに動作しました。
けど、なぜそうなのかまだ理解できてないので、勉強します!
ありがとうございました。

530 名前:Name_Not_Found 投稿日:04/02/11 01:02 ID:???
http://www.softcomplex.com/products/tigra_menu/
上記サイトで、順番に入力するとプルダウンメニューができる
というのを試してみました。
IE6、NN6では問題なく動作するのですが、
NN4では、適切に機能しません。
(NN4でエラーメッセージを確認したところ、
document.getElementById is not a function.
と出ました)

上記のサイトでは、元々NN4は非対応ですので、
表示がされない点については諦めているのですが、
できれば、該当のJavascript自体を、
NN4で完全に動作しないようにしたいのですが。
(現状では、機能しないまでも、
一部の文字等のみ表示されてしまう時があります)

NN4だけ動作しないようにする記述の方法を
検索してみましたが、探し方が悪いのか
適当なものが発見できませんでした。
アドバイス等ありましたら、よろしくお願いします。

531 名前:Name_Not_Found 投稿日:04/02/11 02:20 ID:???
>>530
NN4でのみ動作するように記述する
http://www.openspc2.org/reibun/javascript/kihon/005/index.html

この逆にすれば、よい。
var DOM=document.getElementById;
var NN4=(document.layers && !DOM)?1:0;
if(!NN4){実行する命令;};

532 名前:Name_Not_Found 投稿日:04/02/11 02:23 ID:???
IEか否かを判別するのにdocument.allを使用しますよね?
 http://www.openspc2.org/reibun/javascript/kihon/007/index.html
これって、MacIEも含めてになるのですか。
それともWinIEだけを識別するのですか。

533 名前:Name_Not_Found 投稿日:04/02/11 04:11 ID:???
document.allはWinIEもMacIEも。

534 名前:Name_Not_Found 投稿日:04/02/11 09:49 ID:???
>>527
その質問ではあんたが分かってないということ以外何も分からない。
そのサンプルはもともと2つのフレームの片方にメニューがあって
選ぶともう片方が切り替わるじゃない。もともとフレームになって
いるものを「単一で使う」というのは意味不明。

535 名前:Name_Not_Found 投稿日:04/02/11 12:07 ID:???
最近 select jump の質問が多いけど,
どうして複数の argument のサンプルばかりなのだろう ?
( "this.selectidIndex "とやれば充分なのにね)
複雑になると対応の柔軟性は減少するし bug も発見しにくい.

536 名前:Name_Not_Found 投稿日:04/02/11 12:23 ID:???
どうしてだと思う?

537 名前:Name_Not_Found 投稿日:04/02/11 12:34 ID:???
>>535-536
サンプルサイト側では1個のselect jumpなんて簡単すぎて
紹介する価値がないと思っている。使う側は厨房なのに探すと
複雑なサンプルサイトばっかりだから使おうとしてはまってしまう。

538 名前:Name_Not_Found 投稿日:04/02/11 12:37 ID:???
>>536
たぶん this の意味するものが判っていないのだと思う.
(this は,それが書かれている場所によって指し示す対象が変化する)
最近も function 内で this を使うという質問があったし〜.
function f(){
alert(this);
}
とやってみれば,この場合の this は window だと解るはずなのに,
どうしてそれに気付かないのかしらん ?

539 名前:Name_Not_Found 投稿日:04/02/11 12:38 ID:4PXt22vO
以下のように、setTimeoutで

for(var i=0; i<10; i++){
  setTimeout(function(){ test(i); },100);
}

とすると、test()に渡される値が1〜9という形で渡されず、最初から
9が渡されてしまいます。どのように行えばいいのでしょうか?

test()が関数内の関数なので、setTimeout("test(" + i + ")",100)
とすることが出来ません。

540 名前:Name_Not_Found 投稿日:04/02/11 12:44 ID:???
>>539
お答えします。その関数リテラル内で参照しているiは
for文のあたまで定義している変数iだからsetTimeoutが
実行される時点では最後の値まで進んでしまっている。
「その時点の値」を使わせたければ、新しい変数を作って
そこにその時点のiを入れる必要があるわけだが、その一番
簡単な方法はiの値を引数として関数を呼び出すこと。つまり
for(var i = 0; i < 10; ++i) set1(i);
...
function set1(n) { setTimeout(function() { test(n); }, 100); }
こうすれば関数リテラル内から参照されている変数nはset1の呼び出し
時に作られるものだから、値が先に進んでしまうようなことはない。
ちなみに >>519 でも同様な手法を使っている。

541 名前:Name_Not_Found 投稿日:04/02/11 13:32 ID:4PXt22vO
>>540
有り難うございます。
そうか。forの時点でsetTimeoutにするのではなく、その先で行えば
いいのですね。解決しました。ありがとうございました。


542 名前:Name_Not_Found 投稿日:04/02/11 17:36 ID:ricGgZwX
ドラッグレイヤー上に画像を準備して、その画像をクリックすると、
レイヤーが消えるスクリプトを書いています。
どうしても動かないのでご相談です。

ドラッグレイヤー元ネタ
http://allabout.co.jp/computer/javascript/closeup/CU20020417/?FM=lt

やったこと
 上記のスクリプトのレイヤー宣言部分である↓
 dragLay['レイヤー名'] = new dragLay('レイヤー名',left,top,'html')
 のHTML部分で、レイヤを閉じる関数「hideLAYER(レイヤー名)を作成し、
 <img src="xxxx.gif" onClick="hideLAYER(レイヤー名)">
 と記述

するとオブジェクトが見つかりませんということで叱られてしまいます。
どのようにしたら解決できますでしょうか?
なお、レイヤー名をシングルコート(')でくくるとレイヤーそのものが表示されなくなってしまいます。 

543 名前:Name_Not_Found 投稿日:04/02/11 21:06 ID:???
>>542
もしかしてその<img src=...>全体も''で囲まれているんだよね。
その中に'をそのまま使ったらそこで文字列リテラルが終わって
しまうと思わないか。激しくガイシュツだぞ。

544 名前:542 投稿日:04/02/11 21:30 ID:ricGgZwX
>>543
!たしかに。正確には多分「’」で終わってしまうのですね。。。
激しくがいしゅつとのことですが、回避方法などのポインタだけでも
教えていただけると幸いです。
Ctrl+Fでもどんな検索キーワード入れたらいいか、
皆目見当が… バカですいません。

545 名前:Name_Not_Found 投稿日:04/02/11 21:51 ID:???
>>544
このスレを全部読め! と言いたいとこだが、まあいいや、 >>331
あたりが同じようなことをやってるから見てみれば。過去ログ
読めない奴はもう来ないでね。

546 名前:Name_Not_Found 投稿日:04/02/11 21:55 ID:???
>>545
すまそ、>>391 の間違いですた…


547 名前:Name_Not_Found 投稿日:04/02/11 22:01 ID:???
>545=546
悪人になりきれない奴とみた。

548 名前:Name_Not_Found 投稿日:04/02/11 22:38 ID:jkFD15VZ
>>546
おまえこそ出直せ

549 名前:Name_Not_Found 投稿日:04/02/11 22:56 ID:???
★★★★★★★★★★★★★★★★★★★★★★★★★
★                                      
★ >>548は天才チンパンジー「アイちゃん」が            
★ 言語訓練のために書き込んだものです。                 
★ アイと研究員とのやり取りに利用するので、        
★ 関係者以外は反応しないで下さい。                
★ 研究員以外でレスした人は、チンパンジーと           
★ 認識されますので御注意下さい。                  
★                                       
★             京都大学霊長類研究所 

550 名前:542 投稿日:04/02/11 23:19 ID:ricGgZwX
>>545
ごめん 根本的な解決には至らなかった。

551 名前:Name_Not_Found 投稿日:04/02/11 23:30 ID:WeRLN758
>>550
とすると、そのhideLAYER()という関数の中身が問題
だな。それを貼ってみれ。

552 名前:Name_Not_Found 投稿日:04/02/12 02:05 ID:???
以下のような場合に#親div1の高さが何pxで描画されるのかを取得して、#子div1の高さに反映させるようなことは
可能でしょうか?
<div id="親div1" style="width:400px; height:auto;">
<div id="子div1" style="float:right;width:100px"></div>
<p>内容量が変動するテキストが入る。</p></div>

553 名前:Name_Not_Found 投稿日:04/02/12 02:13 ID:???
>>552
>>250 これか?

554 名前:552 投稿日:04/02/12 03:39 ID:???
553さん、ありがとうございます。親div内で子divをdocument.writeで描画すると親divの高さに影響を与えるためか高さ0を取得してしまいますのでdivを分けました。
<div id="div1" style="border-style:dotted none;border-width:2px;border-color: red; width:300px;height:auto;float:left;padding:10px;">
<p style="margin:0;">どんな長さの文章がくるかあらかじめわからない<br>
どんな長さの文章がくるかあらかじめわからない<br>
どんな長さの文章がくるかあらかじめわからない<br></p></div>
<script language="javascript">
var div_Height=document.getElementById("div1").offsetHeight;
document.write('<div style="margin-left:320px;width:120px;height:'+div_Height+'px; background-color:red;">');
</script>
<ul style="padding-top:10px"><li>リンク1</li><li>リンク2</li><li>リンク3</li><li>リンク4</li></ul></div>
<br style="clear:both;">

555 名前:Name_Not_Found 投稿日:04/02/12 05:18 ID:???
ページ内のある指定の場所までスクロールさせたいとき、
(日付の降順になっている日記のログで
「次の日付へ」というリンクにするつもりです)
その座標はどのように取得すればいいんでしょうか?
日記の日付の部分にNAMEを振ってあるので、getElementbynameが使えるんでしょうか・・・

556 名前:Name_Not_Found 投稿日:04/02/12 07:09 ID:???
>>555
アンカーリンクしとけよ

557 名前:Name_Not_Found 投稿日:04/02/12 07:38 ID:???
たとえばすべてのdivにある効果を与えたいとき、
IEならbehaviorを使えばいいんですが、
Mozilla、Operaではどうすればいいんでしょうか?

bodyのonloadですべてのdivを列挙して(面倒)、それぞれに効果を
与えるコード(addEventListener等)を実行しなければならないのでしょうか?
これだとページが終わるまで効果が発動しなくてちょっといやなんですが。

behaviorの用にタグが完成した時点でそのタグに効果を与える方法があればいいのですが。

558 名前:557 投稿日:04/02/12 07:41 ID:???
divにonloadがあればいいのになぁ。

559 名前:Name_Not_Found 投稿日:04/02/12 07:55 ID:???
>>555
>日記の日付の部分にNAMEを振ってあるので
以下のソースで document 中の(すべての) anchor name を確認できる.
応用はご自分でね.
<!--script_part-->
function f(){
var A=new Array;
var A0=document.anchors; var l=A0.length;
for(i=0; i<l; i++){
A[i]=A0[i].name;
}
alert(A);
}
<!--HTML_part-->
<a name="a0"><!--a0--></a>
<a name="a1"><!--a1--></a>
<a name="a2"><!--a2--></a>
<form action="#">
<input type="button" value="click ! " onclick="f()">
</form>

560 名前:Name_Not_Found 投稿日:04/02/12 08:13 ID:???
>>557
>たとえばすべてのdivにある効果を与えたいとき
効果にもよるけど可能.

>>558
<body onLoad="f()"> に不可能なし.

561 名前:Name_Not_Found 投稿日:04/02/12 09:37 ID:uVnx3tfB
「アクセスが拒否されました」エラーの原因を教えて下さい
----------------------------------------------
@F11 禁止のjsを作成(common.js)
function keydown(e) {

//F11 禁止
if( event.keyCode == 122 ) {
event.keyCode=0;
event.returnValue = false;
}
}

window.self.document.onkeydown = keydown ;
Amenu.jspで@のjsを読み込む→menu.jsではF11キーは抑止される
Bmenu.jspからwindow.openで子ウインドウ(pro1.jsp)を作成
Cpro1.jspで@のjsを読み込む→<INPUT type="file">のところでF11キーを押すと
「アクセスが拒否されました」

子ウインドウでは「event.keyCode」ではキーコードを
取得できないのでしょうか?



562 名前:Name_Not_Found 投稿日:04/02/12 10:32 ID:z0lOqIA8
Javascriptで行を追加する時にcolspanとかって使えるのでしょうか?
例えば下記のように行を追加した時にcolspanを使うとか・・

new_row = table.insertRow(table.rows.length);
font = document.createElement('font');
font.setAttribute('size','2');
font.appendChild(document.createTextNode('テスト'));
new_row.insertCell(0).appendChild(font);

どうやってもcolspanできませんでした。
このやり方だとできないのでしょうか?

563 名前:Name_Not_Found 投稿日:04/02/12 11:04 ID:???
>>561
原因が違うと思われ。input type="file"は危険なので制限が
ガチガチに掛かっている(でないと勝手なファイルをサーバに
取り寄せることができるから)。type="file" 以外の要素で
同じコード試してみたらどうかな。

564 名前:Name_Not_Found 投稿日:04/02/12 11:15 ID:uVnx3tfB
>>563
レスありがとうございます。
ご指摘の通り、原因違いました
<INPUT type = "text">では、F11キー抑止できました。
<INPUT type = "file">では、F11キーは抑止できないと
いうことなんですね・・・
どうしよう。。。

565 名前:Name_Not_Found 投稿日:04/02/12 11:16 ID:???
>>562
なんでみんなsetAttributeが好きなのかねえ。ちゃんとDOM2 HTMLを嫁。IE/Gecko/O7。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test(n) {
var tr = document.createElement('tr');
var td1 = document.createElement('td');
td1.appendChild(document.createTextNode('△')); tr.appendChild(td1);
document.getElementById('t0').appendChild(tr); td1.colSpan = n;
}
</script>
</head><body>
<table border="2" summary="test"><tbody id="t0">
<tr><td>○</td><td>○</td><td>○</td><td>○</td><td>○</td></tr>
</tbody></table>
<p><a href="javascript:test(1)">1</a>|<a href="javascript:test(2)">2</a>|
<a href="javascript:test(3)">3</a>|<a href="javascript:test(4)">4</a></p>
</body></html>


566 名前:562 投稿日:04/02/12 11:58 ID:z0lOqIA8
>>565
わざわざサンプルまでつけていただきありがとうございましたm(_ _)m
参考にさせていただきます

567 名前:542 投稿日:04/02/12 13:05 ID:QN9XD5wj
>>551
ありがとうございます。以下のものになります。

function hideLAYER(idName){

if(document.getElementById) //NN6,Mozilla,IE5用
document.getElementById(idName).style.visibility = 'hidden'

else if(document.all) //IE4用
document.all(idName).style.visibility = 'hidden'

else if(document.layers) //NN4用
document.layers[idName].visibility = 'hide'
}

以上、よろしくお願いいたします。

568 名前:Name_Not_Found 投稿日:04/02/12 13:09 ID:???
>>567
問題なさそうだね、不思議。じゃこの関数の冒頭に「alert(idName);」
入れてクリックしたときちゃんと思ったものが渡されて呼ばれているか
チェックすれ。

569 名前:557 投稿日:04/02/12 13:26 ID:???
>>560
> >たとえばすべてのdivにある効果を与えたいとき
> 効果にもよるけど可能.
ということは効果によっては不可能って事かな。
何にでも使える方法を探しているんでスタイルシートで
やれる範囲は問題外なんだよね。

>>558
> <body onLoad="f()"> に不可能なし.
いや。onloadはページを読み終わった後にしか発動しない。
それがいやなんだよね。

570 名前:Name_Not_Found 投稿日:04/02/12 13:29 ID:V3BJYzC8
文字列の変数をリファレンス渡しにするにはどのようにしたら良いのでしょうか?

571 名前:Name_Not_Found 投稿日:04/02/12 13:54 ID:???
>>570
できないよ。オブジェクトなり配列なりに格納してそのオブジェクト
なり配列なりを値渡しすれ。
>>569
だったらその要素の閉じタグの直後に<script>...</script>入れる
のが素直じゃないのかな。繰り返しどこまでロードされたかチェック
するなんて鳥ツキだし。

572 名前:Name_Not_Found 投稿日:04/02/12 14:05 ID:z0lOqIA8
createElementでselectやinputを作成したのですが、
selectedやデフォルト表示ってできるのでしょうか?
setAttributeとかで・・

573 名前:572 投稿日:04/02/12 14:24 ID:z0lOqIA8
何度もすみません。
inputの場合は下記のようにデフォルト表示ができました。
test.setAttribute('value','テスト');
selectedはやはりできませんでした・・
初心者的な質問ですいませんm(_ _)m

574 名前:Name_Not_Found 投稿日:04/02/12 14:29 ID:???
>>573
何回でも言うけどDOM2 HTMLを読め。仏の顔も三度という諺を知らんかね。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var d0 = document.getElementById('d0');
var s1 = document.createElement('select'); d0.appendChild(s1);
var o1 = document.createElement('option');
o1.appendChild(document.createTextNode('△')); s1.appendChild(o1);
var o2 = document.createElement('option');
o2.appendChild(document.createTextNode('×')); s1.appendChild(o2);
o2.selected = true;
}
</script>
</head><body>
<form action="#"><div id="d0"></div></form>
<p><a href="javascript:test()">Test</a></p></body></html>

575 名前:Name_Not_Found 投稿日:04/02/12 14:30 ID:???
初心者という言葉は禁句だろ。2度と書くな。>>1 を読んでみれ。

576 名前:Name_Not_Found 投稿日:04/02/12 16:16 ID:cuhzsK6B
>>575
君は帰っていいよ。

577 名前:Name_Not_Found 投稿日:04/02/12 16:31 ID:???
>>569
>スタイルシートでやれる範囲は問題外なんだよね。
はて ?
そもそも div には範囲指定の意味しかないはずなんだけど ?
それに対して何らかの効果を求めるのなら CSS のお世話になるしかないのでは ?

>onloadはページを読み終わった後にしか発動しない。
>それがいやなんだよね。
はて ?

で,結局何をやりたい訳 ?

578 名前:Name_Not_Found 投稿日:04/02/12 16:45 ID:???
escape()した文字列があって、それをunescape()してtextareaに表示する場合はどうすればいいんでしょうか?

579 名前:542=567 投稿日:04/02/12 16:45 ID:QN9XD5wj
>>568
ご返答ありがとうございます。
[object] という値がはいってました(汗
それってなにも入ってないってことですよね・・・

レイヤー上でない部分にonClickを仕込んでみると、
しっかりhiddenにしたいレイヤーのIDがアラートで表示されていました。

580 名前:557 投稿日:04/02/12 16:53 ID:???
>>577
ページの要素を動的に変えるためにJavaScriptを使うんだよ。
スタイルシートは動的に変えるもんじゃないでしょ。
divがいやならspanでもなんでもいいけど。

> はて ?
はてって? onloadはページがロードし終わってからじゃないと
実行されないでしょ。それに最後で該当のタグを列挙するなんて
コードはbehaviorに比べると冗長。

> で,結局何をやりたい訳 ?
behaviorのような物。
例えばCSSみたいにタグの属性のようにコードを指定しておき
タグが読み込まれた時点で実行される方法。
behaviorが分からないのなら調べてくれ。

581 名前:Name_Not_Found 投稿日:04/02/12 16:53 ID:???
>>578
何が分からないのか分からない。
IEでクッキー読んだら化けたとか?

582 名前:Name_Not_Found 投稿日:04/02/12 17:14 ID:???
<a href="www.yahoo.co.jp">yahoo<script>・・・</script></a>の
スクリプト内から親のaを取得することって出来る?

583 名前:573 投稿日:04/02/12 17:18 ID:z0lOqIA8
>>574
またまたサンプルをいただきありがとうございます
色々とありがとうございましたm(_ _)m


584 名前:Name_Not_Found 投稿日:04/02/12 17:18 ID:???
>>578
とりあえず,試してみてね.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html lang="ja"><head>
<meta http-equiv="content-type" content="text/html;charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>exam</title>
<script type="text/javascript"><!--
function f(){
var str0=document.forms[0].elements['text0'].value;
document.forms[0].elements['text1'].value=escape(str0);
}
function g(){
var str1=document.forms[0].elements['text1'].value;
document.forms[0].elements['text1'].value=unescape(str1);
}
//--></script>

</head><body>

<form action="#">
<input name="text0" type="text" value="あいえお">
<textarea name="text1"></textarea>
<input type="button" value="escape" onClick="f()">
<input type="button" value="unescape" onClick="g()">
</form>
</body></html>

585 名前:Name_Not_Found 投稿日:04/02/12 17:29 ID:???
>>580
あんた,解っているのか解っていないのかサッパリ...
んで,あっしの手には負えないので,ご自分で解決してくだせ〜.

586 名前:Name_Not_Found 投稿日:04/02/12 17:30 ID:???
>>580
おまけ.
http://www.google.com/search?hl=ja&as_sitesearch=tohoho.wakusei.ne.jp&q=behavior&btnG=%8C%9F%8D%F5


587 名前:557 投稿日:04/02/12 17:33 ID:???
>>585
わかってないのはあんただと思うよ。とほほからのサンプル。
これをbehavior使わないでMozillaやOperaで動く方法はあるの?

> IMG { behavior:url(http://www.yyy.zzz/scripts/xx.htc); }
>
> ここで、xx.htc ファイルには以下のように記述しておきます。onclick はすべて小文字で記述してください。
>
> <script type="text/javascript">
> <!--
> attachEvent("onclick", func);
> function func() {
> this.style.width = "100px";
> this.style.height = "100px";
> }
> -->
> </script>

588 名前:Name_Not_Found 投稿日:04/02/12 17:55 ID:???
>>587
とりあえず,試してくれ.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html lang="ja"><head>
<meta http-equiv="content-type" content="text/html;charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>exam</title>
<style type="text/css"><!--
div{
border:1px solid #003139;
text-align:center;
}
--></style>
<script type="text/javascript"><!--
function f(x){
x.style.width='100px';
x.style.height='100px';
}
//--></script>
</head>

<body>
<div class="ot" onClick="f(this)">test</div>
</body></html>

589 名前:Name_Not_Found 投稿日:04/02/12 18:14 ID:???
>>588
じゃあ次はdivの数をステータスバーに表示するようにするにはどうする?

ちなみにbehaviorを使った例
■test.html
<html>
<style type="text/css"><!--
div {behavior:url(test.htc);
}
--></style>
<body>
<div>test1</div>
<div>test2</div>
<div>test3</div>
</body></html>

■test.htc
<script type="text/javascript">
window.status++;
</script>

590 名前:557=589 投稿日:04/02/12 18:18 ID:???
ちょっと修正。divの数じゃなくてclass=testの数を
ステータスバーに表示するにはどうする?

■test.html
<html>
<style type="text/css"><!--
.test {behavior:url(test.htc);
}
--></style>
<body>
<div class=test>test1</div>
<div class=test>test2</div>
<div class=test>test3</div>
<div class=zzz>zzz</div>
</body></html>

591 名前:Name_Not_Found 投稿日:04/02/12 18:19 ID:???
>>589
偉そうな事,言うくらいだから自分でできるのでしょ ?
おいらはもう知らない !

592 名前:Name_Not_Found 投稿日:04/02/12 18:23 ID:???
IEマンセーってか

593 名前:557 投稿日:04/02/12 18:23 ID:???
>>591
できないから聞いてるんじゃん。

次に考え付くのが、bodyのonloadのスクリプトで列挙して数える方法だけど
これだとページが読み終わるまで実行されない。

たとえば次の例のようにpauseされていると途中までの結果がわからない。
もちろんbehaviorならできる。
このように、MozillaやOperaでタグが表示された時点で
スクリプトを実行する方法はないのかと最初っから聞いている。

<div class=test>test1</div> <script>alert("pause")</script>
<div class=test>test2</div> <script>alert("pause")</script>
<div class=test>test3</div> <script>alert("pause")</script>
<div class=zzz>zzz</div> <script>alert("pause")</script>

594 名前:Name_Not_Found 投稿日:04/02/12 18:24 ID:???
ないよそんなの。

595 名前:557 投稿日:04/02/12 18:24 ID:???
>>592
IEマンセーなら、IE以外の事なんかどうでもいいって。

596 名前:Name_Not_Found 投稿日:04/02/12 18:25 ID:V3BJYzC8
>>571
有り難うございます。
やはり文字列をリファレンスで渡すのは無理なんですね。
出来ると便利なのに。おっしゃる通りにオブジェクトか配列を
使用したいと思います。

597 名前:Name_Not_Found 投稿日:04/02/12 18:29 ID:???
全部 JavaScript で生成すればいいじゃん。

598 名前:557 投稿日:04/02/12 18:33 ID:???
>>594
俺あてのレス? マジないの?
IE以外では制限有りってことにするしかないのかな。

>>597
JavaScriptがONじゃないと全部見えないかw

599 名前:Name_Not_Found 投稿日:04/02/12 18:36 ID:???
設計?を見直したら。
最終的に何をやりたいのか分からんけど。

600 名前:557 投稿日:04/02/12 18:43 ID:???
>>599
設計なんてないよ。behaviorで出来ること(タグ表示後すぐに実行)を
MozillaやOperaで実行する方法を探しているんだから。

IEでタグにattachEventをやろうと思ってMozillaやOperaは
addEventListenerでやれるというのは分かったんだけど、
それを実行できるタイミングがページ表示完了後ってのは嫌だし。

601 名前:Name_Not_Found 投稿日:04/02/12 18:51 ID:???
>>600
onload とか使わずに直(?)にスクリプトを実行すると、
DOM がマップされる前のタイミングで実行されるようだから、
Timeout とか使って、追っかけてみればなんかわかるんじゃない?

ただ、そんなの一瞬なんで実際に効果的かどうかはわかんないけど。

602 名前:Name_Not_Found 投稿日:04/02/12 19:50 ID:???
フォーカスをアクセスキーで移動,ENTERキーでジャンプしたいのですが...、
その前にこの場合location.href =''はどうしたらよいのですか?
<html><HEAD><TITLE></TITLE><SCRIPT>
var site = new Array("http://pc2.2ch.net/test/read.cgi/hp/1075096787/l50","http://www.yahoo.co.jp/","","")
var nIndex;
function FirstFocus() { nIndex = 0,document.forms[0].elements[nIndex].focus(),document.forms[0].elements[nIndex].select(); }
function Move_down() {
if (nIndex >= 3) { nIndex = 0; }
else { nIndex++; }
document.forms[0].elements[nIndex].focus(),document.forms[0].elements[nIndex].select();
}
function Move_up() {
if (nIndex <= 0) { nIndex = 3; }
else { nIndex--; }
document.forms[0].elements[nIndex].focus(),document.forms[0].elements[nIndex].select();
}
</SCRIPT>
</head>
<body onLoad="FirstFocus()">
<FORM target="_blank">
<script language="JavaScript">
for (i=0;i<4;i++){
document.write("<INPUT TYPE='text' SIZE=50>");
document.forms[0].elements[i].value=site[i];
}
</script></FORM>
<INPUT name="btnGo" type="button" id="r1" accesskey="z" tabindex="1" onClick="Move_down()" value="DOWN">
<INPUT name="btnGo" type="button" id="r2" accesskey="x" tabindex="2" onClick="Move_up()" value="UP">
<label accesskey="z" for="r1">DOWN(<u>z</u>)</label><label accesskey="x" for="r2">UP(<u>x</u>)</label><INPUT TYPE = 'button' VALUE ="JUMP" onClick ="location.href =''"></body></html>
改行エラーで書き込めませんでした。見難いですが、お願いします。m(__)m

603 名前:Name_Not_Found 投稿日:04/02/12 21:19 ID:???
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja"><head>
<meta http-equiv="content-type" content="text/html;charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>exam</title>
<style type="text/css"><!--
.hide{display:none;}
div{margin-bottom:2px;}
--></style>
<script type="text/javascript"><!--
function f(x){
e=document.getElementById(x);
e.style.border='1px solid #003139';
e.style.display='block';
}
function g(x){
x.style.border='none';
x.style.display='none';
}
//--></script>
</head>
<body>
<ul>
<li onClick="f('id0')">test0</li>
<li onClick="f('id1')">test1</li>
</ul>
<div class="hide" id="id0" onClick="g(this)">text0</div>
<div class="hide" id="id1" onClick="g(this)">text1</div>
</body>
</html>

604 名前:603 投稿日:04/02/12 21:20 ID:???
[CSS を JavaScript で動的に変更する sample script]
・ list をクリックすると div で囲われた text が現れる.
・ div で囲われた中をクリックすると消える.
(誰のためでもなく,実験結果を披露したいだけ.)

605 名前:Name_Not_Found 投稿日:04/02/12 21:30 ID:???
>>604
オナニーならよそでやれ

606 名前:603 投稿日:04/02/12 21:31 ID:???
追記:
iCab2.97, IE5.0, Netscape7.01 で動作確認済.

607 名前:603 投稿日:04/02/12 21:34 ID:???
>>605
大目に見てくで !

608 名前:Name_Not_Found 投稿日:04/02/12 22:15 ID:???
すみません。
tableをクリックしたとき、どのセルでクリックが発生したか取得する関数はありませんか?

具体的には・・・・
<table>
<tr><td>1-1</td><td>1-2</td></tr>
<tr><td>2-1</td><td>2-2</td></tr>
</table>
のような表があるとして、2-1の上でクリックすると、
xに2、yに1が代入されるような関数がほしいのです。

609 名前:Name_Not_Found 投稿日:04/02/12 22:43 ID:???
>>608
event.srcElementとかでオブジェクトは分かるだろうけどその後
どうするわけ?結局各td要素に「onclick="x=2;y=1"」とかつける
のが一番簡単だと思うけどね。もちスクリプトでまとめてつける
こともできるが。

610 名前:Name_Not_Found 投稿日:04/02/12 22:52 ID:???
それぞれにIDを振りたくなければ

<td onClick="f(this.innerHTML)">1-1</td>

function f(txt){
txt.match(/([0-9])-([0-9])/);
x = RegExp.$1;
y = RegExp.$2;
}

とか

611 名前:Name_Not_Found 投稿日:04/02/12 23:10 ID:???
なぜか, table に関する property, method は ないみたいだね.

612 名前:Name_Not_Found 投稿日:04/02/12 23:26 ID:???
608です。

>>609
お返事ありがとうございます。
いやぁ・・・実は全く分かりません。
JavaScriptを自作する機会があまりなかったので。
event.srcElementを使うのがヒントなんですね?
さっそく調べてみますね。ありがとうございます。

それで、やりたいことは、下のような表があるのですが、
例えば「りんご」をクリックすると、「りんご」の
google検索結果のURLに飛べるようにしたいのです。

そこで、クリック時に、xとyにセル位置を代入して、Numberで数値化して
kensakutaisho = hyounonakami.rows[x].cells[y].firstChild.nodeValue;
という形で、kensakutaishoにセル内容を代入し、
location.href = "http://google.com/search/" + kensakutaisho;
という感じで飛べればなぁ・・と思った次第です。

613 名前:Name_Not_Found 投稿日:04/02/12 23:27 ID:???
続きです。

>>610
ああ・・・申し訳ありません。
そのサンプルのtd要素の内容は、単純化してます。
実際の中身は、こんな感じです。

----------
<table id="hyou1">
<caption>果物</caption>
<thead><tr><td>番号</td><td>日本語</td><td>英語</td></tr></thead>
<tbody id="hyounonakami">
<tr id="id1"><td>1</td><td>りんご</td><td>apple</td></tr>
<tr id="id2"><td>2</td><td>レモン</td><td>lemon</td></tr>
<tr id="id3"><td>3</td><td>ぶどう</td><td>grape</td></tr>
</tbody>
</table>
----------

と、自分で書いてて気付いたのですが、trのid属性の値と1行目に
列番号が入っていますので、これを利用する方法でもいいのかな・・。
get.Attributeという関数があるようですし・・・。

614 名前:Name_Not_Found 投稿日:04/02/12 23:37 ID:???
>>611
そうなんですか・・
最悪、一つ一つにonclick="x=2;y=1"をつける羽目になりそうですね。

615 名前:Name_Not_Found 投稿日:04/02/12 23:41 ID:???
各td要素にonclickをつけるのか。
こういうときbehaviorなら一発なのに。
しかも後でスクリプトでonclickを付け加えるのと違って、
大きなテーブルでもすべてを読みきらないうちからクリックできる。

616 名前:615 投稿日:04/02/12 23:51 ID:???
なんだ。これで上手く動くじゃん。

<table border=1 onclick=alert((event.srcElement.parentElement.rowIndex+1)+"-"+(event.srcElement.cellIndex+1))>
<tr><td>1-1</td><td>1-2</td><td>1-3</td></tr>
<tr><td>2-1</td><td>2-2</td><td>2-3</td></tr>
<tr><td>3-1</td><td>3-2</td><td>3-3</td></tr>
</table>


617 名前:615 投稿日:04/02/12 23:54 ID:???
でも今回の場合、こっちの方がいいような気もするけどね。
<table border=1 onclick=alert(event.srcElement.innerText)>
<tr><td>1</td><td>りんご</td><td>apple</td></tr>
<tr><td>2</td><td>レモン</td><td>lemon</td></tr>
<tr><td>3</td><td>ぶどう</td><td>grape</td></tr>
</table>

618 名前:Name_Not_Found 投稿日:04/02/13 00:07 ID:???
608です。

>>617
「event.srcElement.innerText」
・・・便利なものがあるんですね。
ありがとうございます。
試行錯誤してみます。

619 名前:Name_Not_Found 投稿日:04/02/13 00:35 ID:???
っていうか、素直にリンクにしろ。
意味の無い労力をかけるな。

620 名前:Name_Not_Found 投稿日:04/02/13 01:24 ID:3A0g6U2E
formタグ上にある、テキストフィールドのみすべてを走査する方法ってありますか?



621 名前:Name_Not_Found 投稿日:04/02/13 01:33 ID:???
>>619
全部に<a href=~~~~~>書くほうがずっと無意味な労力だと思うが

622 名前:Name_Not_Found 投稿日:04/02/13 02:00 ID:???
>>620

>>3-4

623 名前:620 投稿日:04/02/13 02:14 ID:3A0g6U2E
>>622
ごめん。どこにあるかわからない・・。

documents.forms[0].elementsでループでまわしてしまうと、
余計なものも取れてしまうでしょ。

form上にあるテキストのみを取りたいのですが・・。


624 名前:Name_Not_Found 投稿日:04/02/13 03:13 ID:12DUrqVj
おまいらもっと簡単に言ってくれよ


625 名前:Name_Not_Found 投稿日:04/02/13 08:12 ID:???
自分で探求する気のない奴に教える奴などいない。
>>623
だからその取ったものが何であるか調べればいいわけよ。
具体的にはプロパティnodeNameとtypeを見るんだろうな。

626 名前:Name_Not_Found 投稿日:04/02/13 12:41 ID:???
>>623
取り合えず,どういう目的なのかを書いてね.
script 以前の問題かもしれないしね.
(loop でブン回す必要があるほど form elements が多いケースって,どんな場合 ?)

627 名前:Name_Not_Found 投稿日:04/02/13 13:21 ID:???
タイマーで↓を実行したいのですがうまくいきません
parent.frames[openF].document.getElementById("Num"+openR).innerHTML=Tag;
openF openR Tag が変数です

こうやるとエラー
setTimeout("parent.frames["+openF+"].document.getElementById('Num'"+openR+").innerHTML="+Tag,300);
全体を''で囲んでもダメでした
setTimeout('"parent.frames["+openF+"].document.getElementById(\"Num\""+openR+").innerHTML="+Tag',300);


628 名前:Name_Not_Found 投稿日:04/02/13 13:28 ID:???
>>627
script 部分だけ書き出されてもな〜...

629 名前:Name_Not_Found 投稿日:04/02/13 13:43 ID:???
>>627
setTimeoutをalertに取り換えて表示された文字列がJavaScriptの
構文として合っているかどうかよく見れ。

630 名前:Name_Not_Found 投稿日:04/02/13 16:03 ID:???
>>623
そもそもそんな処理やってるアンケートフォームとか、
腐るほど転がっているだろうに。

631 名前:Name_Not_Found 投稿日:04/02/13 16:19 ID:DEbUvtFR
質問です。

親子関係の無いWindowが開いているかか
確認する為に

var w=window.open('',"FRAM_CCC",'left=0,top=0,width=0,height=0');
if(w.location.href=="about:blank"){
w.close();
}else{
win2=window.open("FRAM_ccc.html","FRAM_CCC");
}

このような感じで作成してみました。
他に同じような結果を得る方法があれば教えてください。




632 名前:Name_Not_Found 投稿日:04/02/13 16:49 ID:???
>>628
>>629
サンクス
これが正解ですた
setTimeout("parent.frames["+openF+"].document.getElementById('modelNum"+openR+"').innerHTML='"+Tag+"'",300);


633 名前:Name_Not_Found 投稿日:04/02/13 16:56 ID:???
>>632
"+openF+" とか, 'modelNum"+openR+"' などはどういう事 ?
(別の routin で eval() を使っているのだろうか ?)

634 名前:Name_Not_Found 投稿日:04/02/13 17:09 ID:???
>>633
openF=1;
openR=10;
Tag="<B>moji</B>";
parent.frames[openF].document.getElementById("Num"+openRoom).innerHTML=Tag;

これをタイマーの中でやりたいだけなんだけど
話が通じてないかもしれない

635 名前:Name_Not_Found 投稿日:04/02/13 17:31 ID:???
>>634
で,解決した訳でしょ ?
それならば,めでたしめでたしって事でいいんじゃないかな ?
(変わった事をやっていると思ったので聞いてみただけ.)

636 名前:Name_Not_Found 投稿日:04/02/13 18:02 ID:???
>>633 はnullかね。だったら相手にしないように。
setTimeoutに文字列渡した時は時間がきたらその文字列がeval
されるだろ。あ、相手にしちゃった。

637 名前:Name_Not_Found 投稿日:04/02/13 18:13 ID:???
>>636
ゲームにも飽きたし, web 制作初心者スレもイマイチなので,
こちらに顔を出す様になった訳だが...
こちらも盛り上がりに欠けるね〜.

638 名前:Name_Not_Found 投稿日:04/02/13 18:30 ID:???
>>637
暇潰しの半可通はカエレ。スゴイ技が見たければvol.1から全部読めば
いろいろあるぞ〜。

639 名前:Name_Not_Found 投稿日:04/02/13 18:43 ID:???
>>638
生半可と言われると痛い.
(確かにその通り !)
でも,僕は物作りを楽しむ方なんだ.
そこいらの教えて君とは一味違うぜ.

640 名前:Name_Not_Found 投稿日:04/02/13 18:50 ID:???
>>638
で,良かったら,思い出に残るスゴ技をお聞かせくだされ.

641 名前:Name_Not_Found 投稿日:04/02/13 19:08 ID:???
頼む、帰ってくれ。

642 名前:Name_Not_Found 投稿日:04/02/13 21:11 ID:???
>>640
名も名乗らないようなやつに教える義理は無い
で、お前は質問禁止。

643 名前:Name_Not_Found 投稿日:04/02/13 21:23 ID:???
>>642
(?◇?)

644 名前:Name_Not_Found 投稿日:04/02/14 00:29 ID:???
ローカルあぼーんさせてくれってことだろ

645 名前:Name_Not_Found 投稿日:04/02/14 01:20 ID:QtRCGbl9
setTimeout()を1秒後に設定しつつ、
次の行でclearTimeout()を実行(1秒もかからない?)した場合
setTimeout()は解除されるのですか?
それとも最低1秒後に1回実行されるのでしょうか?

646 名前:Name_Not_Found 投稿日:04/02/14 01:32 ID:6Fj6G12T
実際にやってみれば。出来ないの?

647 名前:Name_Not_Found 投稿日:04/02/14 07:23 ID:???
>>644
なるほど...
ここで ',' と '.' を filtering した日には...
ケケケ.


648 名前:Name_Not_Found 投稿日:04/02/14 09:48 ID:???
>>645-646
そもそもsetTimeoutは指定時間後に「1回だけ」動作を実行させる
もの。clearTimeoutはsetTimeoutの指定をキャンセルするもの。
clearTimeoutを呼んだのに1回実行されたらその存在価値がない
だろ。

649 名前:Name_Not_Found 投稿日:04/02/14 10:48 ID:???
便乗質問:

とほほ; setTimeout の説明
http://tohoho.wakusei.ne.jp/js/window.htm#setTimeout
を見ると,

>id = setTimeout(func, 1000, "ABC");
> func には関数名を記述します。

というサンプルがあります.
さて,この関数名とは ???
( f() という記述では正しく動作しないようなのですぅ〜.)

650 名前:Name_Not_Found 投稿日:04/02/14 10:52 ID:???
質問だ〜.

Function.prototype.getName = function(){
return ("" + this).replace(/function\s*/,"").match(/\w*\b/);
}

これってどういう意味 ?

651 名前:Name_Not_Found 投稿日:04/02/14 10:58 ID:???
>>649
これでいいだろ

function func(){
retun function(){alert("null shine!")}
}

id = setTimeout(func(), 1000);

652 名前:Name_Not_Found 投稿日:04/02/14 11:10 ID:???
>>651
しみじみ反省:
ここで質問した僕がバカでした. うぇ〜ん.


653 名前:Name_Not_Found 投稿日:04/02/14 12:03 ID:???
"f()"

654 名前:Name_Not_Found 投稿日:04/02/14 12:14 ID:???
>>653
その手はテストの結果,うまくいってます.
で,とほほで紹介されている方法も成功しました.
(結局 eval 評価されている点では同じですが...)
後ほどレポートしますです.

655 名前:Name_Not_Found 投稿日:04/02/14 13:33 ID:???
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html lang="ja"><head>
<meta http-equiv="content-type" content="text/html;charset=Shift_JIS">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>exam</title>
<script type="text/javascript"><!--
function init(){
fld=document.forms[0].txt;
str0='null ちゃんはバカ ?'; str1='んなこたぁない, 実はかしこいのさ!!!';
}
f0=function f0(){
fld.value=str0;
t_id=setTimeout(f1,1500);
}
f1=function f1(){
fld.value=str1;
}
function f(){
i_id=setInterval(f0,3000);
}
function qt(){
fld.value='quited';
clearInterval(i_id); clearTimeout(t_id);
}
//--></script>
</head>
<body onLoad="init();f()">
<form action="#">
<input type="text" name="txt">
<input type="button" value="quit" onClick="qt()">
<input type="button" value="restart" onClick="f()">
</form>
</body></html>

656 名前:655 投稿日:04/02/14 13:38 ID:???
[setTimeout/setInterval 実験 script]

657 名前:Name_Not_Found 投稿日:04/02/14 14:26 ID:XoakIo8x
IE6.0

<select name='year' id='year'>
<option value='2001'>2001
<option value='2002'>2002
<option value='2003'>2003
<option value='2004' selected>2004
</select>年

となってるときに、
2002年を
year.selectedIndex = 1;
と指定するのではなく
Vakue値を指定して選択できませんか??
year.selectedValue = 2002;
みたいに。

ご教授ください。

658 名前:655 投稿日:04/02/14 14:31 ID:???
>>657
確認:
value 値から selectedIndex を逆に求めたいと言う事 ?

659 名前:657 投稿日:04/02/14 14:55 ID:XoakIo8x
はい、そういうことになりますね

660 名前:Name_Not_Found 投稿日:04/02/14 14:58 ID:???
>>650-654
そもそも「関数名」は「f」なんだから「setTimeout(f, ...); 」
以外に解釈のしようがないと思うが。「f()」と書いたらそれは
関数名ではなく関数呼び出しになってしまうだろ。で、関数を
渡した場合はeval評価にはならないよね。

661 名前:Name_Not_Found 投稿日:04/02/14 15:01 ID:???
>>657
selectはそういう風にできてないので、値を指定したかったら
「値の文字列から、indexを求め、そのindexを用いて
selectedIndexを設定する」しかないと思うよ。それが
自力で書けないのなら勉強すれ。

662 名前:657 投稿日:04/02/14 15:03 ID:XoakIo8x
>>661
そうかー。
ASP.NETにはメソッドあったんで、無いか聞いてみただけですYO


663 名前:655 投稿日:04/02/14 15:07 ID:???
>>659
>>658 を書いていて可能性として "あり得ない" と思ったんだ.
なぜならば
<select name="slc0" onCange="f(this.selectedIndex)">
とすれば,面倒なことをしないでも何番目が選ばれているかが解るから.

あとは
function f(x){
n=document.forms[0].slc;
val=n.options[x].value; //value get !
txt=n.options[x].text; //text get ! <- (選ぶ時に直接見られる文字列)
}
とでも,やれば好きな値を取り出せる.

不明な所は質問しなおしてね.

664 名前:655 投稿日:04/02/14 15:18 ID:???
>>660
おっしゃる通りです.
白状すると setTimeout/setIntervar を今まで使ったこのがないの.
(eval 評価にはギョッとしましただ〜)

さて, >>655
alert(f0) などとやって見ると表示される内容は
f0 の内容があたかも text_string のように表示されるのが解りました.
とりあえず簡潔に書きたいと言う僕の欲求は満たされたのでした.

665 名前:Name_Not_Found 投稿日:04/02/14 15:57 ID:???
>>664
どうぞ。
f.toString=0;
alert(f);
setTimeout(f,1000);

function f(){
alert("");
}

666 名前:Name_Not_Found 投稿日:04/02/14 16:03 ID:kVp6Qqjx
指定されたキーを押すと、指定の場所にアクセスされる…っていう
スクリプトなんですけど、どなたか紹介されているページなどご存知の方いらっしゃいませんか?
昔、ブックマークしていたのですが消してしまって。
申し訳ないです。

667 名前:Name_Not_Found 投稿日:04/02/14 16:10 ID:???
>>665
(?◇?)

668 名前:Name_Not_Found 投稿日:04/02/14 16:16 ID:???
>>666
>指定されたキーを押すと
>指定の場所にアクセスされる
この部分を具体的に.
(探すより自作した方が早い)

あと,もう点.
ヒントさえあれば,自分で書けるんだよね ?!


669 名前:Name_Not_Found 投稿日:04/02/14 16:41 ID:???
>>668
返事がないから,それらしい所を紹介しておく.
http://www.openspc2.org/reibun/javascript/mouse/045/index.html

670 名前:Name_Not_Found 投稿日:04/02/14 18:35 ID:???
>>657
> 2002年を
> year.selectedIndex = 1;
> と指定するのではなく
> Vakue値を指定して選択できませんか??
> year.selectedValue = 2002;
> みたいに。
year.value = 2002

671 名前:Name_Not_Found 投稿日:04/02/14 18:53 ID:???
ウインドウが開くやつができません。
script languageのあたりが、本によってまちまちなのがまず気になるんですが・・・。
<html><head><title>open!</title>
<script language="JavaScript">
<!--
function open_win(){
window.open("open-1.html",""toolbar=0, location=0, directories=0, status=0,
menubar=0, scrollbars=0, resizable=1, width=300, height=300");
}
//-->
</script>
</head>
<body>
<form>
スライム登場!<br><br><br>
<input type="button" value="登場!" onClick="open_win()">
</form></body></html>

open-1.htmlのHTML
<html><head><title>open!</title>
</head>
<body>
<form>
<img src="37.jpg">
</form>
</body>
</html>

672 名前:Name_Not_Found 投稿日:04/02/14 19:09 ID:???
>>671
window.open("open-1.html","","toolbar=0, location=0, directories=0, status=0,
menubar=0, scrollbars=0, resizable=1, width=300, height=300");

質問です。以下のすくりぷとのいみがわかりません。
しかもブラウザごとに結果が違います。
教えてください。

<script type="text/javascript">
a=0;
var b=0,c="global_c";
onload=function d(){
b=c;
delete a;
delete b;
var c="local_c";
alert(""+window.a+b+c+d);
};
d=0;
alert(""+a+b+c+d);
</script>


673 名前:Name_Not_Found 投稿日:04/02/14 19:10 ID:???
>>671 window.openの行で改行してるのがひっかかる.

674 名前:Name_Not_Found 投稿日:04/02/14 19:15 ID:???
大域変数(Global)と局所変数(Local)を勉強するといい.
結果が違うのは「d」のことだと思うけど,
これは無名関数に関する問題.IEが少し違う挙動を示すはず.

675 名前:Name_Not_Found 投稿日:04/02/14 19:15 ID:???
>>671
>script languageのあたりが
最近では type attribute が必須とされているので,
<script type="text/javascript">
という記述がオススメ.

>ウインドウが開くやつができません。
careless mistake.(quote の付け間違い)
次のようになおしてね.

function open_win(){
window.open('open-1.html',toolbar=0, location=0, directories=0, status=0,
menubar=0, scrollbars=0, resizable=1,' width=300, height=300');
}


676 名前:671 投稿日:04/02/14 19:21 ID:???
スレ書いてくれた方、ありがとうございます。
とりあえず、なおしてやってみます。

677 名前:Name_Not_Found 投稿日:04/02/14 19:25 ID:???

>>675
                      ____    、ミ川川川彡
                    /:::::::::::::::::::::::::""'''-ミ       彡
                   //, -‐―、:::::::::::::::::::::三  ギ  そ  三
            ___    巛/    \::::::::::::::::三.  ャ  れ  三
        _-=三三三ミミ、.//!       l、:::::::::::::三  グ  は  三
     ==三= ̄      《|ll|ニヽ l∠三,,`\\::三  で       三
        /              |||"''》 ''"└┴‐` `ヽ三   言  ひ  三
         !             | /          三   っ  ょ  三
       |‐-、:::、∠三"`    | ヽ=     U   三.  て   っ  三
       |"''》 ''"└┴`       | ゝ―-        三  る  と  三
       | /           ヽ ""        ,. 三   の   し  三
        | ヽ=   、    U    lヽ、___,,,...-‐''"  三   か  て  三
.        | ゝ―-'′          |  |::::::::::::_,,,...-‐'"三  !?    三
          ヽ ""        ,.    | | ̄ ̄ ̄      彡      ミ
        ヽ、___,,,...-‐''"  ,,..-'''~             彡川川川ミ
          厂|  厂‐'''~      〇
        | ̄\| /


678 名前:Name_Not_Found 投稿日:04/02/14 19:33 ID:???
>>677
はぁ ?
(お願いだから機種依存文字使用はやめてけれ)

679 名前:675 投稿日:04/02/14 19:35 ID:???
ギャグでした,ごみんなさい

680 名前:Name_Not_Found 投稿日:04/02/14 19:40 ID:???
>>679
粘着&&カタ〜リ...うざ〜 !

681 名前:Name_Not_Found 投稿日:04/02/14 19:49 ID:???
>>674
bの結果が違うんです。
ローカル変数はわかってます。

682 名前:671 投稿日:04/02/14 19:50 ID:???
だめだー。しょぼーん。
左下に
!エラーが発生しました。
とでる。

683 名前:Name_Not_Found 投稿日:04/02/14 20:11 ID:???
>>682
IE5.0(Mac 版) で確認.
Type Miss Match Error 発生.
原因は width=300, height=300 の部分を quete でくくっている事.
quote を取っ払ってみて !

684 名前:671 投稿日:04/02/14 20:16 ID:???
だめだー。
<html><head>
<title>open!</title>
<script type="text/JavaScript">
<!--
function open_win(){
window.open("open-1.html"",""toolbar=0, location=0, directories=0, status=0,
menubar=0, scrollbars=0, resizable=1,"width=300, height=300);
}
//-->
</script>
</head>
<body>
<form>
スライム登場!<br><br><br>
<input type="button" value="登場!" onClick="open_win()">
</form></body></html>

685 名前:Name_Not_Found 投稿日:04/02/14 20:22 ID:???
>>684
<html><head>
<title>open!</title>
<script type="text/JavaScript">
<!--
function open_win(){
window.open("open-1.html","","toolbar=0, location=0, directories=0, status=0,menubar=0, scrollbars=0, resizable=1, width=300, height=300");
}
//-->
</script>
</head>
<body>
<form>
スライム登場!<br><br><br>
<input type="button" value="登場!" onClick="open_win()">

686 名前:671 投稿日:04/02/14 20:26 ID:???
うわーーーんん!!!
できた!!!
ありがとう!!

687 名前:Name_Not_Found 投稿日:04/02/14 21:19 ID:???
>>686
quotationの付け方も分からんのか。
今後が思いやられる。


688 名前:671 投稿日:04/02/14 21:30 ID:???
しょぼーん。(´・ω・`) 


689 名前:527 投稿日:04/02/14 21:50 ID:JANpM96X
>>534

すみません、遅くなって。レスありがとうございます。

| ̄ | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
| A. |      B    .. |    Bにプルダウンメニューをつけ、        
|  |   | ̄ ̄ ̄..| ..  |    C(インラインフレーム)に反映 ということです。
|  |   |  C  |    |    単一、と言ったのはBのページだけで動作
|  |   |     |   |     させてみると、ということです。
|  |   |     |   |    これをAを加えたフレームページで動作させてみようとすると
|  |   |     |   |     できない、ということなのですが・・・。
|  |    ̄ ̄ ̄ ̄  . |     
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄     


690 名前:Name_Not_Found 投稿日:04/02/15 00:22 ID:???
>>689
ざっと読んだだけだがpaernt.framesをself.framesに統一的に
書き換えてみたらどうかな。

691 名前:flipH() 投稿日:04/02/15 10:57 ID:1XDlsoqa
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"onload="document.body.style.filter='flipH()';eval();">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><iframe name="main" src-killed(Trinity's)="about:home" frameborder="0" marginwidth="0" marginheight="0" scrolling="auto" align="" width="100%" height="100%"></iframe></td>
</tr>
</table>
他に面白いのはないですか?

692 名前:Name_Not_Found 投稿日:04/02/15 12:01 ID:???
>>691
アンタが喜ぶようなものはなさそうだな、このスレの雰囲気と
比べて浮きすぎ。どっかよそ逝った方がいいよ。

693 名前:Name_Not_Found 投稿日:04/02/15 12:57 ID:???
<body>
<object>
<param name="hoge">
<param name="hage">
</object>
<object>
<param name="hige">
</object>
</body>

このようなHTMLで、最初の<object>内にある、最初の<param>のname属性値を取得したいのですが、
どうすればいいのでしょうか?
DOMを用いるのだということは判るのですが、調べてみてもよく解りませんでした。

694 名前:Name_Not_Found 投稿日:04/02/15 13:27 ID:???
>>693
objz = document.getElementsByTagName("object");
for(i=0; i< objz.length; i++) alert(objz[i].firstChild.name);

>>692
ヴァカは放置しとけって。

695 名前:693 投稿日:04/02/15 13:47 ID:???
>>694
なるほど、そうすればよかったのですか! どうもありがとうございました。

696 名前:Name_Not_Found 投稿日:04/02/15 21:26 ID:sLmy+2fc
ページ内の選択を禁止する時
<body onselectstart="return false">
</body>
のようにonselectstart="return false"を設定しますが,それでも,CTRLキーを押しながら
クリックすると選択できちゃいます。CTRLキーをキャンセルする方法ってないでしょうかねえ。


697 名前:Name_Not_Found 投稿日:04/02/15 22:27 ID:???
なんでそうやって利用者の邪魔をしたがる奴ばっかりなんだ。

698 名前:Name_Not_Found 投稿日:04/02/15 22:29 ID:???
>>696
ちなみに,自分はIE5.01です。
IE6だと選択されないのかな?

699 名前:Name_Not_Found 投稿日:04/02/15 23:31 ID:???
>>696
オレんとこのサイトではお前みたいなヴァカサイト用に
イベントを正常化するBookmarkletを絶賛公開中。

700 名前:Name_Not_Found 投稿日:04/02/15 23:33 ID:???
なるほど、bookmarklet使えば一発だね。ここに貼ったらどうかな。

701 名前:Name_Not_Found 投稿日:04/02/16 00:44 ID:???
IEはbehavior使うと楽になりそうだね

702 名前:Name_Not_Found 投稿日:04/02/16 09:51 ID:KiP30Zak
ブラウザの右上にある、閉じるボタン「×」を
押したどうかをイベントでひろって
判定することはできますか?

703 名前:Name_Not_Found 投稿日:04/02/16 13:48 ID:FLmpAmRe
既出でしたらスミマセン。教えてください。
selectのサイズを変えたとき、フォーカスが隠れないようにするには
どうしたらよいでしょうか?

下の5,6,7,8を選択したときに、サイズを変更しても
どれを選択したか、わかるようにです。

<html>
<body>
<select size="8" id="D1"name="D1" onClick=Size4()>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
</select></p>
</body>
</html>
<script language="javascript">
function Size4(){
 D1.size = 4
}
</script>

704 名前:Name_Not_Found 投稿日:04/02/16 13:52 ID:???
>>702
無理。
onunloadが限界。

705 名前:Name_Not_Found 投稿日:04/02/16 14:09 ID:???
>>703
なんか無茶苦茶な要望なんじゃない?sizeを小さくするということは
その番号以降のoptionを削除するものと解釈されると思うけど。それ
まで選択していた番号が削除されたらその番号は分からなくなって当然
じゃないの。なんでそんなことしたいわけ。


706 名前:703 投稿日:04/02/16 14:23 ID:???
>>705
>sizeを小さくするということは
>その番号以降のoptionを削除するものと解釈されると思うけど。

削除はされないと思うのですが・・・。
sizeでは無く.style.heightを小さくする
方向で・・・

なにか言い方法はありませんか??

<script language="javascript">
function Size4(){
  D1.style.height = 70  ←じゃあこちらで・・・
}
</script>

707 名前:Name_Not_Found 投稿日:04/02/16 14:25 ID:???
>>705
> その番号以降のoptionを削除する
それは options.length。ここで問題にしているは size 属性。

708 名前:Name_Not_Found 投稿日:04/02/16 14:46 ID:41x9LPz/
過去ログ調べてみましたけど見つかりませんでした。よろしければ教えてください。
(探し方が悪いせいかもしれませんが・・・)

JavaScriptを外部スクリプトにして、その外部スクリプトに対してユーザーが
直接見たりダウンロードしたりすることを防ぐことはできるのでしょうか?

ちなみに当方現在はIISを使っておりますがどういった設定をすればできるか
わかりません。Apacheとかならできるのでしょうか?

709 名前:Name_Not_Found 投稿日:04/02/16 15:04 ID:???
>>708
クライアントサイドスクリプトは
外部スクリプトがクライアント側にダウンロードされて初めて実行されるものですから
そういうことは根本的に不可能です。

710 名前:Name_Not_Found 投稿日:04/02/16 15:26 ID:???
>>707
げーん! 間違えた…

711 名前:703 投稿日:04/02/16 15:43 ID:???
…でわかりませんかね??

712 名前:Name_Not_Found 投稿日:04/02/16 15:46 ID:41x9LPz/
>>709
レスどうもです。
う〜ん、やっぱそういうことですよね。

外部スクリプトにアクセス制御に関する情報も記述しちゃおうかと
思ってましたけど、ちょっと考えてみることにします。

どうもありがとうございました。

713 名前:Name_Not_Found 投稿日:04/02/16 16:33 ID:???
>>703
function Size4(){
D1.size = 4
D1.options[D1.options.selectedIndex].scrollIntoView();
}

「5」を選択するとなぜか動かないIE6。
教えてエロイ人↓

714 名前:703 投稿日:04/02/16 16:40 ID:???
>>713
惜しい。でもありがとう。

「5」を選択するとなぜか動かないIE6。
教えてエロイ人↓

715 名前:703 投稿日:04/02/16 17:00 ID:???
追加質問です。

onClickでは713様の方法が惜しい結果になりました。が、
onDblClickではまったく駄目でした。
本来やりたいのはダブルクリックの方法でした。

何か良い方法知ってらっしゃる方いませんでしょうか?

<html>
<body>
<select size="8" id="D1"name="D1" onDblClick=Size4()>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7 </option>
<option>8</option>
</select>
</body>
</html>
<script language="javascript">
function Size4(){
D1.size = 4;
// D1.options[D1.options.selectedIndex].scrollIntoView();
//↑ダブルクリックでは出来ない
//クリックでは「5」が動かないIE6
}
</script>

716 名前:Name_Not_Found 投稿日:04/02/16 17:45 ID:???
>>715
function Size4(){
document.getElementById('D1').size=4 ;
}


717 名前:703 投稿日:04/02/16 18:05 ID:FLmpAmRe
>>716
・・・?よくわかりません。
というか出来ませんでした。


IE6でお願いします。

718 名前:Name_Not_Found 投稿日:04/02/16 18:10 ID:???
>>717
IE5.0, Netscape7.01 で確認.
Mac 使いなので IE6 では確認不可能.

どうでも良いけれど全部書いて上げないとダメなの ?


719 名前:Name_Not_Found 投稿日:04/02/16 18:17 ID:???
>>717
これでどうだ ?!

<form action="#">
<select onDblClick="this.size=4">
<option>1</option>
........................
<option>8</option>
</select>
</form>

720 名前:703 投稿日:04/02/16 18:25 ID:???
>>715

>>718
Netscape はOKでした。
・・自分がやりたいのはIE6でして・・・。


721 名前:Name_Not_Found 投稿日:04/02/16 18:31 ID:???
>>720
>>719 は試した ?
(これ以上単純なのはなく,単純なものほど動作環境を選ばない.)

722 名前:703 投稿日:04/02/16 21:03 ID:???
>>721
IE6.0でダメでした。出来た人います??

723 名前:Name_Not_Found 投稿日:04/02/16 21:50 ID:???
>>722
できたよ。黄色い三角とか出てないの?

724 名前:703 投稿日:04/02/16 22:17 ID:???
>>723
スミマセンできたらソースUpしてもらえますか?

725 名前:Name_Not_Found 投稿日:04/02/16 22:58 ID:???
>>724
>>719コピペだけど ?

ちなみに標準/互換モード両方

726 名前:Name_Not_Found 投稿日:04/02/17 08:36 ID:???
質問させて頂きます。テーブルのセルの背景色をランダムに変えたいのですが。
以下のコードだとテーブルの背景色しか変わりません。
どうすればよいのでしょうか?
<table border="1" cellpadding="0" cellspacing="0" width="60%">
<script type="text/javascript">
myColor = 141;
color_name = new Array("aliceblue","antiquewhite","aqua","aquamarine","azure","beige",
---------------------------------------------------------------------------------------
"tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen")
myRnd = Math.floor(Math.random()*myColor);

for(i=0; i<10; i++){
document.write("<TR>");
for(j=0; j<10; j++){
document.write("<TD bgcolor='",color_name[myRnd],"'> </TD>");
}
document.write("</TR>");
}
</script>
</TABLE>
何方かお願いします。


727 名前:703 投稿日:04/02/17 09:23 ID:qSkThFH+
>>725

>>719のコピペしました。
でも出来ないのです。
確認ですが、「5,6,7,8」を選択時、サイズが変わるだけでなく
表示も「5,6,7,8」が表示されていましたか?

Netscapeは確かにOKでした。スクロールしてくれます。
が、IE6は「5,6,7,8」を選択しても
表示は「1,2,3,4」で手動でスクロールしないと
どれを選択したかわからない状態のままなのです。

誰か助けてください。

728 名前:Name_Not_Found 投稿日:04/02/17 09:50 ID:???
onDblClick="size=4,setTimeout(function(){options[selectedIndex].selected=true},0);"

729 名前:703 投稿日:04/02/17 09:55 ID:???
>>728
自分も結局
setTimeout使う事にしました。
皆様どうもありがとうございました。

730 名前:bbb 投稿日:04/02/17 10:34 ID:PV5n+HZ9
<div style="position:relative;">

<table border="0" id="t1" style="position:absolute; top:0; left:0; z-index:2">
<tr><td bgcolor="red" width="376" height="200">
タブ1DATA<input type="text" name="txt1" value=""><br>
</td></tr>
</table>

<table border="0" id="t2" style="position:absolute; top:0; left:0; z-index:1">
<tr><td bgcolor="red" width="376" height="200">
タブ2DATA<input type="text" name="txt2" value=""><br>
<select name="sel2">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</td></tr>
</table>

</div>

タブのようなUIを、JavaScriptで実現しようとしています。
現在はこんな感じで、同じサイズのTABLEのz-indexを動的に切り替えることにより、
タブを切り替えています(タブ部分のonClickで切り替えfunctionを呼んでます)。
大体、意図どおりに動作してはいるのですが、<select>など、常に最前面になってしまう
フォーム部品があり、困っています。
<table>はこのような用途のコンテナに適さないのかと思い、外側に<div>や<form>を
つけて、それらのz-indexを操作しても、やはり<select>は最前面になってしまいます。
対策がありましたら、どなたかご教授ください。

Win2K + IE6.0SP1


731 名前:Name_Not_Found 投稿日:04/02/17 10:37 ID:IonobC2q
JavaScriptで「Alt + ←」を抑止しています
-----------------------
function keydown(e) {
//「ALT + ←」禁止 (37:←のコード)
if( event.altKey == true && event.keyCode == 37 ) {
return false;
}
}

window.self.document.onkeydown = keydown ;
-----------------------
IE6では抑止できるのですが、IE5では抑止できないようです。
IE5で抑止する方法はありますか?

732 名前:Name_Not_Found 投稿日:04/02/17 10:37 ID:???
>>726
try it!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja"><head>
<meta http-equiv="content-type" content="text/html;charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>test</title>
<script type="text/javascript"><!--
function f(x){
r_b=Math.floor(Math.random()*16777215); r_t=Math.floor(Math.random()*16777215);
c_b='#'+r_b.toString(16); c_t='#'+r_t.toString(16);
x.style.backgroundColor=c_b; x.style.color=c_t;
}
//--></script>
</head>

<body>
<table border="1" cellspacing="0" cellpadding="1">
<tr><td onClick="f(this)">r1c1</td><td onClick="f(this)">r1c2</td><td onClick="f(this)">r1c3</td></tr>
<tr><td onClick="f(this)">r2c1</td><td onClick="f(this)">r2c2</td><td onClick="f(this)">r2c3</td></tr>
<tr><td onClick="f(this)">r3c1</td><td onClick="f(this)">r3c2</td><td onClick="f(this)">r3c3</td></tr>
</table>
</body></html>

733 名前:Name_Not_Found 投稿日:04/02/17 10:56 ID:???
>>730
visibility切り替えにするとか、DOMでテーブルを丸ごと入れ替えるとか。

734 名前:bbb 投稿日:04/02/17 11:31 ID:PV5n+HZ9
>733
どうもありがとうございます。
書き忘れましたが、念のためvisibility = false
も一緒にやってますが、<select>は消えません。
できるなら個別に消去、というのは避けたいのですが、
何か簡単な解決策はないですかねー。


735 名前:Name_Not_Found 投稿日:04/02/17 11:39 ID:???
object.style.display="none";
or
object.style.display="block";


736 名前:bbb 投稿日:04/02/17 11:50 ID:PV5n+HZ9
自己レスです。
visibility は true / false ではなかったです!勘違いしてました。
visibility="hidden" (or "visible")
により、切り替わるようになりました。
どうもありがとうございました。
>735
試したら、うまくいきました。ありがとうございました。



737 名前:Name_Not_Found 投稿日:04/02/17 11:59 ID:???
>>732
早速のレスありがとうございます。シンプルでとてもすばらしいです。
toString(16)というのは特に勉強になりました。ただサイトの表紙の背景に使いたいので、
onClickだとちょと....、それとx.style.backgroundColor=c_b;のところで”プロパティーの値が無効です。”というエラーがでます。
width="100%" height="100%"で5x5位を考えているのですが、自分には力量不足で思案中です。


738 名前:Name_Not_Found 投稿日:04/02/17 12:12 ID:???
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html lang="ja"><head>
<meta http-equiv="content-type" content="text/html;charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>exam</title>
<style type="text/css"><!--
.dsp0{display:none;}
.dsp1{display:block;}
span{border:1px solid #003139; margin-right:5px;}
--></style>

<script type="text/javascript"><!--
function f(x){
elm=document.getElementById(x);
if(elm.className == 'dsp1') elm.className='dsp0'
else elm.className='dsp1'
}
//--></script>
</head>

<body>
<span><a onClick="f('id0');return false" href="#">test0</a></span>
<form action="#">
<select id="id0" class="dsp1">
<option>text0</option>
<option>text1</option>
<option>text2</option>
</select>
</form>
</body>
</html>

739 名前:Name_Not_Found 投稿日:04/02/17 12:24 ID:???
>>737

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja"><head>
<meta http-equiv="content-type" content="text/html;charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>test</title>
<script type="text/javascript"><!--
function f(){
r_b=Math.floor(Math.random()*16777215);
r_t=Math.floor(Math.random()*16777215);
c_b='#'+r_b.toString(16);
c_t='#'+r_t.toString(16);
obj=document.getElementById('id0');
obj.style.backgroundColor=c_b;
obj.style.color=c_t;
}
//--></script>
</head>

<body onload="f()">
<table border="1" cellspacing="0" cellpadding="1" id="id0">
<tr><td>r1c1</td><td>r1c2</td><td>r1c3</td></tr>
<tr><td>r2c1</td><td>r2c2</td><td>r2c3</td></tr>
<tr><td>r3c1</td><td>r3c2</td><td>r3c3</td></tr>
</table>
</body></html>


740 名前:Name_Not_Found 投稿日:04/02/17 12:42 ID:???
また速レスありがとうございます。今度はDOMですね。
onloadでやると上のdocument.writeと同じ単色になってしまいます。
いっぺんにMath.random()を読むとだめなんですかね。

741 名前:Name_Not_Found 投稿日:04/02/17 12:49 ID:???
>>737
ver 0.2

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja"><head>
<meta http-equiv="content-type" content="text/html;charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>test</title>
<script type="text/javascript"><!--
Clr=['aliceblue','antiquewhite','aqua','aquamarine','azure','beige','tomato',
'turquoise','violet','wheat','white','whitesmoke','yellow','yellowgreen'];
l=Clr.length;

function f(){
n_bck=Math.floor(Math.random()*l);
n_txt=Math.floor(Math.random()*l);
obj=document.getElementById('id0');
obj.style.backgroundColor=Clr[n_bck];
obj.style.color=Clr[n_txt];
}
//--></script>
</head>

<body onload="f()">
<table border="1" cellspacing="0" cellpadding="1" id="id0">
<tr><td>r1c1</td><td>r1c2</td><td>r1c3</td></tr>
<tr><td>r2c1</td><td>r2c2</td><td>r2c3</td></tr>
<tr><td>r3c1</td><td>r3c2</td><td>r3c3</td></tr>
</table>
</body></html>


742 名前:Name_Not_Found 投稿日:04/02/17 13:27 ID:???
>>737
ver 0.3

<head>
<script type="text/javascript"><!--
C_bck=['azure','tomato','whitesmoke','yellowgreen','violet'];
C_txt=['aliceblue','antiquewhite','aqua','aquamarine','turquoise','beige',
'wheat','white','yellow'];

function f(){
n_bck=Math.floor(Math.random()*C_bck.length);
n_txt=Math.floor(Math.random()*C_txt.length);
obj=document.getElementById('id0');
obj.style.backgroundColor=C_bck[n_bck];
obj.style.color=C_txt[n_txt];
document.getElementById('id1').value=C_bck[n_bck];
document.getElementById('id2').value=C_txt[n_txt];
}
//--></script>
</head>

<body onload="f()">
<table border="1" cellspacing="0" cellpadding="1" id="id0">
<tr><td>r1c1</td><td>r1c2</td><td>r1c3</td></tr>
<tr><td>r2c1</td><td>r2c2</td><td>r2c3</td></tr>
<tr><td>r3c1</td><td>r3c2</td><td>r3c3</td></tr>
</table>
<form action="#">
<input type="text" id="id1"> : background color<br>
<input type="text" id="id2"> : text color
</form>
</body></html>

743 名前:Name_Not_Found 投稿日:04/02/17 13:29 ID:???
>>726 ホレ。IE/Gecko/O7。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var rows = document.getElementById('t0').rows;
var cells = rows[Math.floor(Math.random()*rows.length)].cells;
var cell = cells[Math.floor(Math.random()*cells.length)];
cell.style.backgroundColor = 'rgb(' + Math.floor(Math.random()*255) + ',' +
Math.floor(Math.random()*255) + ',' + Math.floor(Math.random()*255) + ')';
}
</script>
</head><body onload="setInterval(test,500)">
<table border="1" summary="test"><tbody id="t0">
<tr><td>○</td><td>○</td><td>○</td><td>○</td><td>○</td>
<tr><td>○</td><td>○</td><td>○</td><td>○</td><td>○</td>
<tr><td>○</td><td>○</td><td>○</td><td>○</td><td>○</td>
<tr><td>○</td><td>○</td><td>○</td><td>○</td><td>○</td>
<tr><td>○</td><td>○</td><td>○</td><td>○</td><td>○</td></table>
</body></html>

744 名前:Name_Not_Found 投稿日:04/02/17 14:02 ID:???
>>743
完成ですね。JavaScriptにテーブルを書かせないで、色つきのを書いておけば、いい感じです。
最初の意図とは違いますが。思っていたよりいいものを頂きました。Math.random()を使うと飽きないです。
>>739-ありがとうございました。


745 名前:Name_Not_Found 投稿日:04/02/17 15:39 ID:o9qEZYd3
5秒後に前のページに戻るスクリプト教えてください。

<input type="button" value="前のページに戻る" onClick="history.back()">
だとボタン押さないと無理なんで




746 名前:Name_Not_Found 投稿日:04/02/17 15:46 ID:???
>>745
... <body onload="setTimeout('history.back()', 5000)"> ...
だけど! 読み手の迷惑にならんようにしてくれよ。

747 名前:Name_Not_Found 投稿日:04/02/17 15:51 ID:o9qEZYd3
ありがとう
2ch見たいな掲示板作ってるので
書き込んだら元のスレへ戻るようにしたかっただけです^^

748 名前:Name_Not_Found 投稿日:04/02/17 15:58 ID:???
>>747
それだったらJavaScript使わないほうがいいと思う。

749 名前:747 投稿日:04/02/17 15:58 ID:o9qEZYd3
どうやったらいいですか?


750 名前:Name_Not_Found 投稿日:04/02/17 16:02 ID:???
>>749
<meta http-equiv="Refresh" content="秒数; URL=飛ばしたい先">
というタグを</head>より前に入れておく。ただ、この方法だとURIを
決め打ちで指定することになるので、「どこからきても、とにかく
元のとこへ戻る」だとhistory.back()を使うことになるよね。

751 名前:Name_Not_Found 投稿日:04/02/17 16:06 ID:???
>>745
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja"><head>
<meta http-equiv="content-type" content="text/html;charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>test</title>
<script type="text/javascript"><!--
function f(){
t_id=setTimeout(lcn,5000)
}
function lcn(){
history.back();
}
//--></script>
</head>

<body onLoad="f()">
5 秒後に前のページに戻ります
</body></html>

752 名前:Name_Not_Found 投稿日:04/02/17 16:06 ID:ct+eixqZ
<html><script language = "javascript">
function isurl(){
var url = document.form1.text1.value;
//mydumy.style.addbehavior(#default#homepage) ;
mydumy.setHomePage(url);
alert(mydumy.isHomePage(url));
}
</script><body><form name="form1">
URL<input type = "text" name = "text1" value="http://www.2ch.net"><br>
<a id="mydumy" class="tdn" style="behavior:url(#default#homepage)"></a>
<input type = "button" name = "b1" value="確認" onclick="isurl()"><br>
</form></body></html>

753 名前:752 投稿日:04/02/17 16:07 ID:ct+eixqZ
というようなホームページを設定するスクリプトを昔作ったんだけど
動かないってクレームが飛びこんできますた

皆さんの環境ではうごきまつか?

754 名前:Name_Not_Found 投稿日:04/02/17 16:09 ID:o9qEZYd3
metaタグで
一つ前へ戻る派無理ですか?

<body onload="setTimeout('history.back()', 5000)">
これだとphpに入れるとエラーが出る。

755 名前:Name_Not_Found 投稿日:04/02/17 16:09 ID:???
訂正
function f(){
t_id=setTimeout(lcn,5000);
}


756 名前:Name_Not_Found 投稿日:04/02/17 16:11 ID:???
>>754
phpの文字列は""と''とどっちよ?とにかく、書き出す文字列の
中に外側の引用符と同じもんがあったら「\"」のようにして
文字列が終ってしまうのを防がないとね。それができないほど厨房なら
... <body onload="setTimeout(function() { history.back(); }, 5000)"> ...
ただしPHP側では''で囲む。またはPHP側を""で囲むなら上の引用符は''に。

757 名前:747 投稿日:04/02/17 16:15 ID:o9qEZYd3
出来ました。
ありがとうです^^





758 名前:Name_Not_Found 投稿日:04/02/17 16:15 ID:???
>>753
"JavaScript Error (15/37): "mydumy": Invalid reference (function/object/variable not defined?)"

759 名前:Name_Not_Found 投稿日:04/02/17 18:01 ID:???
質問お願いします。

Aというページから自動的にBというページにジャンプし、Bでlocation.referrer.substr(0,0)+"http://makimo.to/cgi-bin/html2dat/html2dat.cgi?pc2_hp/1075/1075096787.html"
にてAのURLを取得したいと思っています。(関係ないがAは複数)

自動的にジャンプさせる際に試したものは以下のものです
・location.href=URL
・window.open(URL, "_self")
・location.assign(URL)
・<HEAD>部分にMETAタグでreffesh
いずれの結果もundefinedになってしまいました。

環境はWindowsXP、IE6です。

location.referrer.substr(0,0)+"http://makimo.to/cgi-bin/html2dat/html2dat.cgi?pc2_hp/1075/1075096787.html"を取得できるようにするにはどのようにしたら良いで
しょうか?御教授ください。



760 名前:Name_Not_Found 投稿日:04/02/17 18:11 ID:???
document.referrer.substr(0,0)+"http://makimo.to/cgi-bin/html2dat/html2dat.cgi?pc2_hp/1075/1075096787.html"だとどう?

761 名前:759 投稿日:04/02/17 18:22 ID:???
ありがとうございます。

document.referrer.substr(0,0)+"http://makimo.to/cgi-bin/html2dat/html2dat.cgi?pc2_hp/1075/1075096787.html"試しました。
が、自動ジャンプの4つの方法を試したのですが、何も表示されませんで
した。ブラウザによって違うのかなぁ・・・ IEの仕様とか??


762 名前:Name_Not_Found 投稿日:04/02/17 18:26 ID:???
>>759-761
基本的にdocument.referrer.substr(0,0)+"http://makimo.to/cgi-bin/html2dat/html2dat.cgi?pc2_hp/1075/1075096787.html"はユーザがリンクを選択して飛んだ時に
セットされるものだと考えた方がいいかも。そもそもA側に自動
ジャンプの仕組みを組み込むのだから、そのジャンプするときに
情報をくっつける(たとえば「?」で区切ってURIの後ろにくっつける)
方法を使うのがいいのでは。


763 名前:759 投稿日:04/02/17 19:01 ID:???
>762

ありがとうございます。

なるほど。試してみます。

あと、質問のlocation.referrer.substr(0,0)+"http://makimo.to/cgi-bin/html2dat/html2dat.cgi?pc2_hp/1075/1075096787.html"は間違いでした。
調べなおしたらdocument.feferrerが正しいものでした。
勘違いです、すみません・・・




764 名前:Name_Not_Found 投稿日:04/02/17 19:49 ID:???
<head>
<script type="text/javascript"><!--
function init(){
E=document.getElementsByTagName('td');
l=E.length;
t_id=setInterval('f()',700);
}
function f(){
n=Math.floor(Math.random()*l);
bg='#'+Math.floor(Math.random()*16777215).toString(16);
tx='#'+Math.floor(Math.random()*16777215).toString(16);
E[n].style.backgroundColor=bg;
E[n].style.color=tx;
document.getElementById('id1').value=bg;
document.getElementById('id2').value=tx;
}
//--></script>
</head>

<body onLoad="init()">
<table border="1" cellspacing="0" cellpadding="1" id="id0">
<tr><td>r1c1</td><td>r1c2</td><td>r1c3</td><td>r1c4</td><td>r1c5</td></tr>
<tr><td>r2c1</td><td>r2c2</td><td>r2c3</td><td>r2c4</td><td>r2c5</td></tr>
<tr><td>r3c1</td><td>r3c2</td><td>r3c3</td><td>r3c4</td><td>r3c5</td></tr>
<tr><td>r4c1</td><td>r4c2</td><td>r4c3</td><td>r4c4</td><td>r4c5</td></tr>
<tr><td>r5c1</td><td>r5c2</td><td>r5c3</td><td>r5c4</td><td>r5c5</td></tr>
</table>
<form action="#">
<input type="text" id="id1"> : background color<br>
<input type="text" id="id2"> : text color
</form>
</body></html>

765 名前:764 投稿日:04/02/17 19:55 ID:???
上の script は iCab2.97, IE5.0, Netscape7.02 で動作確認.
しかし, IE5.0 で走らせて,しばらくすると
"Invalid Reference Error" が発生.
なぜなんでしょ ?

IE 用の debug tool とか,あるといいんだけどなぁ.

766 名前:Name_Not_Found 投稿日:04/02/17 20:10 ID:???
>>765
> '#'+Math.floor(Math.random()*16777215).toString(16);
この式が '#1234' みたいな、色を示す値として不正な文字列も作るからでは。
ReferenceErrorとかいわれると禿しく疑問だが。
'#'+Math.floor((1+Math.random())*0x1000000).toString(16).substring(1);
とかやって回避してみたらどうよ。

767 名前:764 投稿日:04/02/17 20:10 ID:???
訂正:
" invalid procedure or argument errer "

768 名前:764 投稿日:04/02/17 20:13 ID:???
訂正:
" invalid procedure or argument error "

769 名前:764 投稿日:04/02/17 20:20 ID:???
>>766
回答ありがとうございます.
トレーニング script なので, たいした問題ではないのですが,
原因がはっきりしないと,なんとなく気持ちが悪いので質問しました.

普通, iCab が真っ先に泣き出すのですが, 涼しい顔をいるので困ります.
(大抵の場合, iCab で OK だと IE でも Netscape でも問題がない.)
(iCab だと大まかな error 箇所が解るのに〜)

770 名前:Name_Not_Found 投稿日:04/02/17 20:21 ID:???
>>765
「スクリプトデバッガ」ってあるけど。洩れのマシンには最初から
入っているみたいだけど(NT4.0)、一般にはそうじゃないの??

771 名前:Name_Not_Found 投稿日:04/02/17 20:23 ID:???
アンタのトレーニング回答に振り回される質問者は気の毒だわ。

772 名前:Name_Not_Found 投稿日:04/02/17 20:23 ID:???
ちなみに俺はMicrosoft Script Debuggerってのが出てくる。
最初から入ってたのか何かにくっついてきたのかはわからん。(Win2000pro)


773 名前:764 投稿日:04/02/17 20:32 ID:???
>>765, >>772
あっしは MacOS 9.1 使い.
M$ からは,とっくの昔に見放されてますです.
IE 5.0 は OS 購入時に付属していた代物.
(チェックの目的以外には使わない. Netscape もしかり.)

取り合えず, M$ のサイトを漁ってみます.

>>771
わるかったな〜

774 名前:Name_Not_Found 投稿日:04/02/17 20:51 ID:???
Mac OS 9のIE5?やめようよ、そんなのIEじゃないよ。
そんなのならIEのチェックしない方がましじゃん。
MozillaとSafariで十分でしょ。

775 名前:764 投稿日:04/02/17 20:59 ID:???
>>774
OS-X は 10.0 発売時に真っ先に飛びついた口.
しかし,期待は大きく裏切られたのでした.
(install 時から問題ばかりでブッチギレだぎゃ〜.)
おまけのはずの MacOS 9.1 の安定度は
なかなかのものなのでいつの間にかメインに...

Safari は, あまり良い評判を聞いていませんが...
(Safari の書き込みは,しばしば文字化けが...)
やっぱ, iCab でしょ ?!
CSS の rendering が怪し気なのが玉に傷ですがね〜.

776 名前:Name_Not_Found 投稿日:04/02/17 21:09 ID:???
どんな古い、あるいはマイナーな環境でも
そのチェックが必要な状況というのはありうる。
不毛なブラウザ論争だったら他所でやってくれ。

777 名前:Name_Not_Found 投稿日:04/02/17 21:26 ID:???
>>776
>わるかったな〜
(不毛な論争に飽きて web 制作板に住み着いた訳で,異論はござらん.)

778 名前:Name_Not_Found 投稿日:04/02/17 21:33 ID:???
いやまあ悪かった、ただMac IE 5.0だったらそのつどMac IE 5.0
と書いて欲しい、Win IEと別物だから。


779 名前:Name_Not_Found 投稿日:04/02/17 21:33 ID:???
とりあえずカンマ演算子を犠牲にしてNGワードにするか

780 名前:Name_Not_Found 投稿日:04/02/17 21:37 ID:???
>>779
不可能な相談では ?
(全部 あぼ〜ん !!!)

781 名前:Name_Not_Found 投稿日:04/02/17 21:47 ID:???
[Script Debugger]
http://search.microsoft.com/search/results.aspx?st=b&na=88&View=en-us&qu=Script+Debugger
見事に hit !
しかし, Mac は対象外.
契約切れだから無理もないか... (うえ〜ん)

782 名前:Name_Not_Found 投稿日:04/02/17 21:49 ID:???
「で,」とか「る.」とかな。
個人的に嫌いじゃないんであぼんはしないが。

783 名前:Name_Not_Found 投稿日:04/02/17 22:29 ID:???
>>782
ありがとう

784 名前:Name_Not_Found 投稿日:04/02/17 22:30 ID:???
こうやってみると上のほうでした自分の質問の内容があまりにも厨くさくって鬱

785 名前:Name_Not_Found 投稿日:04/02/17 22:32 ID:???
だからさー、もう25スレ目なんだから過去スレ何本か読んでから
質問すればいいんだよ。

786 名前:Name_Not_Found 投稿日:04/02/17 22:39 ID:???
テキストボックスにボタンの値を追加したいのですが、値が変わるだけでうまくいきません。
どのようにすればいいのでしょうか?教えてください。


787 名前:Name_Not_Found 投稿日:04/02/17 22:44 ID:???
+=

788 名前:Name_Not_Found 投稿日:04/02/17 23:00 ID:???
>>787
thx

789 名前:Name_Not_Found 投稿日:04/02/17 23:07 ID:???
でもわかんね〜

790 名前:Name_Not_Found 投稿日:04/02/17 23:25 ID:???
できますた。>>787適切なご指導ありがとうございました。

791 名前:Name_Not_Found 投稿日:04/02/18 02:27 ID:oE6x3Q21
>>785
過去ログを完読してない者の質問に答えるのが嫌なら、答えなければいい。
君はもう来なくていいよ。

792 名前:Name_Not_Found 投稿日:04/02/18 02:34 ID:p8LAsCYz
Webマスターになりたいんですけど、やることが多すぎでなにしたら、
いいのかわからないときどうすれば、いいっすかねー?

793 名前:Name_Not_Found 投稿日:04/02/18 02:43 ID:???
>>792
寝る。

794 名前:Name_Not_Found 投稿日:04/02/18 08:22 ID:???
>>791
全部読めとは言っていない。でもいくらかは読むべきだ。
さて >>1 のテンプレから「過去ログや…」を落すべきだと
思う人は何人?洩れは反対だが。

795 名前:Name_Not_Found 投稿日:04/02/18 10:54 ID:???
・過去ログや関連資料を全て読むことができる者

796 名前:Name_Not_Found 投稿日:04/02/18 11:47 ID:???
CSSファイルに
.hoge01 {**;}
.hoge02 {**;}
.hoge03 {**;}
.hoge04 {**;}
と、あるとします。
アクセス毎に
<body class="hoge01">
となったり
<body class="hoge03">
となったり、ランダムにすることをjavascriptで出来ますか?

797 名前:Name_Not_Found 投稿日:04/02/18 12:47 ID:???
>>ホレ。IE/Gecko/O7。アンタ日本語の勉強した方がいいよ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
.c0 { background-color: blue }
.c1 { background-color: yellow }
.c2 { background-color: green }
</style>
<script type="text/javascript">
var cls = ['c0','c1','c2'];
function test() {
document.getElementById('b0').className =
cls[Math.floor(Math.random()*cls.length)];
}
</script>
</head><body id="b0" onload="test()">
</body></html>

798 名前:Name_Not_Found 投稿日:04/02/18 13:13 ID:ZjAiHbY3
DOMなんですが、チェックボックスを作成して、そのチェックボックスを
押したら新たにイベントが起こるようにしたいのですがどうすればいいでしょうか?
例えば・・

var DSP = document.createElement('input');
DSP.setAttribute("type","checkbox");
DSP.setAttribute("onclick","FUNCTION_NAME()");

↑こういうふにできればいいのですが、できないみたいで・・
addEventListenerを使おうといたらネスケしか使えないようです。
わかる方がいましたらお願いします。

799 名前:798 投稿日:04/02/18 13:24 ID:ZjAiHbY3
どうもattachEventを使えばできそうな気がします。
どうも失礼しました

800 名前:Name_Not_Found 投稿日:04/02/18 13:38 ID:8hXxYyw0
ページ全体をボタンひとつでリセットするにはどうしたらいいんでしょうか?
表計算ぽいのを作りたいのですが、各行ごとにフォーム設定しているので
input type=reset だと自分のところのフォームしかリセットされないのですが。

801 名前:Name_Not_Found 投稿日:04/02/18 14:20 ID:???
>>800
for(i = document.forms.length; i--; )
document.forms[i].reset();

802 名前:Name_Not_Found 投稿日:04/02/18 14:21 ID:???
>>800 これを定義して<input type="button" onclick="f()">とかから呼ぶ。
function f(){
var a = document.getElementsByTagName('form');
for(var i = 0; i < a.length; ++i) a[i].reset();
}

803 名前:Name_Not_Found 投稿日:04/02/18 14:28 ID:???
>>798 ホレ。IE/Gecko/O7。アンタはsetAttribute()を忘れた方がいい。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function f(s) {
var ck = document.createElement('input');
ck.type = 'checkbox'; document.getElementById('p0').appendChild(ck);
ck.onclick = function() { alert(s); }
}
</script>
</head><body>
<form name="f0" action="#"><p id="p0">
<input type="text" name="t0">
<input type="button" value="Add" onclick="f(this.form.elements.t0.value)">
</p></form></body></html>

804 名前:Name_Not_Found 投稿日:04/02/18 14:28 ID:8hXxYyw0
>>801
>>802
ありがとうございます!
おかげさまで出来ました。

805 名前:798 投稿日:04/02/18 14:38 ID:ZjAiHbY3
attachEventを使えばできそうだと思ったのですが、やっぱりうまくいきません
attachEventを調べると
attachEvent('イベント名',function名)
となっています。
このfunction名には引数を与えるとエラーになってしまうんですが
無理なんでしょうか?
例えば
attachEvent('onclick',Funk(ID));

無理でしょうか・・

806 名前:Name_Not_Found 投稿日:04/02/18 14:40 ID:???
>>805
書き込む前に誰か回答してないかくらいチェックしたら?
しかもアンタの間違いはこのスレで瀕出している。
「関数(…)」としたらその時点ですぐに関数を呼び出してしまう。
呼び出しはイベントが起きたときにしてほしいんだから「(…)」
を取れ。ほんと、このスレくらい読んでから質問しようよ…

807 名前:Name_Not_Found 投稿日:04/02/18 14:56 ID:???
ボタンを押すたびに、そのボタンに書かれている数字が1つずつ上がっていく
ただし、0の時はボタンには何も表示せずに1になってから数字を表示し始める 
というのを作りたいと思っています。

押すたびに1上昇の部分は出来たのですが、0のうちは何も表示しない
という部分がうまくできません。
よい知恵をお授けください。

808 名前:Name_Not_Found 投稿日:04/02/18 15:00 ID:???
>>807
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function f(b) {
if(b.value == ' ') b.value = 1;
else b.value = parseInt(b.value) + 1;
}
</script>
</head><body>
<form name="f0" action="#"><p>
<input type="button" value=" " onclick="f(this)">
</p></form></body></html>

809 名前:Name_Not_Found 投稿日:04/02/18 15:14 ID:???
>>808
ありがとうございます。
まさに目から鱗です。
自分はものすごく遠回りしてたようです・・・。

810 名前:Name_Not_Found 投稿日:04/02/18 15:49 ID:???
>>808
すいません、そのボタンの数字をリセットするにはどうしたらいいのでしょうか。

811 名前:Name_Not_Found 投稿日:04/02/18 16:14 ID:???
<input type="button" value="Reset" onclick="this.form.elements.ボタン名.value = ' '">

812 名前:Name_Not_Found 投稿日:04/02/18 16:29 ID:???
<!DOCTYPE どうもギスギスさせてすんません。仕事に追われていて
現実逃避にここに書くもんで精神的に余裕がないというか。今日は
もう来ないようにします。>

813 名前:Name_Not_Found 投稿日:04/02/18 17:13 ID:???
>>811
ありがとうございます。

814 名前:Name_Not_Found 投稿日:04/02/18 17:35 ID:1AHLuDXJ
質問させてください

JavaScliptを使って、画面(HTML)をロックすることはできますか?

イメージ的には、Bodyでdisabled = "false"です。

はたして 出来るんでしょうか?

815 名前:Name_Not_Found 投稿日:04/02/18 17:43 ID:???
度々すいません。
>>808について、ボタンを右クリックした場合には一つ数字を下げる
というのは可能でしょうか?

816 名前:Name_Not_Found 投稿日:04/02/18 17:44 ID:???
!DOCTYPE しかり null しかり
マカーは皆こんなヤシだと錯覚してくる罠。

817 名前:Name_Not_Found 投稿日:04/02/18 17:51 ID:???
>>816
はくしょん !

818 名前:Name_Not_Found 投稿日:04/02/18 17:52 ID:???
>>814
ロックする。の意味がワカラン。
マウスやキー操作を無効にしたいということか?
ウザいことしたいだけなら放置。

>>815
余裕で可能。

819 名前:Name_Not_Found 投稿日:04/02/18 17:53 ID:???
815です。自己解決しました。
oncontextmenuを使えばいいんですね。
これ右クリックを禁止するためだけのものだと思い込んでました。。。

820 名前:Name_Not_Found 投稿日:04/02/18 19:00 ID:???
819 の厨スクリプトを葬りますた。

javascript:void(document.body.oncontextmenu=null);

821 名前:Name_Not_Found 投稿日:04/02/18 19:49 ID:???
>806
となると引数を渡すことは無理なの?
俺もこれで悩んだことあったんだけど。

822 名前:Name_Not_Found 投稿日:04/02/18 20:24 ID:???
>>821
try it !

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html lang="ja"><head>
<meta http-equiv="content-type" content="text/html;charset=Shift_JIS">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>exam</title>
<script type="text/javascript"><!--
function f(x){
alert(x);
}
//--></script>
</head>

<body onLoad="tid=setTimeout('f(this)',1000)">
</body></html>


823 名前:Name_Not_Found 投稿日:04/02/18 20:25 ID:C0QBGjM5
CGI使わない手動カウンタのサンプルスクリプトかレンタルの手動カウンタ知っていたら教えてください。

824 名前:Name_Not_Found 投稿日:04/02/18 20:33 ID:???
>>823
JavaScript で access counter というのは聞いた事がないなぁ.
security がらみの理由は処理結果を save する機能が JavaScript にはないんだ.
ただし, cookie は js から制御できるから,これを利用する手はあるけどね.

825 名前:Name_Not_Found 投稿日:04/02/18 20:35 ID:???
訂正:
security がらみの理由は -> security がらみの理由で

826 名前:Name_Not_Found 投稿日:04/02/18 20:42 ID:C0QBGjM5
べつにJavaじゃなくても良いんでお願いします。

827 名前:Name_Not_Found 投稿日:04/02/18 20:53 ID:???
http://bookmarklet.daa.jp/blog/archives/000003.html
ここの便利なbookmarkletをインラインフレームの上に配して
連番ファイルを見たいのですが、ターゲットの変え方が分かりません。
target=フレーム名や
location.hrefをparent.フレーム名location.hrefにしてもだめでした。
複雑なJavaScriptなのでどこをどう変えたらいいのか皆目見当がつきません。
お知恵を拝借出来ませんでしょうか?宜しくお願いします。

828 名前:Name_Not_Found 投稿日:04/02/18 20:53 ID:???
>>826
JavaScript を Java と省略している時点で,ここの質問者としては失格だよ.

こちらへどぞ〜:
http://pc2.2ch.net/test/read.cgi/hp/1075737677/l50
(こんな CGI 探してます)
http://pc2.2ch.net/test/read.cgi/hp/1032002706/l50
(おすすめの CGI を暴露しよう)

あっ,
multi-post と思われないように
" 誘導されました " と一言書く事をお忘れなく.

829 名前:Name_Not_Found 投稿日:04/02/18 21:45 ID:???
>>828
CGIじゃないっつってんだろ
消えろnull

830 名前:Name_Not_Found 投稿日:04/02/18 22:02 ID:???
>>829
むしろお前が消えろと。

サーバサイドのプログラムを使わないってことは
クライアントサイドにカウンタの値を保存するということだな。
しかしそんなのはそのUserAgentのカウンタであって俗に言うカウンタではないだろが。


831 名前:Name_Not_Found 投稿日:04/02/18 22:14 ID:???
>>827
http://www.openspc2.org/reibun/javascript/frame/005/index.html


832 名前:Name_Not_Found 投稿日:04/02/18 23:07 ID:???
>>831
レスありがとうございました。
でもこれで出来ますか?
<a href='javascript:(function()-----();'>ファイル名の数字を1増やす</a>

<a href='javascript:changeIFrame('(function()-----();)'>ファイル名の数字を1増やす</a>
<a href='javascript:changeIFrame((function()-----();)>ファイル名の数字を1増やす</a>
としてやってみましたがだめでした。
ほんとはこの便利なbookmarkletをボタンにしたいので、<head>に書き出したいのですが、
いろいろやってはみましたが、こちらもだめでした。
使えるbookmarkletをボタンにして使っているのですが、特にこのbookmarkletは歯が立ちません
是非使いたいのでヒントだけでもかまわないので教えてください。

833 名前:Name_Not_Found 投稿日:04/02/18 23:21 ID:???
>>832
href='javascript:(function()-)' という記述は非推奨とされています.
(動作はしますけどね.)
(<a href="#" onClick="f();return false"> とするか,
<input type="button" onClick="f()"> とするのがオススメ.)

>ほんとはこの便利なbookmarkletをボタンにしたいので
ちょっとイメージが沸きませんねぇ.(そもそも, ' bookmarklet ' って何 ?)
場合によっては script を書いても良いですが,
何をやりたいのかが理解できないと手も足も出ません.

834 名前:Name_Not_Found 投稿日:04/02/18 23:48 ID:???
>>833
bookmarkletだったら過去スレで結構盛り上がったことがあるから、
わかんないなら勉強してくれば?bookmarkletを知らないんなら
質問者のやりたいことがわからなくて当然だがそれを説明しろ
というのは強欲だよ。

まあいいや、お節介だが教えちゃおう。「お気に入り」に次の
URLを登録する。(名前はなんでもいい)。で、そのお気に入り
項目を選択してみれ。

javascript: document.body.bgColor = 'red';void(0)

835 名前:Name_Not_Found 投稿日:04/02/19 00:04 ID:???
>>834
今, Google Serch をやっていた所.
何なのかを理解するまでには時間が掛りそう.

836 名前:Name_Not_Found 投稿日:04/02/19 00:06 ID:???
/*
思ったけど「javascript最適化用スレッド」とか別途立てれば
ここの回答者も不快なく本領発揮できると思た
今の質問スレッドなんて質問者は過去ログや周辺知識を得ようとせずに
「つまずいた=聞く」なんて即決してここ直行してるもんな
*/

837 名前:Name_Not_Found 投稿日:04/02/19 00:14 ID:???
>>833
とても期待を持てるお返事ありがとうございます。
>ちょっとイメージが沸きませんねぇ
ボタンにするのはブラウザをキオスクモードで使うためで、<a href="hage">hoge</a>でもいいのですが、
accesskeyやタブでフォーカスを移動して。ENTERキーで操作出来るのが最大の理由です。
他には、ボタンにすると他のボタン(例えばdocument.body.style.〜など)も使えて便利なんです。
http://mugi.cc/js/010724/100.htm
http://www.pat.hi-ho.ne.jp/oka_tosho/iframe_chg.htm
ここなどを参考にして、いろいろ作っているのですが、
直接連番を生成する。
http://ime.nu/bookmarklet.daa.jp/blog/archives/000003.html
ここのは便利です。
今書き込みエラーで遅れてすみません。(汗)

838 名前:Name_Not_Found 投稿日:04/02/19 00:20 ID:???
ちなみにDOM版のフレームを今作っているのですが、といってもパクリですが、ボタンのfunctionが難しくて..
<html><head><title>挿入</title>
<script type="text/javascript" language="JavaScript">
function Ins(layerName, FileName)
{
Tag;
Tag = "<iframe frameborder=0 width='100%' height='100%' src='" + FileName + "'></iframe>";
var div = document.getElementById(layerName);
div.innerHTML = Tag;
}
function Ins_main(){
Ins("main", document.forms[0].elements[0].value);
}
</script>
書き込み出来ないので省略
こんな感じです。やりたいことはこういったところです。是非宜しくお願いします。

839 名前:Name_Not_Found 投稿日:04/02/19 00:38 ID:???
>>837
Google Serch をやっていました.
で,発見したのが下の所 (本家なのかな ?)
http://bookmarklet.daa.jp/

>ちなみにDOM版のフレームを今作っているのですが
実は iframe を DOM で操作しようと色々やって見ました.
でも,ブラウザによって動作したりしなかったりで,
結局,紹介したサイトの方法しかなさそうだとの結論にたどり着いたのです.

ソースについては copy & paste して解析してみますです.

840 名前:Name_Not_Found 投稿日:04/02/19 00:40 ID:???
>>839
本家はこっち
ttp://www.bookmarklets.com/

841 名前:Name_Not_Found 投稿日:04/02/19 00:40 ID:???
>>837
こういうのをフレーム内に入れとけばいいんじゃないのかな。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function mv(d) {
var a = location.href.match(/^(.*[^0-9])([0-9]+)([^0-9]*)$/);
var s = String(Number(a[2]) + d);
while(s.length < a[2].length) s = '0' + s;
location.href = a[1] + s + a[3];
}
</script>
</head><body>
<form action="#"><p><input type="button" value="N" onclick="mv(1)">|
<input type="button" value="P" onclick="mv(-1)"></p></form>
</body></html>

ところで洩れはマカーではない。DOCTYPE宣言つけてる人ほかにもいるけど
System Identfier(URL)がついてたりコードShift_JISだったりするので別人
と(自分には)分かるけどね。ちなみにFreeBSDユーザです。

842 名前:Name_Not_Found 投稿日:04/02/19 00:51 ID:???
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html lang="ja"><head>
<meta http-equiv="content-type" content="text/html;charset=Shift_JIS">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>exam</title>
<script type="text/javascript"><!--
function f(){
e=document.getElementsByTagName('iframe');
e[0].src='index.html';
}
//--></script>
</head>

<body>
<iframe src="tree.gif" width="300" height="300" name="fr0"></iframe><br>
<a href="#" onClick="f();return false">click !</a>
</body></html>
-------------------------------------------------------------------
IE5.0, Netscape7.02 で動作.
でも, iCab でだめぽ.
(今日はもう寝る)

843 名前:Name_Not_Found 投稿日:04/02/19 00:59 ID:???
<body><table width="100%" height="100%" border="1" cellpadding="0" cellspacing="0">
<form><tr>
<td width="300" height="22"><input type="text" value="http://www.yahoo.co.jp/" size="40" onClick="select()">
<input type="button" value="Go" onClick="Ins_main()">
<input type="button" name="R" value="R"onclick="document.forms[0].elements[0].value='';document.forms[0].elements[0].focus()"></td>
<td> </td>
<td> </td>
<td>
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td> </td>
<td><input type="button" onClick="first()" value=" |< "></td>
<td><input type="button" onClick="p_p()" value="<<"></td>
<td><input type="button" onClick="previous()" value=" < "></td>
<td><input type="button" onClick="document.execCommand('Stop')" value="■"></td>
<td><input type="button" onClick="next()" value=" > "></td>
<td><input type="button" onClick="n_n()" value=">>"></td>
<td><input type="button" onClick="last()" value=" >| "></td>
<td> </td>
</tr></table></td></tr></form>
<tr><td colspan="4"><div style="position:absolute; width: 100%; height: 100%;" id="main"></div></td>
</tr></table></body></html>
>>838のボデーもとりあえず


844 名前:Name_Not_Found 投稿日:04/02/19 01:12 ID:???
ポップアップで別ウィンドウ(この場合 "new.html")を開くスクリプトです。
海外の某サイトのソースを参考にしました。

--- head部----------------------------
<script language="JavaScript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
</script>

------ 以下 body -------

<a
onClick="MM_openBrWindow('new.html','POPUP','resizable=yes,width=300,height=300')"
href="http://www.xxx/aaaa/">お知らせ</a>

このスクリプトを載せているページのURL=http://www.xxx/aaaa/index.htnl です。
問題点は、この「お知らせ」をクリックすると元のページもリロードされるので、
次の来訪者がいると、カウンタが進んでしまうのです。
(間に誰もいなければ二重カウントは防止されます)

以前使っていた同様のスクリプトが大変重く感じられたので
こちらに変えたのですが、別に元のページを他のページに飛ばす必要もないので
何かいい方法はありませんでしょうか?

845 名前:Name_Not_Found 投稿日:04/02/19 01:24 ID:???
>>844
return false;

例えば、
<a href="new.html" onclick="open('new.html','','width=300,height=300');return false">
  ~~~~~~~~~~~~~~~
      ↑ここ大事

846 名前:844 投稿日:04/02/19 01:48 ID:???
>>845
早速ありがとうございますー!
おかげで早く寝られます、改めてありがとうございました。

847 名前:Name_Not_Found 投稿日:04/02/19 02:07 ID:???
すみません、>>844-845の別ウィンドウにスクロールバーとウィンドウのリサイズが
できるようにするには、どのようにスクリプトを直せばいいのでしょうか?

<a href="new.html" onclick="open('new.html','','width=300,height=300');return false">
                                           ∧       ∧
scrollbars=yes,resizable=yesのスクリプトを
∧に示した2ヶ所に入れてみましたが、
別窓は開かず、new.htmlのページが開いただけでした。

848 名前:Name_Not_Found 投稿日:04/02/19 02:27 ID:???
>>847
ttp://tohoho.wakusei.ne.jp/js/window.htm#open あたりで

849 名前:847 投稿日:04/02/19 02:42 ID:???
<a href="new.html" onclick="open('new.html','','width=300,height=300',scrollbars=yes');return false">

でダメでした。もうお手上げです。

850 名前:Name_Not_Found 投稿日:04/02/19 03:03 ID:???
これはJavaScriptを書くためスレであってコピペするためのスレではない。

851 名前:849 投稿日:04/02/19 03:19 ID:???
解決しました!
>850さんにはご不快な思いをさせてしまったようで、
すみませんでした。

852 名前:Name_Not_Found 投稿日:04/02/19 11:50 ID:iTfyyCl0
FORMのテキストボックス内の文字入力部分の
色を変えることってできますか?


853 名前:Name_Not_Found 投稿日:04/02/19 12:04 ID:???
>>852
テキストボックスって<input type="text">のことですか。
それ全体の背景色なら変えられると思うけど、「文字
入力部分」というのはその一部分なの?よくわからない。

854 名前:Name_Not_Found 投稿日:04/02/19 12:10 ID:???
>>852

<form action="#">
<input type="text" value="test_string" onfocus="this.style.color='#ff0000'">
</form>

855 名前:Name_Not_Found 投稿日:04/02/19 12:15 ID:???
それは文字の色であって文字入力部分の色ではないと思われ。

856 名前:Name_Not_Found 投稿日:04/02/19 12:19 ID:???
>>855
<input type="text" value="select_me" onfocus="this.style.backgroundColor='#ff0000'">

857 名前:852 投稿日:04/02/19 13:03 ID:iTfyyCl0
>856
それです!style.backgroundColorです。
ありがとうございます!

858 名前:Name_Not_Found 投稿日:04/02/19 13:26 ID:???
JavaScriptで環境変数(UserAgent)を取得

取得した値を、FormでCGIに渡したいのですが…
上手く行かないのです。

どなたかご教授頂ければありがたいです。


<script language="JavaScript">
<!---
 document.test.jsua.value=("Agent:",navigator.userAgent)
//--->
</script>

<form action="./test.cgi" method="POST" name="test">
<input type=text name="jsua">
</form>

859 名前:Name_Not_Found 投稿日:04/02/19 13:34 ID:0QEnjtEF
Opera7のバグっぽいのを見つけた。
document.onmousedownを設定すると右クリックメニューが出なくなる。

7.23jaで確認。
<html>
<script>
document.onmousedown=function(){}
</script>
</html>

860 名前:Name_Not_Found 投稿日:04/02/19 13:35 ID:???
>>858
<script>...</script>に書いた動作はそのタグが読まれた時点で
実行されるので、フォームの前に書いちゃったらまだフォームが
存在していないからダメじゃん。フォームの後に書けば?

あと、なんすか?その「("Agent:",navigator.userAgent)」
っていうのは。(x, y)っていうのはxとyを計算して値としては
yだけ取るっていう意味なんで、この場合ただnavigator.userAgent
と書いたのと同じになるんだけど。文字列を連結したいのなら「+」
を使わないと。

861 名前:Name_Not_Found 投稿日:04/02/19 14:08 ID:w9vNNuKY
Forbidden
You don't have permission to access /~behemoth/cgi-bin/lnb.cgi on this server.
--------------------
Apache/1.3.9 Server at cgi.din.or.jp Port 80

何時も見てたページが突然こう出たんですが同対処すれば良いのですか?
アドバイスお願いします
<板違いは分かるのですが他じゃ解決できませんでした>
本当お願いします



862 名前:Name_Not_Found 投稿日:04/02/19 14:18 ID:???
そんなの管理者がそう設定したとしか言いようがない。
荒したから止められたとかそいうんと違うか(w
こんなとんでもない板違いスレ違い人間ならあり得るよ。

863 名前:Name_Not_Found 投稿日:04/02/19 15:18 ID:???
>861
スレ違い。CGI関連のスレで聞けっての。
ここはJavaScriptのスレだ。


864 名前:Name_Not_Found 投稿日:04/02/19 15:53 ID:???
"Web制作板"だぞ

865 名前:Name_Not_Found 投稿日:04/02/19 16:37 ID:???
スレ違い

866 名前:Name_Not_Found 投稿日:04/02/19 16:47 ID:???
var bg_list = ['bg1','bg2','bg3'];
function bg_select() {
document.getElementById('b0').className =
bg_list[Math.floor(Math.random() * bg_list.length)];
}

これをid="b0"のときではなく、
bodyタグのときにするにはどうしたらいいのですか?

867 名前:Name_Not_Found 投稿日:04/02/19 16:53 ID:???
>>861

フーン。エロ画像うpローダね。
ttp://cgi.din.or.jp/~behemoth/cgi-bin/lnb.cgi

ハァハァできねーっつーことはアク禁くらってるとか。
激しく嫌われてるとか。(プ
そういやオレも昔はウザイヤシには403とかレスポンス返してたなー。

868 名前:Name_Not_Found 投稿日:04/02/19 18:11 ID:???
>>866
Try it !

<head>
<style type="text/css"><!--
.g{color:#00ff00;}
.r{color:#ff0000; border:1px solid ;}
--></style>

<script type="text/javascript"><!--
function f(){
E=document.getElementsByTagName('body');
E[0].className='r';
}
//--></script>
</head>

<body>
ABCDE
<form action="#">
<input type="button" value="click" onClick="f()">
</form>
</body></html>

869 名前:Name_Not_Found 投稿日:04/02/19 18:28 ID:???
やっとこさ発見 !
http://www.teria.com/~koseki/memo/bookmarklets/tips.html
(Bookmarklet - ブックマークレットを作成する際のポイント)

870 名前:Name_Not_Found 投稿日:04/02/19 18:58 ID:???
>>868
試行錯誤したけどダメポ

871 名前:Name_Not_Found 投稿日:04/02/19 19:01 ID:???
>>870
???
動作確認: iCab2.97, IE5.0, Netscape7.02.
(これ以外で動作確認は不可能...)

872 名前:Name_Not_Found 投稿日:04/02/19 19:12 ID:???
>>871
iCab2.97 での実行結果貼ってくれたら激しくうれしい。
safari もあると更にうれしいんだけど。

x = window.navigator;
for(i in navi) document.write(i," = ", x[i], "\n");

873 名前:872 投稿日:04/02/19 19:14 ID:???
s/for(i in navi)/for(i in x)/

874 名前:Name_Not_Found 投稿日:04/02/19 19:23 ID:???
>>871
僕は iCab(classic) で動作しないものは基本的に採用しない方針.
(ここに書き出す時には,しかたがないと思っている部分もある)
safari は OS-X を使っていないので無理ぽ.
で,実行結果って ?
(試せば解ると思うんだけど...)

あと, ',' は '+' に置き換えた方が,こういう所では理解されやすいと思う.
(個人レベルでは,たいした問題ではないけどね.)

875 名前:Name_Not_Found 投稿日:04/02/19 19:38 ID:???
>>874
Mac持ってないんでしょ

876 名前:Name_Not_Found 投稿日:04/02/19 19:59 ID:???
>>874
>iCab(classic) で動作しないものは
え?動作しない? Opera と同じで for in がサポートされていないと?

>で,実行結果って ?
if ( '>貼ってくれ' && 'document.write()')
 alert('・・ときたら、表\示されたものをコピペしてほしいと。そう気付いてほしいが。');

>あと, ',' は '+' に置き換えた方が
別にソースはどうでもいい訳だが。
ようは返り値を知りたいんよ。Mac専ブラウザの。

877 名前:Name_Not_Found 投稿日:04/02/19 20:16 ID:???
>>876
Safari 1.2(v125)

productSub = 20030107
product = Gecko
plugins = [object PluginArray]
appName = Netscape
appCodeName = Mozilla
mimeTypes = [object MimeTypeArray]
javaEnabled = [function]
appVersion = 5.0 (Macintosh; U; PPC Mac OS X; ja-jp) AppleWebKit/124 (KHTML, like Gecko) Safari/125
platform = MacPPC
language = en
userAgent = Mozilla/5.0 (Macintosh; U; PPC Mac OS X; ja-jp) AppleWebKit/124 (KHTML, like Gecko) Safari/125
vendor = Apple Computer, Inc.
cookieEnabled = true


878 名前:Name_Not_Found 投稿日:04/02/19 20:19 ID:???
iCab 2.9.5

appCodeName = Mozilla
javaEnabled = [object Function]
cookieEnabled = true
onLine = true
language = ja
browserLanguage = ja
userLanguage = ja
userAgent = iCab J/2.9.5 (Macintosh; U; PPC; Mac OS X)
appName = Microsoft Internet Explorer
appVersion = 4.0 (compatible; MSIE 5.5; Macintosh; I; PPC)
appMinorVersion = 5
vendor = iCab
vendorSub = 2.9.5
product = InScript
productSub = 3.17 Release 162 (2002-12-16)
platform = MacPPC
cpuClass = PPC
oscpu = PPC Mac OS X
systemLanguage = ja
mimeTypes = [object MimeTypeArray]
plugins = [object PluginArray]


879 名前:Name_Not_Found 投稿日:04/02/19 20:25 ID:???
>>876
ちょっと話が食い違ってますな.

>え?動作しない?
たとえば DOM で確実に動作するのは
getElementById() と getElementByTagName().
その他はブラウザによってまちまちな印象がある.
で,僕の環境で一つでも動作確認が取れない script は void の対象だよ.

>for in がサポートされていないと?
これは 3 つとも(一応)問題がないな.
ただし, IE5.0 で挙動不審に出会って while() に置き換えた事がありまふ.

>表\示されたものをコピペしてほしいと。
これは物にもよるでしょ ?
(.style に関するものは screen-shot でも取らない限り,難しいのでは ?)

>ようは返り値を知りたいんよ。Mac専ブラウザの。
それならば,テスト用の script を貼ってくで !

880 名前:Name_Not_Found 投稿日:04/02/19 20:54 ID:???
iCab2.97:

・ appCodeName = Mozilla
・ javaEnabled = function javaEnabled() { [native code] }
・ cookieEnabled = true
・ onLine = true
・ language = en
・ browserLanguage = en
・ userLanguage = en
・ userAgent = iCab2.97/MacOS9.1(E)
・ appName = iCab
・ appVersion = 2.97 (compatible; iCab 2.97; Macintosh; I; PPC)
・ appMinorVersion = 9
・ vendor = iCab
・ vendorSub = 2.9.7
・ product = InScript
・ productSub = 3.19 Release 165 (2003-10-18)
・ platform = MacPPC
・ cpuClass = PPC
・ oscpu = PPC Mac OS
・ systemLanguage = en
・ mimeTypes = [object MimeTypeArray]
・ plugins = [object PluginArray]



881 名前:Name_Not_Found 投稿日:04/02/19 20:56 ID:???
Netscape7.02

・ platform = MacPPC
・ appCodeName = Mozilla
・ appName = Netscape
・ appVersion = 5.0 (Macintosh; en-US)
・ language = en-US
・ mimeTypes = [object MimeTypeArray]
・ oscpu = PPC
・ vendor = Netscape
・ vendorSub = 7.02
・ product = Gecko
・ productSub = 20030208
・ plugins = [object PluginArray]
・ securityPolicy =
・ userAgent = Mozilla/5.0 (Macintosh; U; PPC; en-US; rv:1.0.2) Gecko/20030208 Netscape/7.02
・ cookieEnabled = true
・ javaEnabled = function javaEnabled() { [native code] }
・ taintEnabled = function taintEnabled() { [native code] }
・ preference = function preference() { [native code] }


882 名前:Name_Not_Found 投稿日:04/02/19 20:57 ID:???
IE5.0

・ platform = MacPPC
・ appCodeName = Mozilla
・ appName = Netscape
・ appVersion = 5.0 (Macintosh; en-US)
・ language = en-US
・ mimeTypes = [object MimeTypeArray]
・ oscpu = PPC
・ vendor = Netscape
・ vendorSub = 7.02
・ product = Gecko
・ productSub = 20030208
・ plugins = [object PluginArray]
・ securityPolicy =
・ userAgent = Mozilla/5.0 (Macintosh; U; PPC; en-US; rv:1.0.2) Gecko/20030208 Netscape/7.02
・ cookieEnabled = true
・ javaEnabled = function javaEnabled() { [native code] }
・ taintEnabled = function taintEnabled() { [native code] }
・ preference = function preference() { [native code] }


883 名前:Name_Not_Found 投稿日:04/02/19 21:01 ID:???
やっと意味が解った.
悪いけど修正しないと動かなかったよ.

884 名前:Name_Not_Found 投稿日:04/02/19 21:15 ID:???
>>877-882
激しくサンクス。イイ住人やの〜。・゚・(ノД`)・゚・。


>>ヌル
> getElementByTagName().
 getElementsByTagName(); // 一応お約束だからな。

> やっと意味が解った.
オブジェクトを for in 使って書き出してるんだから
この時点で目的は一つくらいしかないわけだが。

> 悪いけど修正しないと動かなかったよ.
マジ?
NN3でも余裕のソースだから安心しきってたな。
で、ブラウザとエラー箇所はどこかな?

885 名前:866 投稿日:04/02/19 21:21 ID:???
<head>
<style type="text/css"><!--
.bg1{background-color: #ff0000;}
.bg2{background-color: #00ffff;}
.bg3{background-color: #ffff00;}
--></style>

<script type="text/javascript"><!--
var bg_list = ['bg1','bg2','bg3'];
function bg_select() {
document.getElementsByTagName('body').className =
bg_list[Math.floor(Math.random()*bg_list.length)];
}

//--></script>
</head>
<body onload="bg_select()">
<p>aaa</p>
</body>
</html>


bodyタグにランダムにbg1〜bg3のスタイルを選ぶようにしたいのですが、無知な自分では無理でした。
bodyタグにidを付けないで、やる方法はありますか?



886 名前:Name_Not_Found 投稿日:04/02/19 21:29 ID:???
>>884
やたらすっきりしてたのでOperaも書いときます

Opera 6.03
Build 1143
プラットフォーム MacOS X

taintEnabled = function taintEnabled() { [native code] }
mimeTypes = [object MimeTypeArray]
plugins = [object PluginArray]
javaEnabled = function javaEnabled() { [native code] }


887 名前:Name_Not_Found 投稿日:04/02/19 21:32 ID:???
>>885

function bg_select() {
document.body.className =
bg_list[Math.floor(Math.random()*bg_list.length)];
}

888 名前:Name_Not_Found 投稿日:04/02/19 21:35 ID:???
>>886
サンク

889 名前:Name_Not_Found 投稿日:04/02/19 21:36 ID:???
>>884

[修正前]
x = window.navigator;
for(i in navi) document.write(i," = ", x[i], "\n");

・ navi: invalid reference
・ '\n' は効果を発揮せず.
・ ブラウザは無関係.

[修正後]
<body>
<script type="text/javascript">
x = window.navigator;
for(i in x) document.write('・' + i +' = ' x[i] + '<br>');
</script>
</body>

>// 一応お約束だからな。
そこまで言う ?
なおしとこっと.
getElementsByTagName('tag_name');
どうでぃ ?

890 名前:Name_Not_Found 投稿日:04/02/19 21:47 ID:???
訂正:
for(i in x) document.write('・' + i + ' = ' + x[i] + '<br>');


891 名前:Name_Not_Found 投稿日:04/02/19 21:54 ID:???
>>889
> ・ navi: invalid reference
>>873 で訂正してますが。

> ・ '\n' は効果を発揮せず.
オレは <pre> 派なんだな。だからチョコッと書き出すには
誰でもお手軽な <pre> を使うもんだと思い込んでる。

> どうでぃ ?
そりは正直どーでもイイよ。w

892 名前:sage 投稿日:04/02/19 21:54 ID:ht0qN25u
質問です。
下記のようなHTMLがあるとします。

<FORM METHOD="POST" NAME="name_id" action="test.html">
          :
<td><input type="text" name="testA" value="てすと"></td>
          :

testAを一度表示します。

alert(name_id.testA.value);

ここでtestAのテーブルを一度全部削除します。

// テーブル削除
var table = document.getElementById(id);
var RowNum = table.rows.length;
for (i=0; i<RowNum; i++) table.deleteRow(0);


再びtestAを作成したあとにtestAを表示しようとしたら
NULLまたはオブジェクトじゃありませんと言われました。

削除して作成したtestAを表示したいのですがどうすればよいのですか?
よろしくお願いします。


893 名前:Name_Not_Found 投稿日:04/02/19 22:00 ID:???
>>891
>>838 は ' できそこないの Regular Expression ' だと,
とっさに思い込んでしまったのだよね.
気がついた時には修正済みだった訳でして...

894 名前:Name_Not_Found 投稿日:04/02/19 22:07 ID:???
>>892
どのようにしてtestAを作成したの?

895 名前:Name_Not_Found 投稿日:04/02/19 22:12 ID:???
>>892
table の row を非表示にしたいのかな ?
もしそうなら delete するのでなく,

element.style.display='none';

とした方が良いんじゃないかな ?(未確認)
(script を書いて確認するのは質問の内容を理解してから.)

896 名前:Name_Not_Found 投稿日:04/02/19 22:28 ID:???
>>885
乗りかかった船で解決の声を聞かないと
寝覚めが悪いので script を書いてみるよ.
ただ...
" 無知な自分では無理でした。"
なんて事を言っているといつまで経っても進歩しませんぜ.


897 名前:Name_Not_Found 投稿日:04/02/19 22:31 ID:WJNJbFeb
質問です。
インラインフレーム内から、
インラインフレーム外の背景画像を指定するときにはどうしたら良いでしょうか。
調べても調べても分かりません。どうか教えてください。

898 名前:Name_Not_Found 投稿日:04/02/19 22:32 ID:???
>>896
書く必要なんかないよ。「document.getElementById('b0')」を
「(document.documentElement || document.body)」に直すだけだから。

899 名前:Name_Not_Found 投稿日:04/02/19 22:38 ID:???
>>897 ホレ。
--- main.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html><head><title>???</title>
</head><body>
<iframe name="test" src="t1.html"></iframe>
</body></html>
--- t1.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
(top.document.documentElement || top.document.body).style.backgroundColor = 'b\
lue';
}
</script>
</head><body>
<p><a href="javascript:test()">test</a></p>
</body></html>

900 名前:Name_Not_Found 投稿日:04/02/19 22:39 ID:???
>>899 げげ、'b\lue' → 'blue'ね。

901 名前:Name_Not_Found 投稿日:04/02/19 22:42 ID:???
>>860
出来ました。ありがとうございました。

> あと、なんすか?その「("Agent:",navigator.userAgent)」 っていうのは。

これは、「環境変数 UserAgent Javascript」でググって見つけた
サンプルページからコピペしただけの物で、解説も何もなかったので…
でたらめだったんですね。(^^;;


902 名前:897 投稿日:04/02/19 22:47 ID:WJNJbFeb
>>899-900
ありがとうございます。早速やってみます。
backgroundColorはbackgroundImageでも大丈夫ですよね。

903 名前:897 投稿日:04/02/19 22:54 ID:???
>>899-900
ごめんなさい。うまくいきませんでした。
当方Win98、IE6です。

904 名前:Name_Not_Found 投稿日:04/02/19 23:37 ID:???
ディレクトリのような表示で、リンクするようなのはどうやってつくるのでしょうか?
(例:http://www.pc-success.co.jp/pc/
左側のようなのをつくりたいんですが・・・・。

905 名前:904 投稿日:04/02/19 23:40 ID:???
トップページのふれーむの分割はできています。
左側のソースを今みています。

906 名前:Name_Not_Found 投稿日:04/02/19 23:46 ID:???
>>827です。大変遅レスで申し訳ありません。
>>841>>842
参考にさせて頂きました。
divで挟んでdocument.writeで外部化しました。ありがとうございました。
>>841のケースだとHTMLで使わなければいけません。直接JPGなどのファイルを
フレームに読み込んで使いたいので、一手間多くなってしまいます。
私としては、フレームに直接読み込んで、ボタンで操作したいのです。
以下がそのサンプルです。
<html><head><title></title><BASE href="">
<input value='<-1' type='button' onClick='history.go(-1)'>
<input value='+1>' type='button' onClick='history.go(1)'>
<input value='home' type='button' onClick="parent.main.location.href='about:home'">
<input type="button" onClick="location.reload()" value="location.reload()"><br>
<input type="button" onClick="document.body.style.filter='Invert()';eval();" value="Invert()">
<input type="button" onClick="document.body.style.filter='Gray()';eval();" value="Gray()">
<input type="button" onClick="document.body.style.filter='Xray()';eval();" value="Xray()">
<input type="button" onClick="document.body.style.filter='Blur()';eval();" value="Blur()"><br>
| <a href="">0</A>| <a href="">1</A>| <a href="">2</A> |
<table width="100%" height="90%" border="1" cellpadding="0" cellspacing="0">
<tr><td><iframe name="main" src="about:blank"></iframe></td>
</tr></table></div></body></html>
>>831のご指摘どおりファイル名の数字を増やす-減らすをボタンを組み込みましたが、やはりだめでした。
出来ればコードを貼り付けて頂けるとありがたいです。
ついでにfilterのボタンはうまく機能しません。document.フレーム名.bodyとしてもだめでした。
そちらのほうもお願いします。


907 名前:Name_Not_Found 投稿日:04/02/20 00:00 ID:???
>>906↑字数制限で削りすぎました。
当然ながら
<BASE TARGET="main">
<iframe name="main" src="about:home" frameborder="0" marginwidth="0" marginheight="0" scrolling="auto" align="" width="100%" height="100%"></iframe>
を加えてください。

908 名前:Name_Not_Found 投稿日:04/02/20 00:26 ID:???
>>885

<head>
<style type="text/css"><!--
.bg0{background-color: #AA0033;}
.bg1{background-color: #00AAAA;}
.bg2{background-image:url("tree.gif");}
--></style>

<script type="text/javascript"><!--
function init(){
CN=['bg0','bg1','bg2'];
l=CN.length;
E=document.getElementsByTagName('body');
n=Math.floor(Math.random()*l);
E[0].className=CN[n];
}
//--></script>
</head>

<body onLoad="init()">
ABCDEFGH
</body>
------------------------------------------------
動作確認:
iCab2.97, IE5.0, Netscape7.02 (MacOS9.1環境下)
解決したのかもしれないけれど...
こんなやり方もあるってことで...

909 名前:Name_Not_Found 投稿日:04/02/20 00:31 ID:???
>>903
backgroundColorでも駄目なの? backgroundImageだと文字列が
「url(ファイル名)」という形になる必要があるんだけどそうなってる?

910 名前:903 投稿日:04/02/20 00:41 ID:???
>>909
backgroundColorでも駄目なんです。
お手数お掛けして本当に済みません。

911 名前:Name_Not_Found 投稿日:04/02/20 00:44 ID:???
>>910
エラーは出ていないのね?うーん、不思議だ。

912 名前:Name_Not_Found 投稿日:04/02/20 00:50 ID:???
>>906
filterのボタンはフレーム名.documentとすることで解決しました。

913 名前:910 投稿日:04/02/20 00:53 ID:???
>>911
すみません、出来ました。
これは最初に既にスタイルシートやBODYなどで背景を指定してしまっていると
使えないのですね。教えていただいたサンプルをコピペしたらすんなり上手く行きました。
どうもありがとうございました。

914 名前:mimi 投稿日:04/02/20 00:56 ID:???
_blankで開いたWindowの下に閉じるボタンをつけて閉じたいのですがWINDOWSで閉じてもいいですか?というアラートがでてしまいます。
クライアントからは閉じるボタンは画像で作ってほしいという要望があるのですが、よい方法を御存じの方はおしえてください

915 名前:Name_Not_Found 投稿日:04/02/20 01:02 ID:???
>>911
trigger ( <body onLoad="〜"> )書き忘れ.
動作確認してないでしょ ?

916 名前:885 投稿日:04/02/20 01:02 ID:???
>>887>>896>>898>>908
レス・ソースありがとうございます。
javascriptはほとんど使ったことがないんで、分かりませんでした。
頂いたソースを理解できるよう、いろいろ検索しながら勉強します。
C++と似たトコがあるみたいですが、ブラウザによって制約が多そうなのが鬱です・・・
どうもでした。

917 名前:904 投稿日:04/02/20 03:48 ID:???
以下の例で、検索サイト1のレベルのを複数つくりたいのですが・・・・。
<html><head><title>クリックするとツリーメニューを表示する(入れ子/ネスト)</title>
<script Language="JavaScript"><!--
function exMenu(tName)
{
tMenu = document.all[tName].style;
if (tMenu.display == 'none') tMenu.display = "block"; else tMenu.display = "none";
}
// --></script>
</head>
<body bgcolor="white">
<a href="javaScript:exMenu('treeMenu1')">■</a>検索サイト1<br>
<div id="treeMenu1" style="display:none">
├<a href="http://www.yahoo.co.jp/">Yahoo!</a><br>
├<a href="http://www.goo.ne.jp/" >Goo</a><br>
├<a href="http://www.lycos.co.jp/">Lycos</a><br>
└<a href="javaScript:exMenu('treeMenu2')">■</a>検索サイト2<br>
<div id="treeMenu2" style="display:none">
  ├<a href="http://www.infoseek.co.jp/">Infoseek</a><br>
  ├<a href="http://www.google.com/" >Google</a><br>
  └<a href="http://kids.goo.ne.jp/">Kids Goo</a><br>
</div>
</div>

</body>
</html>

918 名前:Name_Not_Found 投稿日:04/02/20 08:11 ID:???
作りたければ作ればいいじゃん。質問があるのなら質問すれ。
アンタが何かを注文したら自動的にできあがるスレではない。
自分でここまでこうやったという誠意を見せなくちゃね。

919 名前:Name_Not_Found 投稿日:04/02/20 08:19 ID:???
>>917
現在<body>...</body>の内側に入っているものを複数コピペして、
名前がぶつからないように統一的に書き換えるだけじゃないの?
この説明で分からなければ勉強するしかないだろう。

920 名前:Name_Not_Found 投稿日:04/02/20 09:15 ID:???
<head>
<style type="text/css"><!--
.dsp0{display:none}
.dsp1{display:block}
//--></style>
<script type="text/javascript"><!--
function dspSw(x){
var e=document.getElementById(x);
if (e.className == 'dsp0') e.className='dsp1';
else e.className='dsp0';
}
//--></script>
</head>
<body>
<a href="#" onClick="dspSw('id0');return false">■</a>serch sites<br>
<div class="dsp0" id="id0">
├<a href="http://www.yahoo.co.jp/">Yahoo!</a><br>
├<a href="http://www.goo.ne.jp/" >Goo</a><br>
├<a href="http://www.lycos.co.jp/">Lycos</a><br>
└<a href="#" onClick="dspSw('id1');return false">■</a>serch site2<br>
<div class="dsp0" id="id1">
 ├<a href="http://www.infoseek.co.jp/">Infoseek</a><br>
 ├<a href="http://www.google.com/" >Google</a><br>
 └<a href="http://kids.goo.ne.jp/">Kids Goo</a><br>
 └<a href="#" onClick="dspSw('id2');return false">■</a>serch site3<br>
</div>
<div class="dsp0" id="id2">
  ├site<br>
  ├site<br>
  └site
</div>
</div></body>

921 名前:Name_Not_Found 投稿日:04/02/20 09:22 ID:???
>>917
>>918-919 の言うことは,もっともだと思うぜ.
(類似のものを何度も書くハメになっているのは事実)
僕がここにソースを書き出しているのは個人的な興味からなんだ.
そこを勘違いしないで欲しいな.

922 名前:Name_Not_Found 投稿日:04/02/20 10:52 ID:???
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>nanashi</title>
</head>
<body>
<div align="center"><table><tr><td><small><font color="blue">
<script type="text/javascript">
<!--
modi = new Date(document.lastModified);
year = modi.getFullYear();
month = modi.getMonth()+1;
day = modi.getDate();
document.write("最終更新日:",year,"/ ",month,"/ ",day,"");
//-->
</script></font></small></td></tr></table></div>
</body>
</html>


一応自分の環境で正常表示確認したんですけど、
(WinXP:IE6sp1 Netscape4.78 Opera7.23 Opera6.06)
(WinMe:Ie5.5 Ie6Sp1 Netscape4.78 Opera7.23 Opera6.06)
これらのブラウザでは正常表示されたのですが、Netscape6・7系ではおかしくなってしまうようです。
また、Macを持っていないので、Macでもどうなるか分かりません。どうなるんでしょう?
一応、ttp://www.danvine.com/icapture/でサファリの動作を見る限りは問題ないようなのですが・・・。

とりあえず、このスクリプトをNetscape6・7系では停止するということは出来るのでしょうか?

923 名前:Name_Not_Found 投稿日:04/02/20 12:53 ID:???
>>922
どう「おかしい」わけ?ブラウザ振り分けだったら山のように
例があるから検索したら。しかしこんなものでおかしくなるとは
思われないけどねえ。Mozliia 1.6で普通に表示できたよ。

924 名前:Name_Not_Found 投稿日:04/02/20 14:16 ID:???
フォーム内のテキストボックスに文字を流す初歩のソースはよくありますが、
そのほどんどのサンプルが当該ファイルにその流す文字列を記述するものとなっています;
同一ファイル内にテキストボックスに流す文字列を記述するのではなく、
外部ファイル(txtもしくはcsv)を参照し、文字を流したいのですが、
記述がわかりません。どなたか教えてください。
(外部ファイルはテキストボックスを配置しているHTMLと同じ階層です。)
できればソースを書き出していただければ幸いです。


925 名前:Name_Not_Found 投稿日:04/02/20 14:26 ID:???
>>924
外部ファイルを読む話なら過去ログのどっかにあったよ。
そうやって読んできたファイルの1行を普通に流せばいいんでは。
ここはあなたの注文に応じてコードを書くスレではないよね。

926 名前:924 投稿日:04/02/20 14:47 ID:???
>925
昨日からはじめたばかりで全然わかりませんでした;;
だから聞いたのですが・・・もう来ません


927 名前:Name_Not_Found 投稿日:04/02/20 14:57 ID:???
>>924
jsファイルに
var str = "サンプルテキスト";
とか書くのがスマートかもね。


928 名前:Name_Not_Found 投稿日:04/02/20 15:00 ID:tTKJOQ53
>>924
hoge.jsファイルに
str=new Array("hoge","piyo",...);
とかして
<script src="hoge.js">
で読み込むとかは?


createElementで作ったエレメントにonclick="hoge();"とかの属性を
追加することはできますか?

929 名前:928 投稿日:04/02/20 15:04 ID:???
済まん>>23の方法で試してみる。。。

930 名前:924 投稿日:04/02/20 15:05 ID:???
>927
>928
ありがとうございます。 早速試してみます

931 名前:Name_Not_Found 投稿日:04/02/20 15:13 ID:???
>>926
昨日はじめたことは自慢にも何もならない。自分で勉強するのは
当り前のこと。それでも難しいことがあったら相談にのるけど。
といってももう来ないんだよね、バイバイ。
>>928
問題なくできると思うけど、ただし文字列じゃなく関数を入れる。
つまり「e.onclick = hoge; 」ね。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var e = document.createElement('p');
e.appendChild(document.createTextNode('abcde'));
e.onclick = function() { alert('???'); }; // OK
//e.onclick = "alert('ABC')"; // NG
document.getElementById('d0').appendChild(e);
}
</script>
<head><body>
<p><a href="javascript:test()">test</a></p>
<div id="d0"></div>
</body></html>

932 名前:922 投稿日:04/02/20 15:14 ID:???
>922
Netscape7のほうは自己解決しました。
スレ汚し申し訳ない。
<!--
modi = new Date(document.lastModified);
year = modi.getFullYear();
month = modi.getMonth()+1;
day = modi.getDate();
//-->
</script>
</head>
<body>
<script type="text/javascript">
<!--
document.write("最終更新日:",year,"/ ",month,"/ ",day,"");
//-->
</script>

こんな風に分けたらちゃんと表示されました・・・。
>923
レスありがとうございます。そういや、Mozillaは確認してなかったです。

933 名前:Name_Not_Found 投稿日:04/02/20 15:18 ID:???
>>932
??? おかしいねえ、そんなの分けようが一緒にしようが
おんなじはずだけどねえ。ところで関係ないけど「//-->」と
くっつけちゃだめで、「// -->」とスペースを1個入れた方が
いいよ、どうせなら。自分は面倒なんでスクリプトをコメント
で囲んだりしないけどね。見えちゃうブラウザなんてどれくらい
あるのかねえ?

934 名前:Name_Not_Found 投稿日:04/02/20 16:28 ID:???
windowオブジェクトのプロパティ・メソッドを
すべて列挙するにはどうしたら良いの?

これじゃalert()とかこれで列挙できなかった。
DontEnum属性のせい? 列挙するのは無理?

for (var prop in this.window) {
document.write(prop+"<br>");
}


935 名前:Name_Not_Found 投稿日:04/02/20 18:10 ID:???
すみません、質問させてください。

<form name="form1">
<input type="text" name="test">
<input type="button" value="test" onClick="my1()">
</form>

で、htmlに文字を返したいのですが、
function my1() {
a=document.form1.test.value;
document.write(a);
}
とやると、文字コードがおかしくなります。また、実行後のソースを見ると入力された文字だけしかなくなり、
htmlなどのタグがなくなっています。
タグもdocument.write()で補うしかないのでしょうか。

936 名前:Name_Not_Found 投稿日:04/02/20 18:11 ID:???
>>934

for(i in window) document.write(i," = ",window[i], "<br>");

937 名前:934 投稿日:04/02/20 18:24 ID:???
>>936
結果。列挙されてない。>>934と同じ結果。

938 名前:Name_Not_Found 投稿日:04/02/20 18:30 ID:???
新スレは975越えたら。テンプレは同じでいいよね?

>>936
あんたねえ、それじゃ質問者のと全然変わらないじゃない。
列挙するプロパティ/メソッドは同じでしょ。質問をよく読まないで
回答するのやめてくんないかな。スレの無駄使いなだけだから。
あとdocument.write()に複数パラメタ渡すっていうのは非標準だから
危ういと思うよ。だいたい動くけど動かなかった経験がある(どういう
場合だったかはもう忘れた)。文字列連結して1個にして渡せばOK。
>>935
ページを一旦表示し終った後でdocument.write()を実行すると、
ページの内容はまっさらにクリアされます。ということは、
JavaScriptコードもまっさらにクリアされます。何をやりたい
か知りませんがonclickで呼ばれるコードからdocument.write()
を使うのはやめた方が無難です(1行だけ何か表示させてあとは
真っ白になってもいい、っていうのならまあいいんだけど)。
何をやりたいかきちんと説明して質問したらどうですかね。

939 名前:Name_Not_Found 投稿日:04/02/20 18:58 ID:???
>>938
わかりにくくてすみません。

>ページを一旦表示し終った後でdocument.write()を実行すると、
>ページの内容はまっさらにクリアされます。

これが嫌なんです。
今やりたいことはメール送信フォームを作って、入力された値をJSでフォームの下に表示して確認してから
送信する、というものです。

940 名前:Name_Not_Found 投稿日:04/02/20 19:09 ID:???
>>939
簡単なのはinnerHTMLかな

941 名前:Name_Not_Found 投稿日:04/02/20 19:57 ID:???
>>934
IEはプロパティのみ
N6〜だとプロパティとメソッド
Operaだとメソッドのみ

だった記憶がある。

942 名前:Name_Not_Found 投稿日:04/02/20 20:12 ID:???
外部ファイル化した色の配列で
01.htm,02.htm,03.htm,04.htmとページを変える毎に、
(01.htmが[1]を表示、02.htmが[2]を表示と)
色を濃くしていきたいのですが、可能でしょうか?
クッキー使えば出来ますか?

943 名前:Name_Not_Found 投稿日:04/02/20 22:21 ID:???
>>942
はあ?もしかしてファイル名ごとに対応する色が決まっているけど
スクリプトは色の配列も含めて1つのJSファイルにするってこと?
なんか違うような気もする。

944 名前:Name_Not_Found 投稿日:04/02/20 22:41 ID:???
if (location.href.lastIndexOf("01.html") != -1) {
color = colors[1];
}

945 名前:Name_Not_Found 投稿日:04/02/20 23:17 ID:???
>>943-944
レスありがとうございます。
>>943
>スクリプトは色の配列も含めて1つのJSファイルにするってこと
ピンポン〜そうなんです。
>>944
lastIndexOfは?ですが、出来るようですね。
もうすこし勉強してがんばってみます。

946 名前:Name_Not_Found 投稿日:04/02/21 01:22 ID:fcNZ5gna
コメントの通りなのですが、お願いします。

<SCRIPT LANGUAGE="JavaScript">
function to_cgi()
{
// http://***.cgiにPOSTで"hogeValue"を渡したい
}
</SCRIPT>

<form method="post">
<input type="hidden" name="hoge" value="hogeValue">
<input type="button" value="ボタン" onClick="to_cgi();">
</form>

947 名前:Name_Not_Found 投稿日:04/02/21 02:02 ID:???
>>946
<form name=F> で document.F.submit() で送信
getElementById() とかで取得してもいい

だけど普通にsubmitじゃいけない理由があるん?

948 名前:Name_Not_Found 投稿日:04/02/21 02:35 ID:???
>>906
約束していたので取り組み始めました.
しかし,途中で PC トラブルに遭って編集中のソースがパーになりました.
(RAM disk を使っていたのが,あだに...)
とりあえず気付いたことを少々...

・ onClick="〜" の中にだらだらと記述するのはダサいです.
onClick="f(arguments)" とした方が良い.
うまくいかない原因さえも解らないのはこのため.
未整理なソースは見た目にも面倒くさく見えるので
質問しても through されやすい効果もあります.

・ なにゆえに table を使っているのかが理解できない.

>filterのボタンはうまく機能しません。
これは,当たり前.
なぜって eval() の中身空っぽなんだもん.
eval() の使い方を復習しましょうね.
http://tohoho.wakusei.ne.jp/js/builtin.htm#eval

949 名前:Name_Not_Found 投稿日:04/02/21 03:31 ID:???
>昨日からはじめたばかりで全然わかりませんでした;;
>だから聞いたのですが・・・もう来ません

" 来るな ! " と言われても,さらりと受け流していれば
いつかは認めてくれる人も現れる.
ツッコミを入れられても素直に対応していれば,答えてくれる人だって...
些細な事で切れてしまうような人は,ひたすら,うとましく思われるだけ.
質問者にも器量が必要なのさ.

950 名前:Name_Not_Found 投稿日:04/02/21 04:22 ID:mN4gsdDg
掲示板を作ろうとしています。
それで入力フォームに題名・名前・Eメール・文などの項目を作ろうとしてます。
各々の項目には最初から文字が入っていて、入力フォームをクリックすると、
文字が消える仕組みにしたいのです。
なんとか自分になりにやってみたつもりなんですが、間違いや突っ込みなどお願いします。
あと、変数名の付け方のコツなども・・・

<html>
<head><script type="text/javascript"><!--
function clearform() {
a = document.getElementById("subject");
if (a.value = "題名") {
a.value = "";
}
}
//--></script>

<title></title>
</head>

<body>
<input id="subject" name="subject" size="20" maxlength="20" value="題名" onfocus="clearform()" />
</body>
</html>

951 名前:Name_Not_Found 投稿日:04/02/21 04:31 ID:???
>>950
それだとフォーカスが移る度にクリアされちゃうじゃん。= じゃなくて ==
それに「題名」という題名は絶対に入力されないのか。

952 名前:Name_Not_Found 投稿日:04/02/21 05:18 ID:???
本文につけた注釈文を小さいポップアップwindowで表示させようとして
JavaScriptでopenする関数を作り、<A HREF>でその関数を実行
するようにしたのですが、二回目に本文の注釈文をクリックすると、
フォーカスは本文に移り、ポップアップwindowは本文の陰に隠れたまま
です。
(ポップアップwindowの内容は二回目用に用意した文章に変わっていま
すが)
おまけにエラーが出てしまいます(T-T)
どのようにすればいいのか教えてください。

<html>
<head><SCRIPT language="JavaScript" type="text/JavaScript">
function wopen(){
var WO1;
WO1=window.open("","window1","status=yes,scrollbars=yes,resizable=yes,width=750,height=600,left=250");
WO1.focus();
</SCRIPT>
</head>

<body>
<a href="XXX.html" onclick="wopen()" target="window1">XXX</a>

<a href="YYY.html" onclick="wopen()" target="window1">YYYa>
</body>
</html>
よろしくお願いします。

953 名前:Name_Not_Found 投稿日:04/02/21 05:22 ID:???
>>950
http://pc3.2ch.net/hp/kako/1033/10333/1033385900.html
>>476


954 名前:Name_Not_Found 投稿日:04/02/21 08:20 ID:???
試作 bookmarklet:
javascript:s=document.body.style;s.backgroundColor='#005A63';s.color='#D6D68C';void(0)

これを拡張して,自作 style-sheet を自由に設定できるようにしたい.
possible or not ?

955 名前:Name_Not_Found 投稿日:04/02/21 08:58 ID:???
>>954
自由って、「何を」「どういうスタイル」の両者はどうやって指定
するつもりなの?

956 名前:Name_Not_Found 投稿日:04/02/21 09:00 ID:???
>>950
「最初にクリックしたとき消える」っていう質問、まさにこの
スレにあったよ。やっぱ読んでから質問した方がいいんじゃない?
(皆に「そんなのあったよな〜」と思われてスルーされるよ)

957 名前:Name_Not_Found 投稿日:04/02/21 09:05 ID:???
>>952
まずどういうエラーかきちんと書けってば。あと、クリックしたとき窓が
開くのはいいけど、このページはXXX.htmlやYYY.htmlに切り替わっていいの。
もし切り替わりたくなければonclic="...;return false"とするべき。
あと2番目の<a>の閉じタグが変だ。

958 名前:Name_Not_Found 投稿日:04/02/21 09:32 ID:???
>>948さんおはようございます。レスありがとうございます。
>なにゆえに table を使っているのかが理解できない.
tableを使っているのはページ全体をtable100%にしてボタン部と表示部に分けるためです。
>>906は字数制限で書き込めなかったので色々削ってあります。確かにこの場合いりませんね。(汗)
基本的にはキオスクモードで使いたいので、アドレス入力覧なども元のファイルには入っています。>>838>>843
>filterのボタンはうまく機能しません。
というのはボタンを押すとこの場合ページ全体にフィルターがかかってしまう。ことです。
FlipH()やFlipV()を使うとボタンもおかしくなる。(笑)
>>912これはdocument.body.の前にフレーム名を入れると解決しましたが、そうすると今度は
アクセス拒否というエラーが出ます。(泣)
>eval()の中身空っぽなんだもん
これはアンカータグをインプットタグに置換したものなので...取り忘れです。あまり理解していないのは確かですが、
>onClick="〜" の中にだらだらと記述するのはダサいです。
もっともです。ご勘弁ください。
----------------------------------------------------------------------------------分割


959 名前:Name_Not_Found 投稿日:04/02/21 09:33 ID:???
----------------------------------------------------------------------------------続き
それから最初の>>827の他に↓もありました。こちらのほうが加工しやすそうなのですが、これもまだボタン化出来ていません。
//次のページ
javascript:if (location.href.match(/([0-9]+)(\.[A-Z]+)$/i)){
no=RegExp.$1;a1=RegExp.leftContext;a4=RegExp.$2;a2=no.match(/0*/);a3=RegExp.rightContext;
len=(a2+(a3-0+1)).length-no.length;
location.href=a1+(a2+(a3-0+1)).slice(len)+a4;eval();}
//前のページ
javascript:if (location.href.match(/([0-9]+)(\.[A-Z]+)$/i)){
no=RegExp.$1;a1=RegExp.leftContext;a4=RegExp.$2;a2=no.match(/0*/);a3=RegExp.rightContext;
len=('0'+a2+(a3-0-1)).length-no.length;
location.href=a1+("0"+a2+(a3-0-1)).slice(len)+a4;eval();}
>>841>>906にあるように外部ファイル化してみたんですが、最初と最後に行くとボタンで戻れなくなる。
という問題があります。いろいろ大変ですが、少し面白くなってきました。
以前ははDreamweaverやホームページ・ビルダーに任せっきりだったのですが、JavaScriptを書くようになってから
1〜2ヶ月、ここのお陰でDOMやデータバインドの存在も知って、テーブルを横縞や縦縞、格子柄に出来るようになったり、
データを外部化したりといろいろと楽を出来るようになりました。この場を借りて皆様にお礼申し上げます。
長くなりましたがボタン化の件、何卒宜しくお願いします。

960 名前:Name_Not_Found 投稿日:04/02/21 09:33 ID:???
>>955
Thank you very much for your response.

" 自由に " と言う部分が適切な表現でなかったと反省しております.
ようするに local の .css file を path 指定 できるならば,
bookmarklet そのものを簡潔にすることができるのではないのかと思うのです.
(こうすれば,いちいち bookmarklet の記述を書き換えることなく,
指定されているファイルを書き換えるだけで欲求が満たされるかと.)

961 名前:Name_Not_Found 投稿日:04/02/21 09:48 ID:???
>>960
http://pc2.2ch.net/test/read.cgi/hp/1066750037/l50
ここの145等を参考にされたらどうでしょうか、
私には理解不能ですが、出来たらUPキボンヌです。

962 名前:Name_Not_Found 投稿日:04/02/21 09:58 ID:???
>>960
ほれ。IE専。Winで動確。

javascript:void(document.createStyleSheet("file:///c:/test.css"));

963 名前:Name_Not_Found 投稿日:04/02/21 10:35 ID:???
>>962デスクトップにすると使えません。
URLエンコードしてもだめでした。パスが長いとだめなんでしょうか?

964 名前:952 投稿日:04/02/21 10:36 ID:???
>>957さん、レスありがとうございます。
えっと、エラーメッセージは「ページでエラーが発生しました」と左下に表示されます。
説明不足で申し訳ありません。
親ページでクリックするたびにどんどん窓が開いてしまうのを避けたいので、
クリックするたびポップアップウィンドウ(Window1)の内容が書き換わって、
さらに一番上に表示されて欲しいんです。
OSはWin XP、ブラウザはIE6.0でテストしています。
宜しくおねがいしますm(_ _)m

965 名前:Name_Not_Found 投稿日:04/02/21 11:09 ID:???
>>963
パスの長さは関係ない。勿論限度はあるが。
c:/ 直下なら読む? だったら"デスクトップ"って文字列あたりが臭い。

>>964
>952 をそっくりコピして動かしてみると君のやりたいように動いてるみたいだが?
エラー等は再現されなかった。
>「ページでエラーが発生しました」と左下に表示
そのステータスバーをWクリックすると詳細が出るから見てみな。

966 名前:952 964 投稿日:04/02/21 11:22 ID:???
>>965さん ありがとうございます。
ステータスバーをWクリックしたら
「エラーオブジェクトを指定してください」と出ました。

>952 をそっくりコピして動かしてみると君のやりたいように動いてるみたいだが?
エラー等は再現されなかった。

やってみて下さるなんて本当にありがとうございます。
でも・・・私がやるとどうしても上に表示されないんです(T-T)
初めのXXXの時は上に表示されるのですが、
次に親窓に戻ってYYYをクリックしても親窓の下に隠れたままです。
しかも、表示したくないメニューバーやナビゲーションバーまで表示されてしまいます。

967 名前:Name_Not_Found 投稿日:04/02/21 11:35 ID:???
>>966
多分そりゃスペルミスだわ。
YYY の onclick="wopen()" の関数名をよく確認してみな。
それか自分で貼った952をコピして動かしてみ。


968 名前:952 964 966 投稿日:04/02/21 11:50 ID:???
だめです・・・952をコピペしても同じです・・・

969 名前:Name_Not_Found 投稿日:04/02/21 12:05 ID:???
>>964
957じゃないけど一言。
エラーが発生したなら、その内容をちゃんと書け。
左下の黄色い三角をダブルクリックな。

970 名前:Name_Not_Found 投稿日:04/02/21 12:07 ID:???
エラーメッセージ一覧 
http://free1.webdos.net/~spiritbox/err/list.html


971 名前:Name_Not_Found 投稿日:04/02/21 12:12 ID:???
>>968
ネタに思えてきたが。
952は完全にそのままではエラーだぞ?
関数を "}" で閉じてないからな。
てか、それは気付いてるわけ?

972 名前:952 964 966 投稿日:04/02/21 13:39 ID:???
うわ・・・お恥ずかしい!!!
}を入れたら見事望み通りにできました!感謝感激です!
みなさん、本当にどうもありがとうございました。
てゆうか、申し訳ありませんでしたm(_ _)m

973 名前:Name_Not_Found 投稿日:04/02/21 13:58 ID:ud8T8haO
マウスが乗った時に画像が変わるjavascriptなんかでよく見られる↓

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
〜以下続く

↑このMM_なんたらで始まるこのプロシージャってなんなんですか?
なんかのHP作成ソフトで自動的生成されるソースなんでしょうか?
それとも何処かのHPのサンプルソースなのでしょうか?

974 名前:Name_Not_Found 投稿日:04/02/21 14:15 ID:???
>>973
よくは知らんが間違いなくHP制作ソフトだな。
ホームページビルダーの悪寒。

975 名前:Name_Not_Found 投稿日:04/02/21 14:30 ID:???
>973
このスレをよく見返せ。

976 名前:Name_Not_Found 投稿日:04/02/21 14:40 ID:???
>>973
'MM_ ' は MacroMedia の略.
つまり, DreamWeaver の JavaScript であるという自己主張なんだな,こりがぁ〜.
(大きなお世話だね)

977 名前:Name_Not_Found 投稿日:04/02/21 15:27 ID:???
> (大きなお世話だね)
そういうことじゃなくて、ユーザが作った名前とかぶらないようにするため。
名前空間の無いC言語などでよく用いられている手じゃないか。お前素人だな。

978 名前:Name_Not_Found 投稿日:04/02/21 16:39 ID:???
名前空間ってなぁ〜に?
教えてちょ(^^)

979 名前:Name_Not_Found 投稿日:04/02/21 20:20 ID:JcCZ2ivn
document.anchors[0].text
って、NN独自のプロパティなのに(IEではinnerTextで代用)
自分のNN6.2では有効にならないのですが、
今の新しい(ネスケの)バージョンでは対応しなくなったのでしょうか。
ググったのですが、それについて書かれているページが見つからないので、
どなたかご存知ないでしょうか。

980 名前:Name_Not_Found 投稿日:04/02/21 20:23 ID:???
>>979
N4とN6以降は別物だから対応しないんじゃないの。
どういうことがやりたいのか書いてみたら。ただし
新スレへおねがい。

新スレ
http://pc2.2ch.net/test/read.cgi/hp/1077362343/l50

981 名前:Name_Not_Found 投稿日:04/02/21 20:29 ID:???
>>980
新スレ乙

982 名前:950 投稿日:04/02/22 04:57 ID:???
>>953
ありがとうございます!

983 名前:Name_Not_Found 投稿日:04/02/22 09:44 ID:???
replaceについて質問です。

やろうとしている事はボタンを押したとき、そのボタンに書かれている文字を置き換えるというものです。

function f(){
var a = new RegExp( document.getElementById('test2').value, "g");
document.getElementById('test1').value.replace(a, '○');
}

<TEXTAREA name=test1>あいうえおあいうえお</TEXTAREA>
<INPUT type=button onclick="f()" value="あ" name=test2>

現在のソースはこんな感じなんですが思いどおりに動いてくれません。
ちなみにエラーは全く出ず、alert(略match(a))なら成功しました。
よろしくお願いします。


984 名前:Name_Not_Found 投稿日:04/02/22 10:53 ID:???
name ≠ id

985 名前:Name_Not_Found 投稿日:04/02/22 14:47 ID:???
>>983

とりあえず、Form 部品の value を操作する程度なら
DOM じゃなしに document.formName.elementName でアクセスする。
!DOCTYPE ってヤシみたく ヴァカと言われるぞい。

function f(){
var a = new RegExp( document.getElementById('test2id').value, "g");
with(document.getElementById('test1id')) value = value.replace(a, '○');
}

<TEXTAREA name=test1 id=test1id>あいうえおあいうえお</TEXTAREA>
<INPUT type=button onclick="f()" value="あ" name=test2 id=test2id>

986 名前:Name_Not_Found 投稿日:04/02/22 15:53 ID:???
質問です。
ブラウザの種類やバージョンを検出して、それぞれ別のCSSを読み込ませたいのです。

<SCRIPT TYPE="text/javascript">
<!--
function isIE3() {
var vIE = navigator.appVersion.indexOf("MSIE ");
return ((navigator.appName.indexOf("Microsoft Internet Explorer") >= 0)
&& (parseInt(navigator.appVersion.substring(vIE + 5, vIE + 8)) == 3));
}
if (isIE3()) {
document.writeln('<LINK REL="stylesheet" TYPE="text/css" HREF="ie3.css" charset="Shift_JIS" />');
} else if ((navigator.appName.indexOf("Netscape") >= 0)
&& (parseInt(navigator.appVersion.substring(0, 2)) == 4)) {
document.writeln('<LINK REL="stylesheet" TYPE="text/css" HREF="nn4.css" charset="Shift_JIS" />');
} else if ((navigator.userAgent.indexOf("Gekko/") >= 0) {
document.writeln('<LINK REL="stylesheet" TYPE="text/css" HREF="skin/gekko.ja.css" charset="Shift_JIS" />');
} else
document.writeln('<LINK REL="stylesheet" TYPE="text/css" HREF="skin/default.ja.css" media="screen" charset="Shift_JIS" />');
// -->

見よう見まねでこんなもの書いてみたのです。
本当はOperaとかMACのIEとかにも対応したいのですが、
そもそもGekkoエンジンのブラウザを判別するところでこけております。
どう書くと正解なのか教えてくださいませ。

987 名前:Name_Not_Found 投稿日:04/02/22 17:00 ID:???
>>986
JavaScript 使うのはあまり推奨できない。
「CSS 振り分け」辺りでググる。
あと、navigator.userAgent は詐称されると目も当てられないんで参照しないほうがイイ。

大雑把に書くとこんな感じ。

if(window.opera){
// Opera
}else if(document.all){
// IE4 +
}else if(document.getElementById){
 if(navigator.appVersion.indexOf("Safari")!=-1) // Safari
 else // Gecko(Mozilla | Netscape6+ | FireFox | FireBird | Phoenix | iCab)
}else if(document.layers){
// NN4
}

988 名前:Name_Not_Found 投稿日:04/02/22 17:03 ID:???

/* ----- 質問は新スレへどーぞ ------ */

http://pc2.2ch.net/test/read.cgi/hp/1077362343/l50

989 名前:986 投稿日:04/02/22 17:05 ID:???
>>987
どやされるかと冷や冷やしてましたが。。。ありがとう!
おすすめできないとのことなので、アドバイス頂いた方面も探してみます〜

990 名前: ◆km72p3DZJM 投稿日:04/02/23 09:52 ID:???
おはようございます!埋めます!

991 名前:Name_Not_Found 投稿日:04/02/23 12:12 ID:???
ume

992 名前:Name_Not_Found 投稿日:04/02/23 16:28 ID:???
UMEMATSUUUUuuUU

993 名前:Name_Not_Found 投稿日:04/02/23 16:41 ID:???
うまくねぇよ

994 名前:983 投稿日:04/02/23 18:58 ID:???
>>985
代入しなければ適用されなかったんですね。。
無事希望どおりの動作をしました。
回答ありがとうございました。

995 名前:Name_Not_Found 投稿日:04/02/24 01:11 ID:???
あごいうt04えうとぇ

996 名前:Name_Not_Found 投稿日:04/02/24 15:28 ID:???
新スレ
http://pc2.2ch.net/test/read.cgi/hp/1077362343/l50


997 名前:Name_Not_Found 投稿日:04/02/24 15:56 ID:???
このスレは997を超えました(ry

998 名前:Name_Not_Found 投稿日:04/02/24 16:19 ID:???
for(var i=1;i<=1000;i++)document.writeln(i+"ゲットォ!!<br>");

999 名前: ◆qA2/xiLGOc 投稿日:04/02/24 16:43 ID:???
TEST

1000 名前:Name_Not_Found 投稿日:04/02/24 16:45 ID:???
1000

1001 名前:1001 投稿日:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


戻る

偽Dat2HTML LO v1.0b13 Converted.
ナスカ無料ホームページ無料オンラインストレージ