+ JavaScript の質問用スレッド vol.63 +at HP
+ JavaScript の質問用スレッド vol.63 + - 暇つぶし2ch2:まず >>2-5 読め! 続いて過去スレ全集を検索!
08/02/28 21:30:39
【質問を書く上で】
1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。
 例: 別窓開きまくり、閉じる/戻るのを妨害、全画面占有、etcは最悪。
 答えさせようと「分からねえんだろ」と煽っても無駄(過去スレが証明)。
2)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。
 そのまま貼って動かせると試してもらいやすい(ただし回答者に連結さすな!)
 長い(1レスに入らない)場合はアップロードしてURIを貼る。
3)初心者という言葉は危険なので使わない方がよい。
 初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。
4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。
 ただ「動きません」「エラーです」は何も情報がないため嫌われる。
 エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。
 ブラウザの設定すらできんヤシはFFxのJavaScriptコンソールを使え!!!
 OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。
5)特に古いバージョン限定の時は必ず明記! 回答もチグハグになり回答者に2度
 手間を食わせる可能性大(現行Ver.:IE5.5-6、N6-7、Opera7-8)
6)どういう時にどういう動作をさせたいのかを脳内にとどめずきちんと書く。
 例:「自動ポップアップしたい」←どういう場合(マウスオーバー、クリック、
 ボタン押し、select選択)に何(別窓、レイヤー、その他)が出るのか書け!
7)質問はまっとうな(他人に理解できる)日本語で。
 前項の例に限らず、他人に理解できない質問文は煽られるだけで時間の無駄

3:まず >>2-5 読め! 続いて過去スレ全集を検索!
08/02/28 21:31:19
【FAQその1】
Q1. 開いた別窓/フレームの内容にアクセスできないのですが…
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
Q2. JavaScriptでローカルファイルを読み/書きたいのですが…
A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに…
Q3. 同じタグの中でonclick="foo()"とonclick="bar()"を同時に使いたいのですが…
A3. セミコロンで複数の文を区切れます。onclick="foo();bar();"としましょう。
Q4. document.write(...)でページ内容を追加したいのですが…
A4. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。
 部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、
 (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。
 innerHTMLは非標準ですがIE、Opera、Safari、Gecko(N6/N7/Firefox等)で対応済。
Q5. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが…
A5. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるか
 <div><table>...</table></div>とでもしてdivのinnerHTMLを書き換えましょう。
Q6. DOMでtable要素にtr要素を追加しても表示されないのですが…
A6. DOMでは(XHTML 1.x除く)tbody要素にtr要素を追加する必要があります。
 tbody要素はtbodyタグを書いていなくても自動的に作成されます。
 またはtable.insertRow()/tbody.insertRow()を使いましょう。
Q7. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが…
A7. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。
Q8. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A8. 「document.forms.myform.elements[変数名].value」でどぞ。
 JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。

4:まず >>2-5 読め! 続いて過去スレ全集を検索!
08/02/28 21:32:04
【FAQその2】
Q9. Aタグのonclickで動作指定してるのですが時々動きません…
A9. 「onclick="...;return false"」としないとページ移動しちゃうから。
Q10. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A10. 取得には document.defaultView.getComputedStyle() を使う必要あり。
Q11. 100*1.15の結果が114.999…998となってしまうのですが…
A11. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。
Q12. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが…
A12. IE7/Gecko/Opera/Safariのnew XMLHttpRequest()、IEの
 new ActiveXObject("Msxml2.XMLHTTP.6.0") (または"Msxml2.XMLHTTP.3.0")
 を使えばできます。古いブラウザだと隠しフレームに読むなどのワザが必要。
Q13. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
A13. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。
 複数の関数を呼びたいときは obj.onclick=function(){foo();bar();};
 という風に無名関数を作りましょう。中に書かれたコードが実行されます。
Q14. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
 「"...this..."」とか「function(){...this...}」ではうまく行きません。
A14. それらが実行されるときはthisは別のもの(window等)を指してしまってる。
 「function(x){return function(){...x...};}(this)」のようにthisを別の変数に
 束縛しその変数を使って。循環参照によるメモリリーク問題あり(この項記述検討中)
Q15. 文字列の置き換えをするときにコードを使いたい(Perlのs///e)のですが…
A15. string.replace(/.../,function(str,p1,p2,...,offset,s){...})としましょう。
 正規表現にマッチした文字列がreturnで返された文字列に置き換えられます。
 各引数はstrがマッチした部分文字列、p1,p2,...が1番目、2番目、…の()の中身、
 offsetがマッチした位置、sが置き換え前の文字列全体になります。

5:まず >>2-5 読め! 続いて過去スレ全集を検索!
08/02/28 21:32:56
【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】
・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも
 仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。
・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、
 なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。
・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと
 は無視」は不毛。質問者が分かって選択していれば尊重する。無知か
 らIE専なのは指摘してあげると親切。
・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される
 可能性大。非標準機能も損得を分かった上で使うならよい。
・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、
 そこだけ見ているとIE専になる。あとは上2件と同様。
・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当
 な理由があることも。尋ねて分かってないようなら煽っても可(w
・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選
 択するべき。一概にどちらは駄目、とは言えない。
・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性
 で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。

6:まず >>2-5 読め! 続いて過去スレ全集を検索!
08/02/28 21:33:46
【標準規格・リファレンス】
規格を読まずにどうなってるか分からんとか質問しないこと!
まとめサイト
URLリンク(web2ch.s31.xrea.com) (消失中)
ECMA-262 ed.3
URLリンク(www.ecma-international.org)
URLリンク(www2u.biglobe.ne.jp) (和訳)
W3C Document Object Model Technical Reports
URLリンク(www.w3.org)
JavaScript 1.5 ガイド / リファレンス (Netscape/Mozilla)
URLリンク(developer.mozilla.org) (和訳)
URLリンク(developer.mozilla.org)
URLリンク(developer.mozilla.org) (和訳)
E4X (ECMAScript for XML)
URLリンク(www.ecma-international.org)
URLリンク(www.ne.jp) (和訳)
Mozilla Gecko DOM Reference, Netscape devedge
URLリンク(developer.mozilla.org)
URLリンク(developer.mozilla.org) (和訳)
URLリンク(devedge-temp.mozilla.org)
MSDN Library JScript / DHTML (現在日本語版は古杉)
URLリンク(www.microsoft.com)
URLリンク(msdn2.microsoft.com)

7:Name_Not_Found
08/02/28 21:40:18
【チュートリアルサイト・サンプルサイト】
規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。
(とほほは間違いが多いためこのスレでは批判的意見が多い)
(以下は精選すべきとの議論あるが進んでいないので玉石混淆)
MetaGraphic Cell
URLリンク(www2u.biglobe.ne.jp)
どら猫本舗のリファレンスカウンター
URLリンク(www.doraneko.org)
はぎさんちのページ Mozilla's DOM Sample Project
URLリンク(cgi.din.or.jp)
オブジェクトなJSの基礎講座
URLリンク(chaichan.web.infoseek.co.jp)
【検索】
キーワード『…』で検索しろ」「ぐぐれ」と言われた場合はこちらへ
URLリンク(www.google.co.jp)
【関連スレ】
板違い、スレ違いに注意!サーバ側での処理はWebProg板へどぞ!
Webサイト制作初心者用質問スレ Part 194
スレリンク(hp板)l50
CSS /* CSS・スタイルシート質問スレ 上級者用【70th】 */
スレリンク(hp板)l50
CSS/DHTMLバグ辞典スレッド 【第5版】
スレリンク(hp板)l50
役に立つ書籍は? 4冊目
スレリンク(hp板)l50

8:Name_Not_Found
08/02/28 23:17:14
ただの足し算なんですが、20を020と書くと、17と解釈されることがあるようです。
これだけじゃ分からないと思いますが、何か典型的な原因とかありませんか?


9:Name_Not_Found
08/02/28 23:23:34
>>8
頭に 0 がつくと8進数

10:Name_Not_Found
08/02/28 23:29:47 OvKZec6y
Mozilla の言ってる JavaScript 1.6 って ECMA 仕様のどれに相当していますか?
Java の Script API で Rhino 1.6 がバンドルされてるけどどの仕様なのやら。

11:Name_Not_Found
08/02/28 23:30:20
そうだったのですか・・・。
実は、データの桁数揃えのため頭に0を付けてるのですが
これは全部8進数になってかもしれないのですね。
8進数にならないように桁数を揃えたい場合はどうすればいいでしょうか?

12:10
08/02/28 23:50:04
ECMA-357 ECMAScript for XML (E4X) でした。

13:Name_Not_Found
08/02/28 23:55:38
>>11
要なときだけ 10 進で計算して
また zero padding する

14:Name_Not_Found
08/02/29 00:04:26
parseInt() の第二引数に基数指定できんじゃん。
parseInt("010", 10) → 10

15:8
08/02/29 00:37:36
var food = new Array(2000);
food[0001]=new Array("うまい棒      ",00020);
food[0010]=new Array("おにぎり      ",00100);
food[0500]=new Array("高級品       ",08000);

ええっと・・・こういう配列を、セレクトメニューに読み込み
配列の中にある数値で足し算を行っているのです。
どうもメニューに読み込む段階から、順番が変わることがあっておかしいとは思ってたのですが
上のように桁数を揃えた状態のまま8進数化を防ぐにはどうすればいいのでしょう?


16:Name_Not_Found
08/02/29 00:44:50
food[parseInt(0001, 10)]=new Array("うまい棒      ",parseInt(00020, 10));

出力の段でやる方がまともだと思うけど

17:Name_Not_Found
08/02/29 01:24:25
>>16
数値リテラルで 00020 と書いた時点でそれはもう 10 進数でいう 16 だから
"00020" じゃないと。

18:Name_Not_Found
08/02/29 01:55:42
前スレうめてから使えよ糞ども。

19:Name_Not_Found
08/02/29 09:41:14
コンボボックスの先頭に値を挿入したいのですがどうしたらいいでしょうか?

document.form.combobox.options[0] = new Option("hoge", "hoge");

ですと上書きになってしまいます。
よろしくお願いいたします。

20:8
08/02/29 11:51:41
ありがとうございました。
どうしようもなさそうなので、桁揃えは諦めて、0を削除することにします。

21:Name_Not_Found
08/02/29 12:22:25
どうしようもなくないだろ。
どの段階で桁揃えしたいのかわからんが
データだけなら>>17のように文字列で計算のとき>>14
出力のときなら String(100000 + 価格).slice(1)

22:Name_Not_Found
08/02/29 12:24:12
>>19
DOMでoption要素を「挿入」すりゃいいんじゃないの。
あとは勉強すれ。

23:Name_Not_Found
08/02/29 12:29:22
データで桁揃えしたいならこれでいいんじゃないかw

var food = new Array(2000);
food[   1]=new Array("うまい棒      ",   20);
food[  10]=new Array("おにぎり      ",  100);
food[ 500]=new Array("高級品       ", 8000);

24:8
08/02/29 12:40:06
できればデータで桁揃えしたいのです。
例では名前のあとにデータが一個しかありませんが、実際には数個あるので
parseInt(08000, 10)などとすると、データが見づらく長くなってしまいそうです。

>>23のような方法ならいけるのでしょうか?
というか名前は既にそのような状態になっていますが・・。

25:Name_Not_Found
08/02/29 13:03:55
>>24
JavaScriptの中に書き込む程度のデータ量だったら、データ1個をつの
文字列で持つのがいいんじゃないだろうか。
var data = [
"うまい棒 00200 01000 11000",
"おにぎり 00150 02300 09000",
...];
それで、これをsplit(/ +/)で切り分けて数値はparseInt(..., 10)
で数値化すると。まあたとえばだけどね。

26:Name_Not_Found
08/02/29 13:16:58
FireFoxだとonMouseOutやonDragとかが正常に動作しないんだが。
IEだとちゃんと動くのになんでだろ。

27:8
08/02/29 13:18:35
>>25
Data.js、などとファイルを作成し、そこに上のような配列だけが入っています。
まだ大量とはまではいってないと思いますが、データはどんどん追加して以降と思っています。

指摘されて気づきましたが、この方法ってどうなんでしょう。
いやその場合はこうしろとか、それでやるとそのうち詰むぞ、とかいうことはありますか?

28:Name_Not_Found
08/02/29 13:40:16
>>27
データの個数が数千くらいまでならそれでもいいのでは。
それを越えたらやめた方がいい。使いもしないデータ全部
抱えさせてユーザを待たせるというのはちょっとね。

29:Name_Not_Found
08/02/29 16:40:56
>データの個数が数千くらいまでならそれでもいいのでは。

勘弁してよ。画像やフラッシュ流し込まれて辟易してるのに、
そんなもん数千単位でおれ様のPCに記憶させられちゃ堪らん。

30:Name_Not_Found
08/02/29 16:49:43
>>29
数千個のデータ×1データ20バイトくらい→100Kバイトくらい。
そんなのヘでもないぞ。画像や動画や音と一緒にすな。

31:Name_Not_Found
08/02/29 17:56:48
100Kバイトだけじゃないから


32:Name_Not_Found
08/02/29 18:08:38
100Kが数百Kだっておんなじだよ。無駄なデータは抱えないように
まっとうに作れば、それより多くなるとは思えないね。

33:Name_Not_Found
08/02/29 18:49:54
実験プログラム作ってみた。データ5000件について2Mくらい
メモリを消費している感じ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var a;
function test() {
var n = parseInt(document.getElementById('t0').value); a = [];
if(isNaN(n)) return;
for(var i = 0; i < n; ++i) {
var r = Math.random();
a.push([String(r), Math.floor(r*10), Math.floor(r*100),
Math.floor(r*1000), Math.floor(r*100000), Math.floor(r*1000000)]);
}
alert(a.length);
}
</script>
</head><body>
<div><input id="t0" type="text" value="5000">
<button onclick="test()">TEST</button></div>
</body></html>

34:Name_Not_Found
08/02/29 19:20:25
配列をサイズ確保せずに、pushで常に配列のサイズを弄ってたら余分なメモリ喰うでしょ
>>8は静的に配列を作るというのに、動的に配列を作って実験とは……

35:Name_Not_Found
08/02/29 19:22:48
>データ5000件について2Mくらい
やっぱ喰ってるじゃん。だからヤなんだよ。
ありがと、ホレ氏。

36:Name_Not_Found
08/02/29 19:37:37
問題はメモリーじゃないだろ。転送量だろ。アホか。

37:Name_Not_Found
08/02/29 20:15:01
いずれにしてもそんな実装は見直すべき

38:Name_Not_Found
08/02/29 21:13:15
>>37
10件なら多いにアリでしょ。100件でも。いくつまでなら
いいかという程度問題なわけ。元質問者が何件やろうと
してるのかもまだ回答されてないしね。
>>34
ちょっと直してみたけど変わらなかったよ。
var n = parseInt(document.getElementById('t0').value); if(isNaN(n)) return;
a = new Array(n);
for(var i = 0; i < n; ++i) {
var r = Math.random();
a[i] = [String(r), Math.floor(r*10), Math.floor(r*100),
Math.floor(r*1000), Math.floor(r*100000), Math.floor(r*1000000)];

39:Name_Not_Found
08/03/01 00:49:37 XHbVjjkE
外部JavaScriptで

window.onresize = 関数;

関数 { window.alert(test); }

としたところ、ブラウザのサイズを変更する度2回アラートが表示されてしまいます。
何故2回実行されるのでしょうか?

40:Name_Not_Found
08/03/01 01:36:15
どうしてもわからなかったので質問させてください。

prototype.jsを使用して、特定のhtml部分を書き換えた後、
その部分にjqueryのaccessible-news-sliderを適用させたいのですが、
上手く行きません。

accessible-news-sliderを作動させるためには下記のコードを記述する必要があり、

j$(function() {
j$(".demo").accessNews({
newsHeadline: "",
newsSpeed: "normal"
});
});

このコードが書き換えられたhtml部分に適用されていないために、
動作しないようなのですが。


書き換えたhtml部分に、上記のコードを当てるにはどうすればいいのでしょうか?


41:Name_Not_Found
08/03/01 04:11:19
>>40
書き換えたものにclass="demo"は?

42:Name_Not_Found
08/03/01 04:53:17
>>41
レスありがとうございます。
書き換えた部分にも.demoはあります。

結局.demoよりももっと内にある要素を書き換えることで対応しました。なんだかもやもやするし、動作も微妙におかしい気もしますが・・・。




43:Name_Not_Found
08/03/01 05:06:14
ちなみにソースも載せておきますと、下の<div id="hogeblock">の中身を書き換えて、
accessible-news-sliderを適用させようとしていました。
しかし上手くいかないので<div class="container fl">の中身だけ書き換えて対応しました。
あまり納得いきません・・・
<div id="hogeblock">
<div class="hogetop"><h2>ほげほげ</h2></div>

<div class="hogecontents">
<div class="news_slider demo">
<a href="#" class="prev"><img src="image/prev.gif" title="Previous" env="images"></a>
<a href="#" class="next"><img src="image/next.gif" title="Next" env="images"></a>
<div class="news_items">
<div class="container fl">
<div class="item fl">
<div><hogehoge></hoge></div>
<div><hogehoge></hoge></div>
</div>
<div class="item fl">
<div><hogehoge></hoge></div>
<div><hogehoge></hoge></div>
</div>
</div>
</div>
</div>
</div>

44:Name_Not_Found
08/03/01 05:42:35
>>43
>>41の意味わかってないやろ?

45:8
08/03/01 10:50:59
8です。
データ量は最大1000、実際には200以内で収まると思っています。
重さや転送量については、入る前に、あぁここはそういうページだ、というのが明らかに分かるので問題はないと思います。
桁揃えは>>23でやってみます。

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

46:Name_Not_Found
08/03/01 16:04:08
string型で格納して、数値処理するときに10進数扱いでintegerにキャストすればいいだけじゃないの?


<script>

var array = new Array();
array["010"] = new Array("mentai", "128", "2000");
array["020"] = new Array("pizza" , "256", "2000");

//こんな感じで格納されている
for(i in array){

alert(i + " / " + array[i]);
}

//stringとして合算される
alert(array["010"][1] + array["020"][1]);

//integerとして合算される
alert(parseInt(array["010"][1], 10) + parseInt(array["020"][1], 10));

</script>

47:Name_Not_Found
08/03/01 16:26:14
だからそうじゃないんだよw
8の馬鹿はソースを見たときにデータの桁が揃ってるようにしたいだけ。
半角スペースで勝手に揃えとけっつう話。

48:Name_Not_Found
08/03/01 16:53:11
そうそう。見た目の話レヴェルなの。そもそもJavaScriptとは関係ない話。
乙涸れ。

49:Name_Not_Found
08/03/01 21:02:23
>>47
だから>>46はキーをstringにって言ってるんじゃ?
そうすると8の馬鹿のやりたいことができるかと。

50:Name_Not_Found
08/03/01 21:10:23
たぶん、だけど。おそらく8の馬鹿はquotdationが気に入らないんじゃと
思われ。そういうジャマなものつけるくらいなら見た目重視はないだろ。

51:Name_Not_Found
08/03/01 22:08:40
だからその辺も含めて設計から見直すべきだと

52:Name_Not_Found
08/03/02 14:32:25
URLから特定の範囲の文字列を抜き出すのはどうすればいいでしょうか?
URLリンク(www.hogehoge.com)
このようなURLの「XYXXXXXXXX」の部分だけ取り出したいです。
Xは0-9A-Za-z、Yは0-9です

今は
document.location.href.match(/hoge.[0-9]......../);
で無理やり対応させています。
Xの文字数が増えるとダメになるので改善方法など教えてください。
初心者の変な質問ですけど、誰かよろしくお願いします。

53:Name_Not_Found
08/03/02 15:25:30
document.location.href.match(/hoge([\da-zA-Z]\d[\da-zA-Z]+)/);

つか正規表現スレでも行ったほうがいいんでね?

54:Name_Not_Found
08/03/02 15:27:11
>52
+

55:Name_Not_Found
08/03/02 15:59:27
>53
つかフラグ使った方が綺麗だよ

56:Name_Not_Found
08/03/02 16:21:07
>>52
location.pathname.slice("hoge".length+1) くらいですむような

57:Name_Not_Found
08/03/02 17:10:34
すまんだろ

58:Name_Not_Found
08/03/02 17:16:38
なんで?

59:Name_Not_Found
08/03/02 18:19:47
>>53-56
ありがとうございます!即レス本当に感謝です><

正規表現スレで聞けばよかったかも知れないですけど、ここで教えてもらえたので助かりました
皆さんすごいです。JS使いこなせるように頑張ります
>>58
hogehoge.comがあるからじゃないかと思いますけど・・・違うかもしれません

本当にありがとうございましたっ!

60:Name_Not_Found
08/03/02 18:49:17
>>59
location.href == "URLリンク(www.hogehoge.com)"
だったら
location.pathname == "/hogeXYXXXXXXXX"
だから
location.pathname.slice(5) == "XYXXXXXXXX"
だよ


61:Name_Not_Found
08/03/02 19:40:42 QhBO2eJf
IEで innerHTML で空の<div>を入れると1行分空いてしまいます。
ですが、htmlに直書きすると問題ありません。appendChildの場合も大丈夫で、
ダメなのは innerHTML の場合だけのようです。

innerHTMLでも大丈夫にしたいのですが、どのようにしたらよいのでしょうか?

--------------------------------------------------------
<div id="d1"></div> (innerHTML)<hr />
<div id="d2">a<div></div></div> (html直書き)<hr />
<div id="d3"></div> (appendChild)<hr />

<script>
document.getElementById('d1').innerHTML = 'a<div></div>';
document.getElementById('d3').appendChild(document.createTextNode('a'));
document.getElementById('d3').appendChild(document.createElement('div'));
</script>
--------------------------------------------------------


62:Name_Not_Found
08/03/03 03:24:23
img1 = new Image(); img1.src = "image/imageone.gif";
img2 = new Image(); img2.src = "image/imageone2.gif";



こんな感じで画像の先読みをさせているんですが、
もっと良い方法ってないでしょうか?

63:Name_Not_Found
08/03/03 03:58:21
リサイズ、スクロール、ドラッグ可能な疑似WINDOWのスクリプトで
お勧めのものがあったら教えてください!

64:Name_Not_Found
08/03/03 08:06:47
>>62
「もっと良い」という言葉の定義によるな。たとえば「長い方が良い」
のならあんたがやってる方法がいちばんいいと思うけど(w

65:Name_Not_Found
08/03/03 09:23:04
eclipseでバリデーター付きのエディター無いかな?構文ミスで上手く実行されないと
鬱になる。

66:Name_Not_Found
08/03/03 09:46:08
>>64
じゃあ一番早く先読みできる方法で。

67:Name_Not_Found
08/03/03 10:56:55
>>66
それならどうやっても同じだから今のアンタの方法でおk

68:Name_Not_Found
08/03/03 12:17:20
Image コンストラクタって廃止されるんじゃなかったっけ

69:Name_Not_Found
08/03/03 13:24:09
ブロードバンド時代だし要らないね

70:Name_Not_Found
08/03/03 18:08:48
画像を投稿する処理を作っているのですがわからない箇所があるのでご教示いただけますでしょうか。

window.onclick = function() {
 document.getElementById("hoge").onclick = function() {
  window.open("hoge.php?id=hoge","hoge","width=400,height=400");
 }
}
フォームがクリックされた際、ウィンドウ2を作成

ウインドウ2のフォーム(id=hoge2)が押された場合、ウインドウ2を閉じてウインドウ1のテキストフォーム(text1)にPHPからの返り値をいれたいのですがご教示お願いできますでしょうか?
感覚としてははてなダイアリーの画像投稿に近いです。

71:Name_Not_Found
08/03/03 18:25:35
>>70
両方とも同じ鯖なのね?でないと絶対に不可能だからね。
で、PHPの帰り値というのは窓2のフォームから送られた
データを受け取って処理したその結果ということね?
だったら、窓2のフォーム返送時に返すページのonloadハンドラに

window.opener.document.forms.フォーム名.elements.部品名.value = 入れる値;
window.close();

とか入れておけばいいんじゃないかなー。試してないけど。


72:Name_Not_Found
08/03/03 19:32:12
>>71さん
ありがとうございます。
同じ鯖です。
以下のような感じで実行してみたのですがうまく作動しません。
入れる値にはなにを設定すればいいのでしょうか?

/*=========html===========*/
<form action="{$smarty.server.PHP_SELF}" method="post" name="imgForm">
<input type="file" name="image">
<input type="button" id="hoge2" value="投稿">
</form>
/*=========js===========*/
window.onload = function() {
 getElementByid("hoge2").onclick = function() {
  window.opener.document.forms.imgForm.elements.hoge2.value = ???;
 }
}

73:Name_Not_Found
08/03/03 21:43:20
>>72
あのさあ、何を入れたいかはあんたしか知らないと思うんだが。
PHPで処理した結果を入れたいのかと洩れは思ったんだが、違うのね?

PHPで処理した結果を入れる場合、(1)フォームを含んだHTMLを生成する、
(2)フォームのデータを受け取り処理して結果を返す、の2つの処理の
どちらなのかPHPの処理内部できっちり枝分かれして処理する必要がある
んだが、それが分からないのなら洩れがここで説明しても無理じゃね?

74:Name_Not_Found
08/03/03 22:11:11
>>72
必要な情報を小出しにするカスはもう来るなってことや

75:72
08/03/03 22:49:21
>>73さん
JSを始めたてなので変な質問しています、すみません。

>>74
70で書いたことですべてです。

76:Name_Not_Found
08/03/03 23:03:32 q04Y5nv0
document.getElementById('id_name').innerHTML = var_var;
というコードで、id_nameのタグに設定しているのですが、
id_nameを設定してあるタグの下に無いと動作しません。

headタグ内にコードを書いて、id_nameを操作することはできませんか?

77:Name_Not_Found
08/03/03 23:04:35
>>76
onload

78:Name_Not_Found
08/03/04 00:50:05
>>70 で書いたことが全てでそれ以上説明しないっていうのなら
それ以上どうにもならないだけだね。あほらし。
>>1 にこう書いてあるよな。
「初心者です」を振りかざさず、質問を分かる日本語で説明できる者


79:Name_Not_Found
08/03/04 00:57:28 EF7Nr+yK
aspに組み込みたいのですがaからzの文字比較のやり方を教えてください

80:70
08/03/04 00:57:37
あほらし

81:Name_Not_Found
08/03/04 01:16:22
>>79
if(ch >= 'a' && ch <= 'z) ...
とかかな?

82:Name_Not_Found
08/03/04 02:16:46
>>78
小出しにしてないです、といいたかったのです。
72に関しては71さんに教えていただいたソースの意味を勘違いしてました。orz...
失礼がありましたら申し訳ないです。


自分なりに試してみましたが、もう一度だけお願いいたします。
以下のような感じでウインドウ2を閉じて(<script>~</script>で)ウインドウ1のTEXTAREAに1.gifをいれたいのですが閉じないし値がはいってくれません。

/* ウインドウ2---------------------
<html>
<body>
<script type="text/javascript"><!--
window.opener.document.forms.mainForm.elements.text.value = "1.gif";
window.close();
--></script>
</body>
</html>

/* ウインドウ1---------------------
<form action="" id="mainForm">
<textarea name="text" id="text"></textarea>
</form>

環境はFirefox2、Operaで確認しました。

83:Name_Not_Found
08/03/04 02:49:18
>>82
基本がめちゃくちゃ

一歩進んだところでまたつまずくのが目に見えるから
もう一度基礎から勉強してきたほうがいいと思うよ。マジで。

84:Name_Not_Found
08/03/04 07:32:35
はじめまして、javascript+DOMについてお願いします。
id指定で素早く子ノードを探す方法を考えています。
HTMLのタグの状況はこのような感じです。
<body>
<form id="form1">
<div id="div1">
<table>
<tr>
<td>
<input id="amount" />
<div id="div2">
<input id="amount" />←★id=amountがdocument内に複数混在
</div>

ポイントは
1:<div id="div?">の配下に必ず取得したい<input id="amount">があること。
2:しかし、その<input>は、必ずしも<div>の子ノードではない。(孫ノードや、もっと深いかもしれない)
3:id="amount"と同じidを複数のエレメントで使うのは×ですが、使いたいのです。。。

85:Name_Not_Found
08/03/04 07:33:22
この状態で、id="amount"になっている要素をピンポイントで取得したいのですが、
document.getElementByID(amount)でid='amount'とすると、当然ですがうまく取得できません。

そこで次の方法を考えました。
最初にid=div1のdiv要素を取得し、
mydiv=document.getElementById('div1');
mydiv.getElementById('amount');
としたところ動きません。(エレメントのメソッドにgetElementByIdが無い)

よって、現在では
mydiv=document.getElementById('div1');
としたあと、
hoge=mydiv.getElementByTagName('INPUT');
として、hogeの配列をループで回し、hoge[i].id=amountで取得しています。
しかし、これではあまり効率が良いとは思えません。

現在の状況より効率よくinput要素を取得できる方法を探しています。
prototype.jsとYUIは入れているのですが、今のところ使っていません。
これらのパッケージにそのような機能があれば教えていただければ幸いです。
よろしくお願いいたします。

86:Name_Not_Found
08/03/04 08:29:17
>>82
それじゃ窓を開いたとたんに閉じることになるよな。あんたは
窓が開いたとたんに閉じて欲しいのか? ユーザが何かボタンを
押したとたんに閉じて欲しいのか? ボタンを押したらPHPに
データが渡されて、それが終わったら閉じて欲しいのか?
それとも別の時点で閉じて欲しいのか? 親窓に渡されるファイル
名はいつも固定なのか? ユーザが入力するのか? PHPが生成する
のか? 自分がアドバイスに必要な情報を全然ちゃんと書いてない
ことを思い知れ。はっきり言ってここで質問するレベルになるまで
勉強してから出直せという感じ。

87:Name_Not_Found
08/03/04 08:32:29
>>84
getElementById('ID名')で直接取ればいいだろ。
1つのドキュメントには同じIDの要素が2個以上あることはない
(あってはならない)んだからさ。validでないHTMLを書いてる
のならそんなもんJavaScriptで操作しようたって何が起きるか
分からんからやめた方がいいし、洩れたちもそんなものの
アドバイスはできないからそのつもりで。

88:70
08/03/04 11:12:49
多くのご助言いただきまして大変ありがとうございますm(__)m

>>83さん
基礎的なことから学べる本を買いたいと思います。
いきなりテクニック本を買ったのが間違いでしたorz...

>>86さん
きちんとした情報を書かないですみません。
82でかいたものは画像の登録処理が終わった段階で表示するHMTLになります。
つまりウインドウ2を閉じてウインドウ1のid=textに「1.gif」と追記すれば完成です。

89:Name_Not_Found
08/03/04 14:41:02
>>88
まだ言い方がおかしいってば。確認すると、事象が次の順番で起こる
と理解してよろしいのね?

子窓を開く→PHPが子窓の内容を生成→子窓の内容が表示される→
ユーザが子窓で画像を指定して送信→送信内容をPHPが処理して
結果ページを生成→その結果ページのonloadハンドラで親窓の
テキスト入力欄にファイル名を書き込む→子窓を閉じる

「閉じてしまったら」もうそのページのJavaScriptは動作できない
ので、閉じる前に実行する必要があることと、PHPの動作が2回ある
がその2回目にだけ、テキスト入力欄に書き込むコードを含める
必要があるということがポイントだね。で、どう思う?洩れには
あんたの実力では難しすぎるんじゃないかと思うんだが。

90:70
08/03/04 15:40:06
>>89さん
ご丁寧にありがとうございます。
でもこれだけやりきりたいと思います。(生意気なこといってすみません...)

>onload
テクニック本に書いてありました。。。こういうときに使うんですね^^;勉強になります

<script type="text/javascript"><!--
window.onload = function() {
window.close();
}
window.onunload = function() {
window.opener.document.forms.mainForm.elements.text.value = "{$num}.gif"; // 1.gifなど
}--></script>
<body>

こんな感じで書いてみましたがやっぱり閉じてくれないし追記もされませんでした。
入門から目を通してみます
ありがとうございます

91:Name_Not_Found
08/03/04 16:39:02
いつの日かあなたがこれらを理解し
自分がどのような質問をしていたのか
悔い改められることを願います。

92:Name_Not_Found
08/03/04 17:17:22
少なくとも onload が来ないのはこれが原因

}--></script>

93:Name_Not_Found
08/03/04 17:22:04
>>90
>テクニック本に書いてありました

ホントかよ。そんな本はゴミに出せ。

94:Name_Not_Found
08/03/04 17:56:39
>>90
まず、JavaScriptエラーが直せないとどうにもならん。
エラーアイコン(黄色い三角)が出たらそこをクリックして
表示し、エラー内容を見て直す。それすら出来ないなら
それこそとっとと帰れだ。

そして、イベントの順序が >>89 とは違うのね?言っとくが
ユーザが<input type="file">で選択した内容はJavaScript
からは取れないから一度PHPを経由する必要があるが、そういう
ことはしないのね?

95:Name_Not_Found
08/03/04 18:15:35
そもそも>>7のチュートリアルサイトが糞。

96:Name_Not_Found
08/03/04 18:29:17
>>95
よいチュートリアルサイト、収集したいね。どこがいい?

97:Name_Not_Found
08/03/04 20:27:39
<input type="file">で取得したパスを<textarea>に入れるって処理が謎過ぎだよな。
自分のファイル保管場所をコメント加えて晒すだけの掲示板でも作るんだろうか?

絶対何か勘違いしてそう。

98:Name_Not_Found
08/03/04 20:54:39
アップロードしたファイルを元のウィンドウで取得したいんだと思うが
サーバ側も何とかしないとできないわな

99:70
08/03/04 21:03:06
たくさんのコメントありがとうございます。
>>91さん
相当ひどい質問なんですねorz...
精進します。

やりたいことは以下です

作りたいものメモ帳ツール

1.「画像を投稿」ボタンをおすと小窓が開く(JS)

2.小窓から画像を参照してアップする(HTML)

3.画像がアップできたら画像番号を返す(PHP)

4.画像番号を含んだ値を(1.gif)を返して小窓を閉じる(JS)

5.メモ帳ツールのテキストフォームに4の値を追記する

今、3まではできてます。
PHP側の処理は問題ないので無視していただいて大丈夫です。
4ができないのです。
ちなみに4で返す値は正確には$im:1.gif$という値でPHP側で画像タグに置き換える予定です。
イメージとしてははてなダイアリーと同じだと思います。(はてなよりしょぼいですが)


これ以上聞いても迷惑になるので自分で調べようと思います。

100:Name_Not_Found
08/03/04 21:16:48
>>99
type="file" の値を読み取れるかどうかはブラウザ次第
というかできないと考えた方がいい

101:Name_Not_Found
08/03/04 21:36:37
>>100
はあ?読めないブラウザを紹介してくれw

102:Name_Not_Found
08/03/04 21:37:48
>>99
あたりまえだが、あっさりできたぞ、ノーエラーでw
悩むおまえがわけわからんよ。

103:70
08/03/04 22:19:11
>>100さん
もう我慢できないんで言わせてもらいます。
読解力なさすぎじゃないですか?

type="file"がどうたらなんて一切言ってませんよ

画像をPHPでアップしてその返り値(数値です!)+拡張子をJSに渡してその値をJSが処理するんです。
もう自分でやりますから

104:Name_Not_Found
08/03/04 22:28:25
都道府県地図の画像を<area>別に分けてさ、
どこかの県をクリックしたらその県の色が変わるようにしたいんだけど、
どうすればいいのかな?

105:Name_Not_Found
08/03/04 22:29:00
これは70に同情
読解力ないやつはこのスレというか2chくんな

でも99は簡単だからはじめから自分でやれ

106:Name_Not_Found
08/03/04 22:35:45
適当な質問して
逆ギレして終わりか
芸がないな

それにしても
最近このスレうまく機能してないよな

107:Name_Not_Found
08/03/04 23:03:07
いやいや、ろくな質問しない奴は逆ギレさせて正解でしょ。
ぜんぜん無問題。

108:Name_Not_Found
08/03/04 23:08:15
>>99
ようやくまっとうな説明になったじゃん。それならよく分かる。
だから、最後に4でPHPから返送するページを次のようなものに
すればいいんじゃないの。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<head>
<title>?</title>
<script type="text/javascript">
function setvalue() {
window.opener.document.forms.フォーム名.elements.部品名.value
= '画像ファイル名';
setTimeout(function() { window.close(); }, 1000);
}
</script>
</head>
<body onload="setvalue()">
<p>wait...</p>
</body>
</html>

109:84-85
08/03/04 23:40:23 BIabKbHf
>> 87さん
確かに、同じIDを使うことが問題ですね…。
IDの後に数字を入れて書き直してきます。
ありがとうございました。

110:70
08/03/05 00:09:36
>>108
素人がいちいち出てくるなボケ

111:Name_Not_Found
08/03/05 00:14:04 uRs2TNuj
呼び出した関数の中でjavascriptのファイルをインクルードすることはできるのでしょうか?
やりたいことは、呼び出した関数の引数を関数内でインクルードするファイルに渡したいのです。

インクルードしたいjsファイルの中身は
if (id == 1) {
//使用する配列の定義がされている
}
if (id == 2) {
//使用する配列の定義がされている
}
のようになっています。

関数にわたされた引数をもとに関数内で使用する配列を特定したいんです。
関数内に配列を定義してしまえばいいんですが。。。
もしできるならどのようなやり方がありますでしょうか?

112:Name_Not_Found
08/03/05 00:19:06
108のやり方でできると思った自分も素人ですねorz

113:Name_Not_Found
08/03/05 00:39:01
どうなってんだ、いったい、ここは。

114:Name_Not_Found
08/03/05 01:14:52
Javascript無効 → ページ表示されtない
Javascript有効 → ページ表示される

と言ったことをしたいんですが、どうも上手くいかず
それらしきサンプルを置いてあるサイトありましたら教えていただけないでしょうか

一応参考にしたサイト
URLリンク(homepage2.nifty.com)

115:Name_Not_Found
08/03/05 01:15:16
もう春休みか

116:Name_Not_Found
08/03/05 01:20:49
やれやれ。一応動作を確認したけどね。
---- t1.html ----
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title></head><body>
<form name="f0" action="#" onsubmit="return false"><p>
<input type="text" name="t0"></p></form>
<p><button onclick="window.open('t1.php', '_blank')">TEST</button></p>
</body></html>
--- t1.php ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<?php
if(isset($_POST['data'])) { $v = $_POST['data'];
echo "<script type='text/javascript'>\n";
echo "function setval() {\n";
echo " window.opener.document.forms.f0.elements.t0.value = '$v'\n";
echo " window.close(); }\n";
echo "</script>\n";
echo "</head><body onload='setval()'><p>wait...</p></body></html>\n";
} else {
echo "</head><body><form method='post' action='#'><p>\n";
echo "<input type='text' name='data'><input type='submit'>\n";
echo "</p></form></body></html>\n";
}
?>

117:Name_Not_Found
08/03/05 01:46:14
>>114
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>?</title></head><body>
<script type="text/javascript">
documenet.write('<h1>test...<\/h1>'); ←こういう行を好きなだけ増やす
</script>
</body></html>

118:Name_Not_Found
08/03/05 02:46:25
ありがとうございます。使わせてもらいます。

119:Name_Not_Found
08/03/05 03:42:55
そんな無駄なことやらすなよ。
innerHTMLを使わせろ

120:Name_Not_Found
08/03/05 05:19:04
hoge=getElementsByTagName('IMG')
で取得し、画像を変更したいのですが、
全てのIMGにidが振ってあるわけでは無いため、
「'id'はNullまたはオブジェクトではありません」
とエラーが出ます。
googleなどで調べて、条件の部分を
if (typeof(hoge[i].id)!='undefined')や
if (eval(hoge[i].id)!='')など試してみましたが全滅です。
かれこれ3時間くらい悩んでいるのでお助けください。
for (i=0;i<hoge.length;i++){
if (hoge[i].id=='target_id') {
hoge[i].src="test.gif";
}
}

121:Name_Not_Found
08/03/05 06:05:30
じゃあ全てのIMGにidを振ればいんじゃね?

122:Name_Not_Found
08/03/05 08:02:13
try catchは試してみた?

123:Name_Not_Found
08/03/05 08:31:54
>>120
if(hoge[i].id && hoge[i].id == 'target_id')...

124:Name_Not_Found
08/03/05 08:46:12
>>111
ファイルを読み込む時に引数を渡す、という概念はないので、
通常はグローバル変数を1つ決めておいて、ファイルを呼び出す
側で使って欲しい配列をその変数に格納し、ファイルの中の
コードはその変数の値を使う、という形にする。

125:Name_Not_Found
08/03/05 08:49:03
sortとかreplaceに無名関数渡して
好みの処理をさせることができますが、
同じように無名関数渡していいのって
この二つ以外に何がありますか?


126:Name_Not_Found
08/03/05 08:57:32
>>125
自分でも作れるんだから無限にあるということになる気が
するけど、標準関数で関数を受け取れるものということに
なると他に何があったかな? 配列のmap?

ところで「無名関数渡し」と決める必要はないので、
名前のついた関数を渡しても全く同じに動作するよね。

127:76
08/03/05 09:00:08
>>77
どういうことでしょうか?
onloadでどうしたらいいか、教えて頂けませんか?

128:Name_Not_Found
08/03/05 09:10:53
シングルトンって何ですか?

129:Name_Not_Found
08/03/05 09:37:05
JavaScriptだと「オブジェクトを一個しか作っちゃダメ」って言うコーディング規約 > シングルトン

130:Name_Not_Found
08/03/05 09:46:40
>>129
なるほど。氷解。Thx!

131:Name_Not_Found
08/03/05 11:50:22
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "URLリンク(www.w3.org)">
<html xmlns="URLリンク(www.w3.org)">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無題ドキュメント</title>
<style type="text/css">
<!--
body {margin: 0px;padding: 0px;background-color: #CCCCCC;}
.div {margin: 0px;padding: 0px;}
#menu1 {padding: 0px;height: 500px;width: 100px;background-color: #EBEBEB;float: left;margin: 0px;}
#menu2 { padding: 0px;height: 500px;width: 100px;background-color: #EBEBEB;float: left;margin: 0px;}
#submenu1 {visibility: hidden;top: 20px;left: 0px;position: absolute;padding: 10px;background-color: #FFFFFF;
height: 50px;width: 50px;color: #E2DFD6;}
#submenu2 {visibility: hidden;top: 20px;left: 0px;position: absolute;padding: 10px;
background-color: #0000FF;height: 50px;width: 50px;}
a:link {font-size: 10pt;color: #0000CC;text-decoration: none;}
a:visited {font-size: 10pt;color: #0000CC;text-decoration: none;}
a:hover {font-size: 10pt;color: #FF0000;text-decoration: underline;}
-->
</style>
</head>


132:Name_Not_Found
08/03/05 11:51:04
<body>
<div id="menu1" onmouseover="subopen()" onmouseout="subclose()"> menu1
<div id="submenu1" onmouseover="subopen()" onmouseout="subclose()">
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
</div>
</div>
<div id="menu2" onmouseover="subopen2()" onmouseout="subclose2()">
menu2
<div id="submenu2" onmouseover="subopen2()" onmouseout="subclose2()">
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
</div>
</div>
<script language="JavaScript" type="text/javascript">
function subopen(){
var submenu1=document.getElementById("submenu1");
submenu1.style.visibility = 'visible';
var menu1=document.getElementById("menu1");
menu1.style.backgroundColor = 'white';
}
function subopen2(){
var submenu2=document.getElementById("submenu2");
submenu2.style.visibility = 'visible';}
function subclose(){
var submenu1=document.getElementById("submenu1");
submenu1.style.visibility = 'hidden';
var menu1=document.getElementById("menu1");
menu1.style.backgroundColor = '#EBEBEB';}
function subclose2(){
var submenu2=document.getElementById("submenu2");
submenu2.style.visibility = 'hidden';}
</script></body></html>

133:Name_Not_Found
08/03/05 11:53:10
>>131
>>132
これでIEだとちゃんと表示されるんですが、ファイアーフォックスだと上手くいきません。
なぜでしょうか?

134:Name_Not_Found
08/03/05 11:57:27
IEは6で、FFは2.0.0.12です。

135:Name_Not_Found
08/03/05 12:03:32
連投すいません。
ちゃんとした表示というのは、MENU1とMENU2にカーソルを合わせたときに表示される、
ポップアップの背景色のことです。

136:Name_Not_Found
08/03/05 12:16:59
はい次の人

137:Name_Not_Found
08/03/05 12:19:35
すいません。自己解決しました。
height: 50px;width: 50px ここでした。

138:Name_Not_Found
08/03/05 12:22:34
さんざ貼り付けといて、一体なんの騒ぎだ。

それにしても、「おばまん」ってエロ杉ない?

139:125
08/03/05 12:56:25
>>126
標準関数での話でした。
mapぐらいですか?

特別な理由のない限り無名関数を使う
というポリシーだったのでつい。

140:Name_Not_Found
08/03/05 13:16:33 IKwxgl8e
外部ファイルを動的にロードするにはどうすればいいですか?
できるだけ多くの環境で動作させたいです。

141:70
08/03/05 14:23:20
ここって雑魚のたまり場なんですね
全く参考にもなりませんでしたよ

もうすべて自分でやりますから

142:Name_Not_Found
08/03/05 15:06:27
         _,,riiiiilllllllllllllllllllllllllllllllllllllllliii、、
        ,;illlllllllllllllllllllllll|lllllllllllllllllllllllllllll|ミミ:、
        ,;illlllllllllllllllllllllllllll||lllllllllllllllllllllllllllllllllllllli:、
        ,イlllllllllllllllllllllllll|llllll!llllllllllllllllllllllllllllllllllllllllllli:、
      ;llllllllllllllllllllllllllllllll!lllll| llllllllllllllllllllllllllllllllllllllllllllllli:、
     ;llllllllllllllllllllllllllllllllll lllll! lllllllllllllllllllllllllllllllllllllllllllllllli:、
    ,:llllllllllllllllllllllllllllllllllll llllll! llllllllllllllllllllllllllllllllllllllllllllllllllll!
   ,illllllllllllllllllllllli'´llllllツ ll!lll! ヾ|lllllllllll癶llllllllllllllllllllllllllllllll
   ;illllllllllllllllツ"´  j! j! j! j!  j! ll! ll!  从llllllllllllllllllllllllll|
  illlllllllllllllllト=/ ̄ ̄ ̄``ヽ、 ' j! j! _ ヾllllllllllllllllllllヲ   もう 会えないんだ
  ,illlllllllllllllム' / ,,r=ョュ、、 ヾ==,r'´ ̄   ̄\ヾlllllllllllllタ
  llllllllllllllllllll (        _,! (   rョェュ、、 l=llllllllllllク  一人でがんばってね
 jllllllllllllllllllll  \   __,-'´   \       ! lllllllllllllll!
 illllllllllllllllllll    ̄ ̄  , '   j \_  _ノ ,イlllllllllllll|、   一人が似合いそうだし
 lllllllllllllllllllll!、         ー 、 _ , )     ̄   jlllllllllllllllllll
 !llllllllllllllllllllll、                   ,イlllllllllllllllllll!
 llllllllllllllllllllllllll、    ``ー---、、__       /lllllllllllllllllllllll
 Ⅵ!llllllllllllllllll℡、    ``ー一'"´     ,イllllllllllllllllllllllll!
  ``早lllllllll||l!㌢!\         _,イlllllllllllllllllllllll川'
  _/`゙`'"´   |  \       _/  |``マ7コllllll㌻´\
/           |    ``ー一'"´    |   `゙`"´     \

143:Name_Not_Found
08/03/05 15:13:00
CSSの動的切替えのスクリプトを探していたら↓のページ見つけました。
これを見ていたら今までLINK要素をいろいろいじったりやっていたのがばからしく思えてきたのですがこの方法のデメリットってあるんでしょうか?
あるとしたら、ブラウザ側で切り替えできないぐらいですけど・・・。
一応確認してみたところ、IE5~、NN6~、Firefox2、Safari3β、Opera8.54~で動きました。
コード依存がないからたいていどのブラウザでも動作するのがいいと思ったんですけどどなんでしょうかね?

URLリンク(www.openspc2.org)

144:Name_Not_Found
08/03/05 17:32:22
>>127
だからさ、<script>...</script>に書いたものはHTMLの読み込み
中にその位置で実行されるから、それより「先の方に」あるidとかは
まだ読み込まれていないので存在せず参照できない。これを避ける
には、HTMLを全部読み終わってから処理を行えばよい。たとえば
<body onload="init()">
のようにbodyタグのonloadハンドラを指定しておき、関数init()を
定義してその中で処理を行うようにする。

145:Name_Not_Found
08/03/05 17:57:05
function init1() {
alert("hogehoge");
処理・・・
}
こんな関数があったとして呼び出すときalert()する文字を指定したいのですがどうすればできるの?

下みたいな感じで
function init1( moji ) {
alert(moji);
処理・・・
}
<a href="#" onClick="init1(HOGE)">クリック!</a>

146:Name_Not_Found
08/03/05 18:18:22
onclick="init1('HOGE')"

147:Name_Not_Found
08/03/06 22:31:32
あのー、DOMでnodeValue使おうとするとnullになるんですが、
IEとnodeValueの相性が悪いとかってありますか?

148:Name_Not_Found
08/03/06 22:46:32
elementのnodeValueはnullを返す

149:Name_Not_Found
08/03/06 22:51:04
ieにかぎらずね

150:Name_Not_Found
08/03/06 22:52:10
textNode か AttributeNode じゃないと大体 null

151:147
08/03/06 23:09:19
>>148-150さん
そうだったんですか。ありがとうございます。

152:Name_Not_Found
08/03/07 07:42:32 g8FOxiFx
JavaScriptで以下のようにタグの内容を変更するにはどうすればいいでしょうか?
<INPUT type=checkbox name=custom4>
   ↓
<INPUT type=checkbox name=custom4 CHECKED>

IDをもたせたり、同等の効果を得られる方法がありましたら、教えてください。

153:Name_Not_Found
08/03/07 08:18:46
>>152
一般にDOMの勉強をしたらいいんじゃないの。すべて、
そのinput要素のオブジェクトを入手してDOMで操作すれば
できることだから。

154:Name_Not_Found
08/03/07 10:15:00
画像がアニメgifかどうか判別するにはどうすればいいですか?

155:Name_Not_Found
08/03/07 10:27:32
しばらくじっと見ているとか
塚、ないでしょ。

156:Name_Not_Found
08/03/07 12:22:41 NBkP6xDs
>>152

document.forms[0]['custom4'].checked = true;

確かね

157:Name_Not_Found
08/03/07 18:09:34 i9Sb+X1Y
>>156
ありがとうございます。
無事、教えてくださった記述でチェックすることができました。

158:Name_Not_Found
08/03/07 22:16:45
javascriptによって重くなるような処理ってどのようなものがあるのでしょう?

159:Name_Not_Found
08/03/07 22:59:27
DOM 操作
タイマー

160:Name_Not_Found
08/03/07 23:14:23
while(1)
for(;;)

161:Name_Not_Found
08/03/07 23:34:18
知り合いの会社のホームページを作ることになりました。
作成する画面は、品物一覧(検索機能付き)です。
しかし、web鯖はDBが使えません。
そこで、品物のデータをXMLで作成し、javascriptで解析し
表示しようかと考えています。
ノード数は200ぐらいで、属性は20程度のXLMです。

プロセスを簡単に以下に書きます。
 ページ読み込み時
  1.XMLファイルを読み込み、オブジェクト1に格納
  2.オブジェクト2にオブジェクト1を格納
  3.オブジェクト2のデータから一覧作成
 検索時
  1.オブジェクト1のデータを検索し、
   マッチするデータをオブジェクト2に格納
  2.オブジェクト2のデータから一覧作成

アクセス数は、1日100もあればいいほうだと思います。
しかし、今まではDBを使っていたので、このやり方に不安があります。
もし、何かご助言を頂ければ幸いです。

この方法が、ユーザに負荷をかけることは、もちろん承知しています orz

162:Name_Not_Found
08/03/07 23:37:02
big table sort

163:Name_Not_Found
08/03/07 23:45:34
>>162
ノードは200ぐらいなのですが、やっぱり処理に時間がかかるでしょうか?
検索の項目数は、5項目ぐらいなので、getAttributeでノードの属性を検索すれば
処理時間はそう気にならないかと考えてました。

164:Name_Not_Found
08/03/07 23:46:04
>>161
それで出来るんならそうすればいいでしょ
金になるコードなんだから金払って質問するのが筋じゃ?

165:161
08/03/07 23:47:18
自分で今サンプルを作成中なので、テストしたいと思います

166:Name_Not_Found
08/03/07 23:49:28
テキストで丸ごと読み込んで性器評言で探したほうが早いよ。

167:161
08/03/07 23:50:43
>>164
仕事ではなく、個人でやるので無償です。

168:161
08/03/07 23:53:14
>>166
ありがとうございます。
手離れがいいように、XMLがいいかなと考えてました。
スレ違いすみませんでした。

169:Name_Not_Found
08/03/08 08:30:20
>>168
XMLじゃなくJSONでしょ。その方が速度も有利だし
コーディングも簡単。

170:Name_Not_Found
08/03/08 10:01:37
マッチしなかったノードのstyleを不可視化するだけでいいんじゃないの

171:161
08/03/08 13:48:33
>>169
JSONも試してみたいと思います。

>>170
一覧は、20件ずつ表示のページ遷移形式にしようと考えているので、
styleを不可視にする方法は、コードが複雑になりそうな気がします。
未説明の項目すみません orz

ご助言ありがとうございました

172:Name_Not_Found
08/03/08 14:43:11
<input type="submit">のクリック以外で、フォームを送信する関数ってありますか?

173:Name_Not_Found
08/03/08 14:51:10
>>172
formオブジェクトのメソッドsubmit()。

174:Name_Not_Found
08/03/08 14:54:17
>>173
ありがとうございます。

175:Name_Not_Found
08/03/08 19:09:25 QJn+z28v
質問です。※初心者からきました。
親が開いた子ウインドゥを閉じ方についてです。
フォーカスが、子ウインドゥから離れた時点で、子ウインドゥ自ら閉じるようにしたいのですが、どうすればよいのでしょう?
子ウィンドゥ内にjavascript の onblur 辺りを利用するのだと思うのですが、使い方が判りません。
宜しくお願い致します。

176:Name_Not_Found
08/03/08 21:11:11
>>175
window.onblur = function() { window.close(); };
を実行しておけばよいはず。試してないけどね。

177:175
08/03/08 22:18:58
>176
早速試して見たところ子ウインドゥが消えました。ありがとうございます。

只、子ウインドゥ内でクリックしてもフォーカスアウトの判定をして閉じてしまいますので、
これから色々、条件を試してみたいと思います。

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



178:175
08/03/08 22:51:31
追伸、mac safari3.04はOKで、mac IE5.2 と win2000 IE6.0 はクリックに反応し閉じました。

179:Name_Not_Found
08/03/08 23:21:36 nE8PWXuQ
<frameset>で画面を分けている時に、<frame>内に配置されたあるエレメントの
位置を、window.top の左上座標からの距離で取得するにはどのようにしたら良
いのでしょうか?
(IE6、Firefox)

offsetLeftとoffsetParentで、<frame>内の位置までは分かるのですが、
<frame>の位置がどこにあるかを汎用的に知る方法が分かりません。

宜しくお願い致します。

180:Name_Not_Found
08/03/08 23:39:06
>>179
フレームの幅や高さを調べてそれをもとに計算すんでしょ。
でも枠の幅とかもあったりして面倒かもね。

181:Name_Not_Found
08/03/09 00:55:24 klq5PqFc
>>180
IEではwindow.screenLeft の違いの差を利用してなんとか出来そうですけど、Firefoxとかは地道に計算するしかないようですね。
大変です・・・。

182:Name_Not_Found
08/03/09 02:41:38
Operaとか難しいですね..。
<frameset>内の<frame>のoffsetLeftとかが常に 0 になってしまうんですけど、これどうかならないんでしょうか。
Safari(win)も同じですけど。

183:Name_Not_Found
08/03/10 17:06:29 oYf0Iv4i
googlemapsについての質問なのですが。

<div id="map" style="width: 500px; height: 300px;"></div>

<div onclick="hogehoge()">地図表示</div>
<div onclick="hugihugi()">地図表示2</div>

function hogehoge(){
var map = new GMap2(document.getElementById("map"));
map.addControl( new GLargeMapControl() );
map.setCenter(new GLatLng(123456789), 15); var point = new GLatLng(123456789);
map.addOverlay(new GMarker(point)); map.openInfoWindow(map.getCenter(), document.createTextNode("hogehoge"));}

function hugihugi(){
var map = new GMap2(document.getElementById("map"));
map.addControl( new GLargeMapControl() );
map.setCenter(new GLatLng(98765431), 15); var point = new GLatLng(98765431);
map.addOverlay(new GMarker(point)); map.openInfoWindow(map.getCenter(), document.createTextNode("hogehoge"));}

こんな感じでボタンを押すたびに別の地図を表示したいんですが、
実際にやるとメモリがとんでもなく消費されます(特にIE6)

これを回避するいい方法はないでしょうか?よろしくお願いします。

184:Name_Not_Found
08/03/10 17:45:37
>>183
それって地図の数増やすたびに関数も増やすの?
関数を一つにして座標を引数で渡しちゃった方が楽な気がするけど


185:Name_Not_Found
08/03/10 17:49:22
lightboxとvideoboxだけを書き込んだhtmlをxamppで表示させてもjsが動いてないのかそのままリンク先に飛んでしまうのですが
これはxampp側の設定でしょうか?

一応ヘッダに<script language="javascript">を追加し、直下に説明書通りの<script tye]pe...>と<link rel=...>そのまま書き込んであります。
ドキュメントフォルダにはjs,css,images,swfフォルダ(light/video混合)、もしくはlightフォルダ/videoフォルダでhtmlのscriptの階層書き換えを行いましたが
どちらも結果は変わらずでした。

186:183
08/03/10 17:53:30
>>184
地図の数増やすたびに関数も増やしちゃってます。
javascriptあんまりよくわかってないもので・・・。
関数を1つにして座標を引数で渡すとしたら、どのようなソースになるんでしょうか?

187:Name_Not_Found
08/03/10 18:51:14
>>186
GoogleMapsの仕様がわからないけど、単純なのなら

function hugihugi(param) { // new GLatLngにそのまま入れる
var map = new GMap2(document.getElementById("map"));
map.addControl( new GLargeMapControl() );
var point = new GLatLng(param); // new GLatLngをpointに入れてるのだから
map.setCenter(point, 15); // point使えば良いのでは?
map.addOverlay(new GMarker(point)); map.openInfoWindow(map.getCenter(), document.createTextNode("hogehoge"));}

で良いんじゃね?
new GMap2が使い回せるなら初めに1回だけnewして
あとはそれを使い回すってのもできると思うけど。

188:Name_Not_Found
08/03/10 18:52:01
>>185
エラー出てるんじゃない?
jsでエラー出てればそのままリンクが有効になって飛ぶよ

189:183
08/03/10 18:55:17
>>187
なるほど、参考にさせて頂きます。
ありがとうございました!

190:Name_Not_Found
08/03/10 19:10:47
FirefoxでJava Consoleを開くと
java.lang.NullPointerException
at com.sun.deploy.net.proxy.DynamicProxyManager.reset(Unknown Source)
at com.sun.deploy.net.proxy.DeployProxySelector.reset(Unknown Source)
at sun.plugin.AppletViewer.initEnvironment(Unknown Source)

と出ました。このメッセージはタカミン等のチャットを開くと同じ物が出てかなり動作が重たくなり、最終的にタスクマネージャから強制終了せざるを得ません。
しかしJava Consoleが無事に開いたのでプロキシ設定を再ロードすると以下のメッセージが出ました。

java.lang.NullPointerException
at com.sun.deploy.net.proxy.DynamicProxyManager.reset(Unknown Source)
at sun.plugin.util.PluginConsoleController.reloadProxyConfig(Unknown Source)
at com.sun.deploy.util.ConsoleWindow$5.actionPerformed(Unknown Source)
at javax.swing.JComponent$ActionStandin.actionPerformed(Unknown Source)
at javax.swing.SwingUtilities.notifyAction(Unknown Source)
at javax.swing.JComponent.processKeyBinding(Unknown Source)
at javax.swing.KeyboardManager.fireBinding(Unknown Source)
at javax.swing.KeyboardManager.fireKeyboardAction(Unknown Source)
at javax.swing.JComponent.processKeyBindingsForAllComponents(Unknown Source)
at javax.swing.JComponent.processKeyBindings(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)

191:Name_Not_Found
08/03/10 19:12:05
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)


私にはやはりよく分かりません。ぬるぽのお陰でJavaが使われてるページがまともに使えなくなっています。
この地獄から脱出する解決策を知っている方に色々御教授願いたいです。

192:Name_Not_Found
08/03/10 19:45:40
>>191
javascriptとjavaは違うので。

193:Name_Not_Found
08/03/10 22:02:57
>>191
ボケ!! テンプレ >>1 を百回読め!!!

194:Name_Not_Found
08/03/10 22:36:45
JavaScriptをJavaと言う奴は激しくうざいが
本当にJavaのメッセージを貼り付けるアホは新鮮かもしれん

195:Name_Not_Found
08/03/11 06:50:14
広告の消し方をご教授ください
URLリンク(used.siteburg.com)

196:Name_Not_Found
08/03/11 06:52:31
>>195
日本語でおk

197:Name_Not_Found
08/03/11 07:05:43
>>195-196
クソ質問レスにクソ応答レスの典型共

198:Name_Not_Found
08/03/11 07:16:13
>>197
すまんwwww
考えを改めるわ

199:Name_Not_Found
08/03/11 08:01:16
MacIE5で、document.forms[0].action;とした時
form内に<input name=action>が存在すると、actionのURLではなく
inputオブジェクトが返ってしまうのですが、(target等でも同様)
inputのnameに紛らわしい名前は禁止と言うのも見た事ないので、
他のブラウザではきちんと分けて取り出せるのでしょうか?

200:Name_Not_Found
08/03/11 08:07:51
>>197
レスの意味しってるか

201:Name_Not_Found
08/03/11 08:34:04
>>199
もともとnameはやめてID振ってgetElementById()で取れ
というのが標準の立場だから。そんなアホなことやった時の
挙動なんて探求したくもないね。

202:Name_Not_Found
08/03/11 10:35:30
>>200
自慢しなくてもいいよ
そもそもレスという言葉自体間違ってるから

203:Name_Not_Found
08/03/11 10:56:09
>>202
解説しなくてもいいよ
そもそもレスという言葉自体一般的になってるから

204:Name_Not_Found
08/03/11 12:10:08
>>200-203
それで結局、レスってなんですか。

205:Name_Not_Found
08/03/11 12:29:38
スレ…スレッド
レス…レスポンス

スレとレスを混同していないか?
チンポコ出して歩いているのと同じくらい恥ずかしいぞ!

206:Name_Not_Found
08/03/11 12:58:20
スレ…スレポンス
レス…レスッド

ん?

207:Name_Not_Found
08/03/11 13:55:20
URLリンク(web.ec.hokudai.ac.jp)
>JavaScript: ほとんどの場合は、うっとうしい広告や、
>ページ製作者の能力・表現力の貧しさを補うためにのみ多用され

何と言うか脳が硬化しているような旧世代の人間は気味が怖いね。

208:Name_Not_Found
08/03/11 15:09:00
これ見よがしに w3c のロゴを貼ってるとこは
イマイチ自分の感性に合わないことが多いな

209:Name_Not_Found
08/03/11 15:36:04
>>207
センセなんてその程度。揉まれてないからね。

格差がひどくて自殺しようとしたある中国人が農薬を飲んだ。1ビン丸ご
と飲んだが偽装農薬で腹も下らない。それを知った友人たちが「とにかく
生きていればいいことがある。よかった。よかった」といって、お祝いし
たらギョーザで全員死んでしまった。

210:Name_Not_Found
08/03/11 15:57:11
>>207
怖いと気味が悪いが混ざっているな。

実際DOMやECMAScript以前のJavaScriptはそんな感じだったからね。
AJAXでJavaScriptの復権が成されたが、新しい技術動向に無頓着な人間は、
相変わらずの偏見を持っているのだろう。

211:Name_Not_Found
08/03/11 16:52:35
条件判別で、a==r||b==s||c==t||... とやたら地道な書き方で行くとき、
もっと垢抜けたやり方あると思うんですが、これのショートコーディン
グを教えてください。250ポイント差し上げます。

212:Name_Not_Found
08/03/11 16:56:09
>>211
全体像が見えないけど、どういう条件なの?

213:Name_Not_Found
08/03/11 16:59:25
>>210
>>207だけならそう読めるけど、

> ページの読み込みとは別にサーバーとの通信をする機能もあり、
> 閲覧者とサイト側とのあいだの情報のやり取りをリアルタイムに、
> より活発にする事が期待されています
> (⇒AJAX, Web2.0 ; 例:GoogleDocs)。

ってその前に書いてるから無頓着じゃないだろう
逆に「そういうのもあるけど、まだまだ昔通りのJavaScriptのページが多い」って読み取れるけど。


214:Name_Not_Found
08/03/11 19:50:25 QfD26D0v
encodeURIで文字列をエンコードしてURIを生成しているのですが、
find.2chはencodeURIで生成されるものとは違うようです。
どういう処理をすればfind.2chの文字列になるのでしょうか?

処理前文字列:テスト
encodeURI:%E3%83%86%E3%82%B9%E3%83%88
google:%E3%83%86%E3%82%B9%E3%83%88
find.2ch:%A5%C6%A5%B9%A5%C8

215:Name_Not_Found
08/03/11 19:53:56
>>214
EUC

216:Name_Not_Found
08/03/11 19:56:01
encodeURIComponent()

217:214
08/03/11 20:23:05
レスありがとうございます。
ecl.jsを使ってEUCでエンコードできました。
しかし、携帯(willcom nine)で見ようとすると画面が真っ白で正常に動作しませんでした。
EscapeEUCJP=function~~のみを貼り付けても同じです。
他に方法はないでしょうか?

218:Name_Not_Found
08/03/11 21:39:10
>>201
どこの立場だそれ。とんでもな理解だな。

219:Name_Not_Found
08/03/11 23:49:47
いけませんか?

220:Name_Not_Found
08/03/12 01:46:30
技術動向に乗っかって仕方なくやってるけど、
こんな不完全かつ雑然とした開発環境はさっさと刷新されてくれんかなぁ、
と思っている。

221:Name_Not_Found
08/03/12 01:57:51
>>220
日々新たな活用法を模索している段階というのがJavaScriptの現状なので、
良く言えば進化途上であり、悪く言えば不安定なのは仕方の無い事。
それが合わないのだとしたら、いっその事COBOLに戻るのをお勧め。

222:Name_Not_Found
08/03/12 09:12:58
>>220
kwsk

223:Name_Not_Found
08/03/12 12:31:54
PHPとの連携考えれば、>>201の言う name属性を考えない的発想はイタダケない。
やたらとID増やすのも問題あると思う。

ラジオボタンの値を取る時、nameなら記述が明快だが、idだったらラジオボタンの数だけcheckedをチェックしなきゃいけね~じゃね~か~!!

アホ過ぎる

224:Name_Not_Found
08/03/12 16:13:50
ラジオボタンのチェックを一発で取得する方法あるの?

225:Name_Not_Found
08/03/12 18:10:27 v7aWw3+0
<table>タグを使用した10項目最大1000行のHTMLの動的な一覧画面を
サーバー側(Servlet)で作成し、非同期通信および
JavaScriptのinnnerHTMLを使用してブラウザに表示しています。
ちらつきをなくすための手段です。

ですが、innerHTMLのみの動作が1000件で20秒程度かかってしまいます。
速度を改善(せめて10秒以内)する良い方法はないでしょうか。高速なinnerHTMLなど。
innerTextを使うとだいぶ早いですが、当然ですがHTMLとして認識されません。
IE6です。

226:Name_Not_Found
08/03/12 18:22:26
>>224
ま、「一発で」の定義をしてほしいところ。
ボタン一発でなら、ググれば嫌というほどあるけど。

227:Name_Not_Found
08/03/12 18:22:27
>>225
だいたいが自分のマシン基準で考えてるだろ。それはよくないね。
100件ずつ10回に分けて別々のdivにinnerHTMLで突っ込む。なおかつ
それぞれのdivは最初display:noneにしておき、突っ込み終わってから
display:blockに取り替える。

228:Name_Not_Found
08/03/12 18:23:40
>>226
JavaScriptからDOM経由で。鯖側と通信せずにローカルに。

229:Name_Not_Found
08/03/12 19:25:20
name を付けるなとは言ってない
elements[name].value で取ればいいだろ
action の件は糞 IE を恨め

230:Name_Not_Found
08/03/12 21:14:37
>>223
HTTPでの連携は関係ない。
XHTMLのinput要素型のname属性が非推奨だと勘違いしている>>201みたいなのが沢山いるから、一言残すようにしている。
たとえばform要素型やimg要素型ならname属性は紛れもないレガシー属性だから非推奨だが、input要素型のname属性は関係ない。

231:Name_Not_Found
08/03/12 22:12:59
HTMLDocumentインターフェース以外に存在しない時点で糞メソッド
これは間違いない

232:Name_Not_Found
08/03/12 22:39:59
>>229
なんでも次世代対応とかでnameとidをinputタグに併記しているのを
みたけど、それって正論なの?

>name を付けるなとは言ってない

とはつまりidも付けとけと?

233:Name_Not_Found
08/03/12 22:50:17
>>231
詳しく

234:Name_Not_Found
08/03/13 08:06:10
そもそもidではラジオボタンが成立せん。

235:Name_Not_Found
08/03/13 09:06:52
id と name 両方付ければよい
getElementById も getElementsByName も両方ある
>actionが読めない
form.getAttributeNode('action').nodeValue

236:Name_Not_Found
08/03/13 10:06:21
getElementsByNameというのはいかがなものか・・・

237:Name_Not_Found
08/03/13 10:33:42
ブラウザで<script>が理解できないものってどのくらいあるの?
<!--を念のためでも入れようか迷ってるのだけど。
リダイレクト用の1行scriptだから外部ファイルにするのも面倒だし。

w3mみたいなテキストブラウザはscript実行できなかっただけで特に問題がなかったけど、
今現在使われるようなブラウザで<script>の中身理解できないブラウザあったら教えて。

238:199
08/03/13 10:36:33
>>235
getAttributeNode('action').nodeValueできちんとactionのURL取れました!
結構な期間悩んでいたのでスッキリしました。ありがとうございます。
他のみなさんのお話しも勉強になります。

239:Name_Not_Found
08/03/13 10:36:56
仮にその1行が見えたところでいいんでないの?
ま、そんなのをつけてるヤシのおおかたは意味も知らずに
ただ書いてるだけと洩れは思ってる。

240:Name_Not_Found
08/03/13 14:44:58
対数なんですけども、E以外を底にするときにはJavaScriptではどう書けば
いいんですか?

241:Name_Not_Found
08/03/13 14:50:14
対数の底の変換公式を使う

242:Name_Not_Found
08/03/13 14:59:59
var aaa=1
var bbb=2
var ccc=3
とあって、
abc('aaa');
としたときに1が帰ってくるようにしたいのですがうまくできません。
function abc(){
 alert(arguments[0]);



243:Name_Not_Found
08/03/13 15:24:21
FAQ>>3を参考にがんばれ

244:Name_Not_Found
08/03/13 15:30:35
この場合は・・・evalかな?


245:Name_Not_Found
08/03/13 16:35:21
argumentsと[0]が離れてるのは関係ない?

246:Name_Not_Found
08/03/13 17:20:25
>>237
既に現在のブラウザとは言えないが、
携帯のN900iはbody内のscriptはテキストとして出力されるね。
非PCブラウザを多少でも考慮する場合には、書いておいて損は無いのでは。

>>242
個々の値を独立した変数で保持する必要が無いなら、
var params = {'aaa':1, 'bbb':2, 'ccc':3};
function abc( prop ) {
alert( params[prop] );
}
とか。

247:Name_Not_Found
08/03/13 17:49:11
window[”aaa”]

248:Name_Not_Found
08/03/13 18:18:47
hoge="(ここ)";
regp=new RegExp("\((.+?)\)","g")
hoge.match(regp)
alert("hoge="+hoge+"\nRegExp.$1="+RegExp.$1+"\nRegExp.$2="+RegExp.$2+"\nRegExp.$3="+RegExp.$3+"\n")

hogeから"ここ"だけを取り出したいんですが、")"だけが取り出されてしまいます
regpはどのように書けば良いのでしょうか

249:Name_Not_Found
08/03/13 18:18:56
グローバルが window かどうか分からないけどな

250:Name_Not_Found
08/03/13 18:23:27
>>248
まず基本がなってない
gフラグ立てるならmatchじゃ駄目
RegExp.$1 なんて使うな

251:Name_Not_Found
08/03/13 18:28:11
<U>タグの反対のタグは何ですか。上に線を引きたいです。

252:Name_Not_Found
08/03/13 18:30:57
>>248
hoge="(ここ)";
var ma = hoge.match( /\(([^\)]+)/ );
alert( ma[1] );

253:Name_Not_Found
08/03/13 18:44:42
>>251
text-decoration: overline

254:Name_Not_Found
08/03/13 19:56:55
function abc(arg) {
    eval("alert(" + arg + ");");
}

# 全角が気になって仕方がない。

255:Name_Not_Found
08/03/13 20:10:05
regp=new RegExp("\\((.+?)\\)","g");

hoge の中身が決まってんなら、取り出すだけなら
hoge.substr(1,hoge.length-2)
で取り出せるけどな。

256:Name_Not_Found
08/03/13 21:04:52
RegExp.$n とか、String#substr() とか、レガシー満開だな。
改めて言うが、JS終わってるだろw
いいから黙ってAS3始めろオマエラ。

257:Name_Not_Found
08/03/13 21:28:25
>>256
またJS終わってる君が来たのかw
おまいはなんでこのスレ見てるんだ?

258:Name_Not_Found
08/03/13 21:29:03
Dojo (1.0.4) を使用しています。閲覧環境は IE7 及び Firefox 2.x を想定しています。

<h2>Section 1</h2>
<p>...</p>
<h2>Section 2</h2>
<p>...</p>
...

上のような HTML の一部を読み込んで div[id="content"] の innerHTML に代入するのですが、
ここで、dojo.query("#content h2") の全要素に対し、例えば <h2>Section 1</h2> ノードの
前に <a name="Section 1"></a> というノードを挿入したいと考えております。
(つまり '<h2>INNER</h2>' -> '<a name="INNER"></a><h2>INNER</h2>')

dojo.place を使おうと考えたのですが、どうやら既存のノードを移動させるためのメソッドの
ようで、どうやったらうまくできるか見当もつきません。方法を御存知の方、どうか
ご教示願えませんでしょうか。

259:Name_Not_Found
08/03/13 21:35:06
>>256が、アンチAS3による手の込んだ工作だとしたら、見事な仕事ぶりだ。

260:Name_Not_Found
08/03/13 21:36:50
>>258
dojo とやらは知らんが insertBefore でいけそう

261:Name_Not_Found
08/03/13 22:07:10
面倒だから
***.innerHTML = ***.innerHTML.replace(/<h2>(.+?)<\/h2>/ig, "<a name='$1'></a><h2>$1</h2>");
でいいじゃん。

262:Name_Not_Found
08/03/13 22:44:45
(笑)

263:Name_Not_Found
08/03/13 23:21:01
(爆)

264:Name_Not_Found
08/03/13 23:37:13
>>260
なんとか無事に成功しました。ありがとうございました。

265:Name_Not_Found
08/03/14 00:17:34
>>259
同じECMAScript系だが、
ActionScriptとJavaScriptでは微妙に用途の異なる言語だというのを理解していないのは単なるアホだろうけど、
JavaScriptでOOP的コードを書けない人間には将来性が無いのは否定しようが無いね。

266:Name_Not_Found
08/03/14 10:15:08
環境が Firefox 2.0.0.x で

INPUTタグ(type=submit) に
doc.innerHTML.replace でアクセスキーを設定する文字列をねじ込む方法ではアクセスキーが正常に動作するんですが
tag.setAttribute でアクセスキーを設定すると上手く動作しないです(ソースやDOMinsで見ると設定はされている)

どなたか原因をご存知の方いますか?

267:Name_Not_Found
08/03/14 14:06:54
試してないけど Q13 がらみかな

268:Name_Not_Found
08/03/14 16:02:45
>>266
<input type="submit" id="fsubmit" />
document.getElementById('fsubmit').setAttribute('accesskey','M');
Firefox 2.0.0.12では問題無く機能するね。

269:266
08/03/14 17:47:57
>>268
うーん、そちらでは動作しますか
setAttribute自体は正常に機能していながら
設定されたアクセスキーが機能しない(submitされない)状態で
タグ指定がおかしいかと tag.style.display = 'none'; すると目的の物は消え
他のAタグ等を対象にすると、アクセスキーが問題なく利くんですよね
どこからチェックしたらいいか困ってしまってます

ともあれ、レスありがとうございます、もう少し悩んでみます

270:Name_Not_Found
08/03/14 21:45:55
>>266
もうちょい日本語まとめてから書き込めよ

271:Name_Not_Found
08/03/14 23:52:57
lightboxは使えますか?それともコードも組めないアホが使うものですか?

272:Name_Not_Found
08/03/15 00:09:45
それは質問なの?

273:Name_Not_Found
08/03/15 01:01:18
>>271
車輪の再発明

274:Name_Not_Found
08/03/15 03:20:05 g/jmBMIT
なんか、IE使って、javascriptでプルダウンメニューのoptionの数とかいじったりして、
ページ移動しまくってたら、
気づいたらページのデザイン崩れまくったりするんだけど、
これってIEのバグですか?

275:Name_Not_Found
08/03/15 07:03:34
>>274
なんでもIEのバグにする釣りか

276:Name_Not_Found
08/03/15 08:14:06
>>274
悪いのはてめーの頭だ。明らかに不用意にいじってHTML壊した
だけだろ。2度とくるな。

277:Name_Not_Found
08/03/15 09:31:46
おはよう御座います。
JavaScriptでflashを表示させないことってできますか?画像はOSの
側でできるんですが、flashがうざくて重くてこれを消したいです。
JavaScriptでなくても他にやり方ありましたらチップスお願いします。

278:Name_Not_Found
08/03/15 10:42:51
>>277
いろんなサイト見てるときにFlashが邪魔ってこと?
firefoxのaddblockとか使ったら?

279:277
08/03/15 11:51:45
>>278さん こんにちは。
言葉足らずですいません。そうです。ブラウジングしていて邪魔
なので。FFだとそんなのがあるんですね。IE一本なので私の環境
ではちょっと無理です。情報ありがとう御座いました。

280:Name_Not_Found
08/03/15 12:09:54
お世話になります。
現在、レンタルサーバーのxreaに下記リンク先の投票JavaScriptを設置しようとしています
URLリンク(www.nickstakenburg.com)

書いてあるとおりに
①Prototype 1.6(prototype.js)をjs/へ設置
②Scriptaculous 1.8のsrcフォルダの中身をjs/へ設置
した後
③Starbox 0.3.0.4をcss/とimages/とjs/へそれぞれ設置し
④htmlに

<HTML>
<HEAD>
<link rel="stylesheet" type="text/css" href="css/starbox.css" />
<TITLE></TITLE>
<SCRIPT language="JavaScript">
<!--
<script type='text/javascript' src='js/prototype.js'></script>
<script type='text/javascript' src='js/scriptaculous.js?load=effects'></script>
<script type='text/javascript' src='js/starbox.js'></script>
//-->
</SCRIPT>
</HEAD>
<BODY bgcolor="#fffff0" onLoad="sample()">
</BODY>
</HTML>

と書いて呼び出そうとしましたが、ブラウザには何も表示されませんでした。
どこが間違っているのでしょうか。どうかご教授おねがいしますm(__)m

281:Name_Not_Found
08/03/15 12:15:28
初心者スレへ行くべきだな。まあその前に1つだけ、
URLリンク(....)
等をブラウザで開いて読めることを確認したかね。

282:Name_Not_Found
08/03/15 12:15:37
>>277
つポテト

283:Name_Not_Found
08/03/15 12:20:49
>>280
そのページの一番下にContactがあるから直接聞いたらいいじゃん
せめて作ったページを張るか、エラーだしなよ

とりあえず、
・<SCRIPT language="JavaScript">の中に更にscriptタグはおかしい。
・newしてないから表示されないのは当たり前
かな

284:Name_Not_Found
08/03/15 14:29:19
他のページではなくて、そのページ内の<div></div>のノードを
iFrameにすることはできますか?

285:Name_Not_Found
08/03/15 15:05:33
URLリンク(www.safalra.com)
上記のDock風スクリプトでアイコンのリンク先にhtmlでいうtarget指定が使いたいのですが
うまくいきません。
ページ下部にあるサンプルの↓の部分をいじればできそうなのですが…。
onclick : function(){
window.location = 'URL';
}
左フレームに設置してアイコンクリックで右フレーム内に表示したいです。

286:Name_Not_Found
08/03/15 16:17:38 gdhtZhja
質問です。

var hoge = [];

上記のような宣言が何を意味しているのか解らなくて調べています。
で、調べたところ、配列リテラルっていうやつなのかなと思っていろいろググっているのですが、
仮に配列だとして、「var hoge = new Array();」との違いがよく解りません。

それとも、そもそも全然配列と関係無い別の何かなのでしょうか?

287:Name_Not_Found
08/03/15 16:29:53
>それとも、そもそも全然配列と関係無い別の何かなのでしょうか?

全然配列と関係あり。
そんなのググればいくらでも書いてある。


288:Name_Not_Found
08/03/15 16:36:07
>>286
せめてこれくらいは読んでおけよ・・・
URLリンク(developer.mozilla.org)

289:Name_Not_Found
08/03/15 16:44:15 gdhtZhja
>>287-288
どうもありがとうございます。

そこを読んで、「var hoge = [];」と「var hoge = new Array();」の違いが理解できなかったので、
>>286の質問をつい書いてしまったわけですが、
読んでる資料が間違ってないことが解っただけでも安心できたので、解るまで読み返してきます。

290:Name_Not_Found
08/03/15 17:07:41
>>285
top.frames.フレーム名.location.href = 'URL';
>>289
歴史的にnew Array()の方が古いがnew Array(1, 2, 3)だと
1と2と3が入った配列が返されるのにnew Array(5)だと要素数
5で全要素にundefinedが入った配列が返されるとかいう使い
にくさがあるので、現在では値を指定して配列を作る場合は
[1,2,3]とか[5]とか使う方がおすすめ。で、空っぽの配列を
作るのに[]かnew Array()かというのはまったく好みの問題かと。

291:285
08/03/15 18:53:34
>>290
できました!
ありがとうございます。

292:Name_Not_Found
08/03/15 20:22:53
こんばんは。スクリプトエラーの表示で
「ライン 1.文字 1 で、エラーが宣言されていない」というのが出ること
があるんですが、このラインが1、文字が1というのはどういう意味なの
でしょうか。ソースのライン番号にはもちろん該当しませんし、スクリプ
トがエラーにぶつかったところなら、1ではないと思うし。
JavaScriptを始めたころからのぼんやりした疑問でした。ご教示お願い
します。ちなみに環境はIE-6です。

293:292
08/03/15 20:24:37
ごめんなさい。タイポです。
× エラーが宣言されていない
○ Pは宣言されていない
(Pはオブジェクトです)

すいません。

294:Name_Not_Found
08/03/15 20:27:39
inline で書かれてるとこでエラーになると ライン1 って表示される
慣れればそれでもデバッグできるんだが
今から勉強するなら Firefox でデバッグするようにした方がよい

295:Name_Not_Found
08/03/15 21:32:26 SAEI9/er
javascriptでURIエンコードで↓みたいな
%A4%B3%A4%F3%A4%CA%B4%B6%A4%B8
の形式にしたいんだけど、
ライブラリを使わずに変換する方法はありませんか?

296:Name_Not_Found
08/03/15 21:38:25
>>295
encodeURIComponent('こんな感じ')

297:295
08/03/15 21:59:26
自己解決しました

298:Name_Not_Found
08/03/15 22:02:29
自己解決厨 キタ━━(゚∀゚)━━!!

299:Name_Not_Found
08/03/15 22:05:06
>>298
通りがかっただけです

300:Name_Not_Found
08/03/15 22:06:42 SAEI9/er
実行してみましたがうまくいきませんでした
function a(){
xxx=encodeURIComponent('こんな感じ');
aaa="URLリンク(find.2ch.net)"+xxx;
location.href=aaa;
}
これで2ch検索の「こんな感じ」の検索結果が出るはずなんですけど出ません・・・
EUCエンコードである必要があると思うんですけど・・・

301:Name_Not_Found
08/03/15 22:11:46
自己解決マダー?

302:Name_Not_Found
08/03/15 22:14:15
>>301
自己解決できません><
教えてください><

303:292
08/03/15 22:28:58
>>294
そういうことなんですか。よくわかりました。
ありがとうございました。多謝。

304:300
08/03/15 22:47:07
自己解決しました

305:295
08/03/15 22:47:08 SAEI9/er
いまだにわからないんですけど、何かヒントをください

306:300
08/03/15 22:51:48
自己解決しました。
ぜんぜん違う文字コードでデコードしてました。

307:295
08/03/15 22:56:51 SAEI9/er
>>306
よくわからないんですけど、これはヒントですか?

308:Name_Not_Found
08/03/15 23:38:03 WQQ1gRmK
cookie一つ当たりの容量制限4KB というのはよく見かけるのですが、
これは 4KiB (1024*4Byte) なのでしょうか?
4KB (4000Byte) なのでしょうか?

309:Name_Not_Found
08/03/15 23:43:40
素人ですけど、「cookie 容量」で検索したら普通に情報ありましたよ?

310:Name_Not_Found
08/03/16 00:55:19
まじですか ありがとうございました
実際に試した結果としては4KiBでした

311:Name_Not_Found
08/03/16 01:05:24
実のところもうちょっと複雑みたいだけどね
URLリンク(www.teria.com)

312:Name_Not_Found
08/03/16 03:20:49 EXZmjqdl
XPath関連で質問です。

var hoge = document.evaluate('//*[contains(@class, "fuga")]', document, null, XPathResult.ANY_TYPE, null);

getElementsByClass的なことをしたい時などに上のような書式を使うことがあると思いますが、
自分、経験上こういう書き方が可能と知っているだけで、理屈がいまひとつ解っていません。

リファレンス等を見る限り、contains関数の戻り値はブール値ということですが、
つまり、個々のエレメントを調べて、クラス「fuga」を持っていればそれは element[true]、
そうでなければ element[false] ということになっているわけでしょうか?

仮にそうだとして、つまり、element[true]がelement[1]と同義なのでxpathResultに含め、
element[false]はelement[0]で、0番目のノード=0番目なんてない=xpathResultには入れない、
ということなのかしら?と漠然と思っているのですが、どうなのでしょう。

お前全然わかってないよ、みたいな誤解をしてる箇所があればご指摘いただきたいです。

313:Name_Not_Found
08/03/16 04:28:28
とりあえず、まぬあるとかその辺のどくめんと全部読んでこいよ

314:Name_Not_Found
08/03/16 08:13:52

教えてください
15桁の数字を入力したら それらを一つずつ加算し、合計数を表示したいのです。

       例)12345678923485これらの和の合計ということになります。

315:Name_Not_Found
08/03/16 08:23:55
無名関数に引数を渡す事はできないのでしょうか?

316:Name_Not_Found
08/03/16 09:01:41
>>312
element[1] は element[position()=5] の略記形
普通のXPathは [] の中の条件式が true のノードを返す


317:Name_Not_Found
08/03/16 10:23:25
>>341
宿題?ばらして加えるだけだろ。

>これらの和の合計
って何?そういうことじゃないの?

318:Name_Not_Found
08/03/16 11:47:12
>>315
別にできるでしょ。
var x = function(p) { alert(p); };
x(3);
または変数xに入れるのが気に食わないのなら
function(p) { alert(p) } (3);
しかしアンタの質問はそういうことではないのだろうね。
でもアンタの質問を字義通りに答えると上記の通り。
まあ、正しい質問ができるようになるまでがんばってね。

319:Name_Not_Found
08/03/16 12:02:53
上はxという名前が付いてるから無名じゃない
下はSyntax error。所詮javascriptはこの程度か。

320:Name_Not_Found
08/03/16 12:40:08
>>319
Syntax errorではないだろ
どの辺がSyntax errorなの?

321:315
08/03/16 13:02:16
attachEventの中で無名関数を使うとその中での処理が期待通りの結果に
ならなかったので右往左往していたのですがattachEventを使うのをやめて
他の手にしました。attachEvent("onclick",function(){ alert(for int);};);でループ
させるとリンクをクリックした時に全てがforの最後のカウントになってしまうという
オチでした。

>>318
下の方法も知っていましたが私の環境でもエラーになります。一度、IE7を
入れたせいかも(アンインストールしたけど)。

322:Name_Not_Found
08/03/16 14:16:16
(function(p) { alert(p) })(3);
ではどうかな。


323:Name_Not_Found
08/03/16 14:24:48
>どの辺がSyntax errorなの?
>どの辺がSyntax errorなの?
>どの辺がSyntax errorなの?

基地外襲来!javascript使いの程度が知れるね。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch