+ JavaScript の質問用スレッド vol.31 +
━━━━━JavaScript質問スレ道場訓━━━━━
一、礼節を重んじ常に努力精進すること
一、ブラクラに打ち勝つ精神力を持つこと
一、心身の優れたJavaScriptを学ぶこと
一、雑草の如く生涯JavaScriptを貫くこと
一、感謝と反省を忘れないこと
以上
━━━━━━━━━━━━━━━━━━━━━━
このスレに書き込むことが許されるものは以下のとおり
・JavaScriptとJavaの違いを理解する者
・スクリプトを組むための最低限のHTML・CSSを理解する者
・ユーザーに迷惑となるスクリプトを書かない者
・FAQ・過去ログや関連資料を読むことができる者
・「初心者です」を振りかざさず、質問を分かる日本語で説明できる者
・対象環境や使用技術は質問者の裁量であることを理解する者
(質問時、回答時にはなるべく対象環境を明記しよう)
前スレ
http://pc5.2ch.net/test/read.cgi/hp/1091236825/l50 FAQ・過去ログ・関連資料・その他質問スレは
>>1-10
【質問を書く上で】
弱気な表現は避ける
弁解じみた表現は良くない。また、まわりくどい。
ex) 超初心者で何もわかりませんが……
<そんなことより自分で試したことをた方が答えやすい>
情報を小出しにしない
読み手は馬鹿にされた気分になる。
無駄な倒置も不要だ。
使用したブラウザ、バージョン、OSくらい書こう。
感情的にならない
何の説明なく決め付ける文はよい印象を与えない。
また態度の大きい人は嫌われる。
ex) 答えられねぇんなら黙ってろ!!! <お前だけだよ>
無視するべきものは無視する
無能、知ったかぶり、宗教的主張、煽り、ぬるぽ等。
表記ミスに注意
内容がどんなにすばらしくても文字使いにミスがあると誤解を招く。
曖昧文は書かない
いくつにも解釈できる文章は絶対に書かない。
ex) ここではきものをぬいでください。
「」など無駄な強調は避ける
読みにくい。♪や顔文字も同様である。
ソースは要点を整理して出す。
そのまま貼って動かせると試してもらいやすい。
長い場合はアップロードしてURIを貼る。
9 :
Name_Not_Found:04/09/16 14:57:04 ID:cRJ4R+ng
【FAQ】
Q1. 開いた別窓/フレームの内容にアクセスできないのですが…
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
Q2. JavaScriptでローカルファイルを読み/書きたいのですが…
A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに…
Q3. document.write(...)でページ内容を追加したいのですが…
A3. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。
部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、
(2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。
innerHTMLは非標準ですがIE、Opera、Gecko(N6/N7/Moz等)で対応済。
Q4. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが…
A4. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるしかない。
Q5. Aタグのonclickで動作指定してるのですが時々動きません…
A5. 「onclick="...;return false"」としないとページ移動しちゃうから。
Q6. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが…
A6. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。
Q7. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A7. 「document.forms.myform.elements[変数名].value」でどぞ。
JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
例:「obj.p0=obj.p1=...=obj.p8=0;」⇔「for(i=0;i<9;i++) obj['p'+i]=0;」。
Q8. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A8. IEではe.currentStyle、Geckoではwindow.getComputedStyle()を使います。
Q9. 100*1.15の結果が114.999…998となってしまうのですが…
A9. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。
Q10. 見よう見まねでHTML+CSSを書いてDOMで操作してますがうまく行きません。
A10. HTMLとCSSがきちんと理解できてない人にはDOMでの操作は難しいですね。
>>8 すいません、次は直すようにします。あ、vol.30が入ってない…
連投規制でFAQまで一緒には入れられないので今回も離しました。
aaa.html内の<a href="hoge.html" target="_blank">で開いた
hoge.htmlからaaa.htmlをリロードさせることは出来ますか?
window.openで開いてopener.location.reloadでリロードをさせるのと
同じことをtarget="_blank"で開いたウィンドウからもやりたいのです。
>>12 ---main.html---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script>
window.name = 'xyz';
</script>
</head><body>
<p><a target="_blank" href="t1.html">開く</a>AAA BBB</p>
</body></html>
---t1.html---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var w = window.open('', 'xyz');
w.location.reload(true);
}
</script>
</head><body>
<p><a href="javascript: test()">Test</a></p>
</body></html>
14 :
12:04/09/16 16:15:52 ID:???
>13
素早いレスありがとうございます!
早速試してみました。WinのIEでは動くのですが、
MacのIEではmain.htmlのアドレス欄に「about:blank」とでて
真っ白なページになってしまいました。
Macで動かすにはどうしたらいいでしょう?
試行錯誤してみます。
15 :
Name_Not_Found:04/09/16 16:26:03 ID:qfve2iNw
質問です。
イメージタグで貼られた画像の表示位置がしりたいのですが、可能でしょうか?
画像の0,0の位置までの高さが取得したいのですが…。
よろしくお願いします。
動いたー。大変ご迷惑をおかけしました。
alert(ATAI)か……
イコール要らなかったんですね。基本中の基本でした。
それと{の位置も滅茶苦茶でした。
> アンタも説明が足らなすぎ。「ラジオボタンの1個目と2個目が動かない」
> というのは具体的にどうなるはずだったのにどうなってしまうのか、
> 書いてくれないと。アンタの代わりにテスト実行する気無いからね。
> (そもそも抜粋だし動かせないしね。)
> 確認するけど、ブラウザからエラーは出てないよね?
すみませんでした。●じゃなくて文字でした。
それに「効果」じゃなくて「説明」ですね。
それとエラーは出ていませんでした。
クリックしても反応しないだけで。
>>14 うーん。手元にMacIEないしなあ。とりあえず、window.open()の
1番目の引数として本来のmain.htmlのファイル名かURIを指定して
みては。
>>15 var i = document.images[番号]; またはIDを振って
var i = document.getElementById('ID名');
としてからi.offsetLeft, i.offsetTopを参照してみては。
18 :
12:04/09/16 18:16:20 ID:???
>>17 >
>>14 > うーん。手元にMacIEないしなあ。とりあえず、window.open()の
> 1番目の引数として本来のmain.htmlのファイル名かURIを指定して
> みては。
確かに、それなら動いたのですが実際は
親にあたるファイルのHTMLが複数あるので...
できればサブウィンドウを開くときに親のURLを渡したいのです。
window.openでなら
:
<script type="text/javascript">
subWin = window.open("hoge.html","sub","width=320,height=240");
function detail(){
document.form1.url00.value = document.URL;
url01 = document.form1.url00.value;
subWin.document.form2.url02.value = url01;
return false;
}
</script>
</head><body>
<form name="form1" method="post">
<input type="hidden" name="url00">
:
で、コレをhoge.htmlで受取る。とやり方は閃くのですが
「target="_blank"」になるとチンプンカンプンです。
>>18 そういうんだったらa要素のhref属性の最後に「?」で区切ってパラメタを
くっつけて書く。そしてサブウィンドウ側でlocation.searchを参照すると
それが取れる。というのが常套手段。
20 :
12:04/09/16 18:45:43 ID:???
>>19 レスありがとうございます。
しかし...???
ググってきます!
>>20 ググるより読める過去スレに具体例いくつもあると思う。
フォームの入力チェックで数値の頭に0が付いてた場合は
取り除きたいのですが、最もポピュラーな方法って何ですか?
やっぱり正規表現で置換ですかね?
そりゃやっぱり正規表現で置換でしょう。1行で済むし。
正規表現 めちゃポピュラーだと思うが。
質問です。
2つのウィンドウ(仮にAとB)をwindow.openでA→Bの順で開き
Aの上にBを表示させようとしていますが、
Aのウィンドウがフレームページでかつ転送速度が遅く、
サブのBが表示された後にAが読み込まれるのでBがAに潜ってしまいます。
過去ログにあったonBlur="focus()"を使っても潜ってしまいます。
1秒おきにfocus()だけは避けたいので他に方法があればお願いします。
26 :
25:04/09/17 10:30:28 ID:???
足りないことが少し
Aは自サイトではないのでJavaScript記述不可
Bは↓のように生成してます
<script language="JavaScript">
function gostart(code)
{
a='width=740,height=160';
d='<HTML><HEAD><TITLE>***</TITLE><SCRIPT language="JavaScript">\n';
d+='function x(){\n';
d+='url="
http://hoge.ne.jp/'+code+'/";\n';
d+='z="mainFrame";\n';
d+='window.open(url,z);\n';
d+='window.close();}</SC'+'RIPT></HEAD>\n';
d+='<BO'+'DY onBlur="focus()" leftMargin=0 topMargin=0>\n';
d+='<center><iframe src="
http://hage.ne.jp/***/" width=740 height=60></iframe>\n';
d+='<form><input type="button" onClick="x();window.close();" value="ウィンドウを閉じる"></form></center></BODY></HTML>\n';
e=window.open("","",a);
e.document.open();
e.document.write(d);
e.document.close();
e.focus();
}
function NewWindow()
{
window.open('
http://hoge.ne.jp/','','');
gostart("hogehoge");
}
</script>
</head>
<body>
<a href="JavaScript:NewWindow();">クリック</a>
>>25-26 そんなことで苦労するより、Aをまずabout:blankで開き、次にBを開き、
その後Aのlocation.hrefに値を設定して本来のページを読ませに行けば?
28 :
Name_Not_Found:04/09/17 15:12:19 ID:eJLZy0Eg
質問です。
親ウィンドウ(A)からwindow.openでサブウィンドウ(B)を開きます。
Bはフレームを使用しています([UP][DOWN])
B.DOWNの中にフォーム(FORM)があり、テキストボックス(TEXT)を表示しています。
AからB.DOWN.FORM.TEXTに値を設定したいのですが、上手くいきません。
何か方法がありましたらお願い致します。
>>28 うまくいかないのはちゃんとやってないからだろ。次の項目すべてに
正しく回答してみれ。
(1) Bのフレーム構成:すべての<framset>タグ、<frame>タグの入れ子関係と
すべてのname属性、そしてフォームのあるフレームがどれか。
(2)フォームのname属性とテキストボックスのname属性。
30 :
Name_Not_Found:04/09/17 19:14:26 ID:eJLZy0Eg
>>29 レスありがとうございます。
おっしゃるとおり、抜けや単純ミスの為出来ていないのだとは思いますが、
解決に至りませんでした。
(1)Bのフレーム構成
<FRAMESET frameborder=0 rows="25%,*" name="MAIN">
<FRAME src="up.html" name="UP">
<FRAME src="down.html" name="DOWN">
</FRAMESET>
フレームはDOWNにあります。
(2)フォームのname属性とテキストボックスのname属性。
<Form name="FORM">
<Input type="text" name="TEXT">
</Form>
Aのスクリプト
<Script LANGUAGE="JavaScript">
<!--
var subWin = window.open("B.htm", "_blank");
※ここでsubWinのMAIN.DOWN.FORM.TEXT.valueに値を入れたい
//-->
</Script>
どうかよろしくお願い致します。
>>30 subWin.frames.DOWN.document.forms.FORM.elements.TEXT.value = 'XXX';
多少長くてもframesとかformsとかelementsという集合名は省略しないのが安全。
しかしFORMというフォームやTEXTというテキスト欄を作るのは危ういよね。
もっと「何のフォーム」「何の入力欄」という名前を考えた方が吉。
32 :
Name_Not_Found:04/09/17 19:43:45 ID:eJLZy0Eg
>>31 成功しました!
名前についてのアドバイスもありがとうございます。
名前も正式なものに変えて作成したいと思います。
解決したところ申し訳ないのですが、もう1つご教示願いたいことがあります。
Bの中にJavaScriptの関数(SEARCH())があるのですが、
AからSEARCH()を実行する為にはどのように指定すればよいのでしょうか。
subWin.frames.DOWN.document.SEARCH()では失敗してしまいます。
どうかよろしくお願い致します。
33 :
Name_Not_Found:04/09/17 19:50:05 ID:eJLZy0Eg
>>32 解決しました。
documentがいらなかったのですね。
丁寧に教えて頂き、アドバイスまでして頂いて、
本当にありがとうございました。
>>32-33 ちょっと待て。documentを取って動いたということは、その関数
SEARCH()はdown.htmlの中で定義されているんじゃないのか?
Bの中ったらふつーb.htmlの中という意味になるよな。言葉は
くれぐれも正確に頼むよ。
…にしてもSEARCH()って関数名も危うすぎ〜! もしかして全部
大文字にしたら標準関数類と衝突しないっていう主義なの?
35 :
25:04/09/17 20:15:54 ID:???
>>27 function NewWindow()
{
f=window.open('','','');
gostart("hogehoge");
f,location.href='
http://hoge.ne.jp/';
}
にしたら出来ました。
ワンクッション置くのも大事なんですね、参考になりました。
36 :
Name_Not_Found:04/09/18 09:22:49 ID:Bi9M2NdL
質問させてください。
ヘッダーやメニューバーやフッターを各ページに
自動記述してくれるようなスクリプトはないものでしょうか?
ページはcssで各ページ一貫したデザインにしています。
で、コンテンツだけ書き換えたらいいようにしたいのですが・・・・。
SSIとかPHPとか。
>>36 余計なお世話だが、目的によっちゃJavaScriptで行うのは激しく不向き。
気分的に冗長だとか、サーバー容量の問題なら37の言うとおり。
ローケレーションリプレースでページを移動すると履歴が残らないじゃないですか。
テキストボックスに入力したアドレスに現在のページを履歴に残したまま移動するにはどうすればよいのですか?
>>39 ハア? location.replace(...)は特に「そのために」用意されてる
ものじゃん。置換じゃなく普通に追加なら「location.href = '行き先';」
って、それ
>>27 で出てるだろ。たった十数レスも読めないのかよ…
>40
落ち着けよ
JavaScriptとIEの挙動に付いて教えていただきたいのですがよろしいです?
innerHTMLを使って、iframeを表示しています。
その直後に、iframe内のソースは、iframe名.locationで書き換えて表示させています。
このようにすると、書き換えた直後に、表示が更新されてしまいます。
これを、指定時間遅延して表示の更新を行おうと、考えています。
setTimeoutや、setIntervalでWaitとって、遅延させれば楽なんですが、
insertAdjacentHTMLを使って、
<meta http-equiv='Refresh'>を入れ込む事により、
指定時間後の遅延更新を行わせたいと思っています。
document.frames["target"].insertAdjacentHTML("AfterBegin","<meta http-equiv='Refresh' content='10'>");
とやってみたのですが、
「オブジェクトでサポートされていないプロパティまたはメソッドです」
とのエラーが出てしまっています。
【Microsoft DHTMLリファレンス】
http://www.microsoft.com/japan/developer/library/jpisdk/dhtml/references/methods/insertAdjacentHTML.htm#insertAdjacentHTML ここを参考にして作ってみてるのですが、なかなか答えを見つけられていません。
もし、お判りになられる方いらっしゃったら、お教え願えればと思います。
元のソースは
htmlString = "<iframe name='target" + cnt + "' src=" + Interface.url.value + "height='80' width='130' border='5'></iframe>";
here.innerHTML = htmlString;
TimeWait(); // ここはsetTimeoutを呼んで設定された値Waitしてます。;
document.frames["target" + (count % miniWindowCount)].location = Interface.url.value;
この最終行を
document.frames["target" + (count % miniWindowCount)].insertAdjacentHTML("AfterBegin","<meta http-equiv='Refresh' content='10'>");
とりあえず、このような意図のものに変えたいと思っています。
どうぞよろしくご教授お願いいたします。
>>42 document.frames.target は WindowオブジェクトでありHTMLElementでは
ないからメソッドinsertAdjacentHTML()は持っていないだろ。試してない
けどやるとしたらdocument.frames.target.document.body.insertAdjacentHTML()
かdocument.frames.target.document.documentElement.insertAdjacentHTML()
かになるんじゃないの。なぜそうなるのか理解できないなら自分で勉強すれ。
そして第2に、insertAdjacentHTML()で挿入できるのはテキスト要素だけであって
metaなんかは挿入できないと洩れは読んだけどね。そもそもiframe抜きで
meta挿入のテストしてみた?
結局、setTimeout()使うしかないんじゃないのかな。そしてsetTimeout()の使い方
が分かっていないように読める。「TimeWait();」の中で何やってるかソース書いてみ。
爆笑必至と踏んでるけどね。
45 :
39:04/09/18 13:43:35 ID:???
>>40 ありがとうございます。
そんなに怒らないで……。・゚・(ノД`)・゚・。
別に怒ってるわけでなく口が悪いので。申し訳ない。
>>44 なるほど。。。ありがとうございます。
document.frames.target.document.body.insertAdjacentHTML()にて
エラーが出なくなりました。
言って見れば、僕はdocumentオブジェクトと同じように、
insertAdjacentHTMLメソッドを使おうとしてて、エラーが出てたと言う事ですね。
ご指摘のように、metaタグダメでした。。。
BeforeBeginでbodyに書いても利かないし、
document.frames.target.document.head.insertAdjacentHTML()
~~~~~
にしてみたのですが、アクセス拒否と言う事で、かけませんでした。。orz
結局、Wait自身はsetTimeoutや、setInterval使うしかないのですね。。
もうちょっと自分なりに、工夫してみます。
あと、WaitTime();の中身なんですが。。。すみません。便宜上こう書いただけで、
このような関数作ってないんです。。
説明するのに、判りやすくなるかと追加したのですが、余計混乱を招いて
しまったみたいで、申し訳ないです。
まだ、JavaScriptと言うものを触りだして1週間ほど。。。まだまだ勉強不足です。
本当に、参考になりました。ありがとうございました。
>>47 setTimeout(function() { document.frames["target" +
(count % miniWindowCount)].location.href = Interface.url.value; }, 10000);
とするだけで済むんじゃないの? ただしこれだと、10秒後までcount等の変数を
変更しないように注意する必要があるけどね。
>>48 ありがとうございます。
今のところ、
timeID = setTimeout("ReLoad();",eval(Interval.value));
function ReLoad()
{
var target = document.frames["target"];
target.location.href = Interface.url.value;
return;
}
と言う形で、更新をおこなっています。
経緯としては、割り込み時に更新待ちしてしまうよりも、
metaを書いてしまって、更新処理終了と言う事で、
他の処理を走らせる事ができればなぁ〜と思って、
今回の質問をさせていただきました。
実際には、location.hrefでURL渡すのも、
insertAdjacentHTML()で、meta渡すのも、
それほど処理時間の差はないのかとも思いますが、
効率のいいやり方があるのならと思い、質問させていただきました。
一応、作った物を上げてますので、見てやっていただけるとと思います。
不順な動機で作ってるんで、スレ違いかもしれませんが。。。
http://syobon.zive.net:85/src/syobon8667.lzh.html
50 :
Name_Not_Found:04/09/18 22:00:45 ID:n3JSj/h+
この質問がここでいいのか不安ですが...
htmlの中に右を書いても、<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<script src="test.js"></script>の部分がキャッシュされてしまっているようで
再読み込みしてくれません。
-----------------------------------------
自宅apacheのaccess_logをtail -f しながらページを進む戻るで確認しました。
html自体のURLのログは出てきますが、test.jsのアクセスログが2度目以降出てきません。
-----------------------------------------
どのようにすればキャッシュを取らないように指定できるのでしょうか?
>>50 .jsファイルにはmetaタグが書けないからね….jsファイルを
やめてHTMLファイルの中にJSを入れるようにするんじゃないの。
>>50 自宅鯖? なら設定でPragmaヘッダを吐くように弄るのが楽かと。
53 :
Name_Not_Found:04/09/18 22:31:00 ID:n3JSj/h+
>>50 回答ありがとうございます。やっぱり無理ですかね...。
>>52 回答ありがとうございます。
テストで自宅サーバ使ってるだけなのです。
>>50 JavaScriptでってんなら
document.write('<script src="test.js?' + ランダムな文字列 + '">');
みたいな
2週間で100万円 驚愕のビジネス到来!
成功者続出です!
□■□■ 特 徴 □■□■
◎知識や技術は何もいらない!
◎一日30分で十分稼げる!
◎家に居ながらできる!
◎利益は全て自分のもの!
◎2週間で100万円!
人数制限あり!早い者勝ちです!
詳しくは下記アドレスまで!
http://garikuson.kt.fc2.com/
57 :
Name_Not_Found:04/09/18 22:53:25 ID:n3JSj/h+
>>54 回答ありがとうございます。
ちょうど今それをやっていました。
document.write('<script src="test.js?' + new Date().getTime() + '">');
試みてたのはこんな感じです。
ちゃんとログに出てます。おそらくこれしか解決方法は無いですね。(cgiで出すのを別にすると)
ありがとうございました。
.htaccessでheaderという手もあるけど使える鯖はあまりないか
俺は両方吐いちゃったってなんだよこのスレ違い
普通は両方だろ
62 :
Name_Not_Found:04/09/19 08:39:17 ID:FmZ7KmFn
>>60 やっぱりスレ違いかな。
<script 〜 に関することだからここかなと思ったけど。
スレ違いに決まってる。いちいちageんな。
カラーパレットを作っていて
テキストボックスの背景色を選んだ色に変えたいのですが
function sel(color_str){
document.forms[0].elements[0].value = color_str;
document.forms[0].elements[0].bgcolor = color_str;}
bgcolorはだめみたいです。何を使えばいいのでしょうか?
よろしくお願いします。
document.forms[0].elements[0].style.backgroundColor
目的どうり動きました。ありがとうございました。
×どうり
○どおり
日本語の勉強もちゃんとやっとけー。
メールフォームなどに情報を入力して送信を押すと
確認画面に行きます。そこで間違っていると「戻る」ボタンを
押して前のページに戻ります。戻るボタンは
<FORM>
<INPUT TYPE="button" VALUE="戻る" onClick="javascript:history.back()">
</FORM>
で前のページに戻る事は分かったのですが、戻るとフォームに
入力した値が消えてしまいます。これを消えずにパスワード以外は
入力されている状態に戻るようにするにはどうしたらいいのでしょうか?
ブラウザの戻るボタンを使ってもらうんじゃないかな。
またはクッキーなどでデータを全部記憶しておいて戻った
ページでクッキーがあれば自前で全部戻す。おお面倒だ。
素直にサーバー側で処理した方が早いね
>>68 <p>入力内容を訂正するにはブラウザの戻るボタンで入力ページに戻って下さい。</p>
それか訂正用のフォームも確認用の表示の下にでも用意しとけ
誰だ? 競艇場で釣りしてるのは。
結構釣れ(る予感し)ますよ
74 :
Name_Not_Found:04/09/20 01:38:42 ID:5geerhEa
50%の確率とか70%の確率など、一定の確率で
iframeを出現させたり、させなかったりする方法教えてください。
75 :
Name_Not_Found:04/09/20 01:51:27 ID:CWmT7bhC
これを広めるだけでアトピーが治る。
Kさん 好循環 Aさん 悪循環 <日本>
(健康体) (喘息)
1.(神が喘息であるかないかを決める)
2.K 喘息でない人 A 喘息の人は
は体力がある 体力がなくなる
3.K 変化なし A 行動力、五感(嗅覚)が鈍り感性が変化する。
4.K&A 神は異常な感性の人間は本来人に迷惑をかけ
るから外に出てはいけないと思っている。
5.K 変化なし A アトピーになる
6.K 正常な感性 A 外に出なくなりさらに異常な感性になる。
7.K 正常な人間 A 異常な人間(レッテル)
8.K&A 死 9.K&A 来世
10.K&A 神は異常な人間は人に迷惑をかけるので行動
を抑制する必要があると思っている。
11.K&A 神が喘息であるかないかを決める 12.K 喘息でない A 喘息である
13.K&A 1.に戻る
これは事実。広めようぜ
解決法:寝て起きて、やな気分でも、続けるけること。
体力をつけると感覚が正常に戻り、
アトピーも快癒に向かう。 目安としてグランドを10週くらい。
あとはウォーキング 2.3時間を目安にウインドーショッピングや本屋めぐり
絶対治す方法:
よく海外に行ってアトピーが治る話を聞くが、基本的に日本の中のことなので
海外に行くとほとんどの場合体力をつけると治る。 日本の中であっても、体力をつ
けると治るはずだが、 様々な理由により、日本の霊界の存在がばれてしまい、 この失態が明
るみになるので、治さないようにしている。よって、絶対にアトピーを治すには、 海外
に行き体力をつける。
http://life5.2ch.net/test/read.cgi/atopi/1035703616/l50
76 :
Name_Not_Found:04/09/20 04:57:05 ID:dnA/ItYO
テキストエリアに入力された文字をキーイベントで拾って別の文字に置換して
表示(元の文字は表示しない)するにはどうすればいいですか?
たとえばテキストエリア内でEnterキー押したら改行せずにスペースにするとか
テキストエリアに入力された文字をキーイベントで拾って別の文字に置換して
テキストエリアに表示すればいいと思います
Selectタグで複数選択されている状態をSubmit
したようにJavaScriptでSelectタグの内容を
Submitするにはどう書くんでしょうか。
やりたいことはグループのメンテナンス画面で
メンバーを選択するSelectタグ(nameをA)と選択されたメンバーが入る
Selectタグ(nameをB)があり(AとBの間をメンバー削除や追加で
行ったり来たりする)、Bに入っている内容をすべてSubmitで
サーバー側に送りたいのです。
よろしくお願いします。
>>78 onsubmitで全部選択させればいい。SELECT要素にはmultiple属性を付けてな。
var options = SelectElement.options;
for (var i = 0; i < options.length; i++) options[i].selected = true;
>>74 <script type="text/javascript">
if(Math.random() > 0.7) document.writeln('<iframe src="..."></iframe>');
</script>
81 :
Name_Not_Found:04/09/20 17:39:55 ID:RGz4c6jj
Cookie について質問です.
下記のようなスクリプトをつくったのですが,ブラウザが終わる(セッション終了)と
cookieが消えてしまいます.(つまり次回立ち上げた時はまた初期動作となる)
これを指定した期限(下記ソースだと 2010年12月31日)までとっておくには
どうすればいいんでしょうか?ローカルの cookies フォルダにもファイルが作成された
様子はありません.
ローカルで試しても,サーバにアップして試してもダメでした.
WinXP SP1 + IE6.0 で実行しています.よろしくお願いします.
82 :
81つづきです:04/09/20 17:42:17 ID:RGz4c6jj
<html><head><title>hoge</title>
<script type="text/javascript">
/***** Cookie クラスはじまり *****/
/// コンストラクタ
///<param name="name">cookie 値の名称</param>
function Cookie(name) {
this._name = name; // cookie 値の名称
this._expires = "Fri, 31-Dec-2010 23:59:59;"; // 保存期限
}
/// 保存
///<param name="name">cookie 値</param>
Cookie.prototype.Save = function(value) {
var str = new String();
str = this._name + "=" + escape(value) + ";";
str += this._expires;
document.cookie = str;
};
83 :
81つづきです:04/09/20 17:42:56 ID:RGz4c6jj
/// 読込
///<returns>cookie 値</returns>
Cookie.prototype.Load = function() {
var str = new String();
str = document.cookie + ";"
var find = str.indexOf(this._name);
if(find != -1) {
str = str.substring(find, str.length);
var start = str.indexOf("=", 0) + 1;
var end = str.indexOf(";", start);
return unescape(str.substring(start, end));
}
return "";
};
/***** Cookie クラスここまで *****/
function Initialize() {
var fuga = "ふがふが";
var c = new Cookie("ooo");
var str = c.Load("ooo");
if(str != "") {
hoge.innerHTML = str;
} else {
c.Save(fuga);
hoge.innerHTML = "保存しますた";
}
}
</script>
</head><body onload="Initialize();"><span id="hoge"></span></body></html>
84 :
81補足です:04/09/20 17:50:05 ID:RGz4c6jj
ちなみにテンプレ
>>5に載ってる JavaScript basic samples のサイトを
参考にしています.
そっちのサイトのサンプルは意図通りに動作します.
ほとんど中身同じなのになぜ・・・
なんだかめちゃくちゃだな。
保存期限が書き込まれていないだろうが。
86 :
81:04/09/20 18:07:03 ID:RGz4c6jj
>>85 ありがとうございます.
保存期限はコンストラクタで
this._expires = "Fri, 31-Dec-2010 23:59:59;"; // 保存期限
と設定して,
Save()メソッドで書き込む文字列に追加しているんですが,
これはダメなんですか?
>>86 > Save()メソッドで書き込む文字列に追加しているんですが,
コードをよーく見て、参考にしたコードと何が違うのか考えてみ。
88 :
81:04/09/20 18:23:02 ID:???
あああああ!!! "expires=" を書いてなかった・・・orz
書いたらうまくいきました.
>>87 ありがとうございました!!
Javaのソース
class Hoge {
int x;
public Hoge(x) {
this.x=x;
piyo();
}
void piyo() {
alert(x);
}
}
をOOなJavaScriptで書くとどうなりますか?
ボタンクリックで背景色と複数のボタンの色を同時に変えるって出来ますか?
てきとう.
function Hoge() {
var this.x;
}
Hoge.prototype.Hoge = function(x) {
this.x = x;
this.piyo();
};
Hoge.prototype.piyo = function() {
alert(this._x);
};
または
function Hoge() {
var this.x;
function Hoge(x) {
this.x = x;
this.piyo();
}
function piyo() {
alert(this.x);
}
this.Hoge = Hoge;
this.piyo = piyo;
}
>>92の方がもとのソースに近いっぽいですね
試してみます。ありがとう
>>91のthis._xって使えるんですか?
>>80 ども、上手くいきました。
ありがとうございました!
>>93 >
>>91のthis._xって使えるんですか?
typo です.正しくは this.x です.スマソ
96 :
Name_Not_Found:04/09/21 00:08:44 ID:CwRUcE8Q
JavaScriptで、スタイルシートの制御をする際、
<span onmouseover="window.event.srcElement.style.class.color = 'black'"
onmouseout="window.event.srcElement.style.class.color = 'white'">アヒャ</span>
上記のように色なら色だったり、サイズだったりを直接指定する方法は分かったのですが、
classを指定するということはできないのでしょうか。
よろしくお願いいたします。
>>96 classという名前がJavaScriptの予約語だから代わりにclassNameという
プロパティを設定すれ。つか読める過去スレに山のように出て来るだろ。
>>97 親切にありがとうございました。
<span class="gyaha" onmouseover="this.className='guha'" onmouseout="this.className='gyaha'">
げふふ</span>
でいけました!
感謝感激雨あられです。
100 :
Name_Not_Found:04/09/21 13:10:22 ID:CLurd4Yi
すみません。いったん落ちるので失礼します。
>>99 質問の意味がよく分からない。参考サイト開いたけど「戦歴チェック」
というモノは見つからなかった。単にリンクを別窓で開くだけなら
<a>タグに「target="_blank"」という属性を指定するだけだが、それ
ってJavaScriptでも何でもないし。
102 :
Name_Not_Found:04/09/21 15:19:46 ID:tiTGz/gH
フォームのボタンを隠すにはどうしたらいいでしょうか。
<input type="button"〜>を
<input type="hidden"〜>に書き換えればイイ、と思ったのですが
文法がおかしいのか、そもそもそんなことはできないのか・・・。
<書き換え対象HTMLファイル>
<INPUT type="button" value="NEXT" onclick="next()" name="NB">
<JSファイル>
document.comic.NB.type=hidden;
NB.type=hidden; もエラー。
>>102 HTML側の form の name が formA だとして
<input type="button" name="buttonA" value="Press Me">
を見えなくするには CSS プロパティを操作するのが手っ取り早い。
document.formA.buttonA.style.display = "none";
こうする。
105 :
Name_Not_Found:04/09/21 16:09:33 ID:JSj/bdvr
>>102 DOMツリーから削る。
<body>
<form>
<p><input type="button"></p>
</form>
</body>
として、
var MyForm = document.getElementsByTagName("form")[0];
var MyItem = document.getElementsByTagName("input")[0];
MyForm.removeChild(MyItem);
106 :
105:04/09/21 16:10:26 ID:???
ageたあげく、間違えた。orz
var MyItem = MyForm.getElementsByTagName("input")[0];
107 :
102:04/09/21 16:11:22 ID:???
108 :
99:04/09/21 16:15:50 ID:CLurd4Yi
<script language="JavaScript">
<!--
function Check(){
url="
http://games.yahoo.co.jp/games/profile2?name=";
wo=document.SE.ID.value;
location.href=url+wo+"&intl=jp&consolidater=reversi.yahoo";
}
// -->
</script>
<form name="SE" method="POST" action="javascript:Check()">☆戦歴調査☆<br>
Yahoo!JAPAN ID:<INPUT name="ID" size="20" type="text" ondblclick="Check()"> <input type="submit" value="検索" onclick="Check()">
</form>
これだと他サイトに飛ぶのに同じウィンドウになってしまう。
別ウィンドウで表示したいです。どうすればいいですか?
>>108 window.open(開きたいURI, '_blank');
あと FAQ
>>10 のQ5/A5も読んでおいた方がよい。
110 :
99:04/09/21 16:25:07 ID:CLurd4Yi
>109 開きたいURLが途中で切れるのだが・・・。
>>110 どう切れるのさ。「url+wo+"&intl....yahoo"」で何ら
問題なさそうに見えるけど。
112 :
99:04/09/21 16:40:19 ID:CLurd4Yi
おかしいなーエラーがでまくり。
エラーは見るために出るのだ
114 :
99:04/09/21 16:43:58 ID:???
いや、飛ばないorz
>>114 そういうときは alert(...)でその文字列を表示させてみれ。
そんなこともいちいち言わないと分からないのかなあ。
116 :
99:04/09/21 16:49:37 ID:???
>114 すいません。
別ウィンドウで開くようになりました。が、同じウィンドウでも開いてしまう・・・。ヽ(`Д´)ノウワーン
<script language="JavaScript">
<!--
function Check(){
url="
http://games.yahoo.co.jp/games/profile2?name="
wo=document.ch.ID.value;
location.href=url+wo+"&intl=jp&consolidater=reversi.yahoo"
window.open(url+wo+"&intl=jp&consolidater=reversi.yahoo", '_blank');
}
// -->
</script>
target="_search"で開いたiframeの中のセレクトジャンプのtargetが
parent.parent._content.location.href = x;
parent.parent._main.location.href = x;
では開きません。どう記述すれば開くようになるのでしょうか?
お知りの方はいませんでしょうか?宜しくお願いします。
118 :
99:04/09/21 17:07:11 ID:???
<script language="JavaScript">
<!--
function Check(){
url="
http://games.yahoo.co.jp/games/profile2?name="
wo=document.ch.ID.value;
location.href=url+wo+"&intl=jp&consolidater=reversi.yahoo"
window.open(url+wo+"&intl=jp&consolidater=reversi.yahoo", '_blank');
}
// -->
</script>
<form name="ch" method="POST" action="javascript:Check()">戦歴チェック<br>
Yahoo!JAPAN ID:<INPUT name="ID" size="20" type="text" ondblclick="Check()"> <input type="submit" value="検索" onclick="Check()">
</form>
別ウィンドウがでるようになったのはいいが同じウィンドウでも他のサイトに飛びます。どうしたらいいのでしょうか?
119 :
Name_Not_Found:04/09/21 17:10:54 ID:lTG2DcOL
>>118 location.href=url+wo+"&intl=jp&consolidater=reversi.yahoo"
このコードで自分自身を上書きしてます。
>>116 爆笑! そのlocation.hrefへの代入は何のためにやってるのさ。ソースの
どこが何をやってるか理解できないんならJavaScriptなんか触るのやめれ。
そしてもっかい書くけど FAQ
>>10 のQ5/A5も読んどけよ。
>>117 その_contentだとか_mainだとかはどこに書いてあるのさ。ソース全体の
要点を貼ってみれ。
121 :
Name_Not_Found:04/09/21 17:13:10 ID:lTG2DcOL
質問:サブウィンドウが開ききるまで処理を止めたい。
TOP画面からサブウィンドウを開き、サブウィンドウのUPフレーム内のテキストボックスに値を設定します。
【TOP】
<Script LANGUAGE="JavaScript">
var subWin = window.open("Data.htm", "_blank");
subWin.frames.Up.document.forms.UpForm.elements.NameText.value = "test";
</Script>
【Data.htm】
<FRAMESET rows="50%,*" name="Data">
<FRAME src="Up.asp" name="Up">
<FRAME src="Down.asp" name="Down">
</FRAMESET>
【Up.asp】
<%''データベースからデータの読み込み処理 %>
<Form name="UpForm">
<Input type="text" name="NameText">
</Form>
window.openで開いた窓のウィンドウオブジェクトは取れているのですが、
Data.htmのUPフレームが完全に開ききっていない為、
テキストボックスに値を入れる処理で、ランタイム エラーが発生します。
エラー: 'frames.Up.document' は Null またはオブジェクトではありません。
window.openで開いた窓が完全に表示されるまで待つ、
もしくは一定時間を置いて次の実行を開始するようにしたいのですが、
何か良い方法はないでしょうか?
質問を書き込んで十数分で再コピペかよ。あんた2ちゃん向いてないよ。
>>121 その開いた窓でonloadを使っていないのなら
var subWin = window.open(...);
subWin.onload = function() {
subWin.frames.Up.document.forms.UpForm.elements.NameText.value = "test";
};
とかでどうかな。
>>117 自己レスです。
window.open(x, '_main');でいけました。
>>120さんありがとう。
広く使えていいっすよ。
もう二度と来ないけどな。
ちゃんと助けてもらったくせに、ちょっと煽られただけで
キレる奴、ほんと2ちゃんそのものに向いてないよな…
こんなとこに向いてもしかたないからな。
朝鮮人になれば向いてるよ
129 :
Name_Not_Found:04/09/21 18:00:28 ID:lTG2DcOL
>>123 レスありがとうございます。
onLoadに設定する方法を試してみましたが、上手く動作しませんでした。
その為、下記のようにテスト用のコードを組み込み動作を確認したところ"test"と表示されました。
※Up.aspで時間がかかるデータ読み込み処理を削除して動作確認
【TOP】
var subWin = window.open("Data.htm", "_blank");
//テスト用に追加
subWin.frames.Up.document.forms.UpForm.elements.NameText.value = "test";
subWin.onload = function(){
subWin.frames.Up.document.forms.UpForm.elements.NameText.value = "aaa";
};
また、onLoadを使用しているので、できればonLoadを使用しない方法を取りたいと思っています。
情報が抜けてしまっていて申し訳ないのですが、
代入する値はTOPに用意するテキストボックス(仮にTopForm.TopText)の値を渡す予定です。
131 :
Name_Not_Found:04/09/21 19:38:04 ID:lTG2DcOL
>>130 document.readyState()を使用し、動作させることができました。
IEのみ動作すればよいのでこれで行きたいと思います。
一人悩んでいてもなかなか良い方法が思いつかず、本当に助かりました。
丁寧に対応いただき、ありがとうございます。
>>130 クロスブラウザにするなら
var subWin = open("
http://localhost/","hoge");
if( subWin.addEventListener ) subWin.addEventListener( "load", foofunction, false );
if( subWin.attachEvent ) subWin.attachEvent( "onload", foofunction );
function foofunction(){
// statement
}
こういう風でも良いと思う
133 :
102:04/09/21 23:24:49 ID:???
>>レス下さった方々
無事解決いたしました。
結局、ボタンをやめて元の画像にして、ボタンを消したいときは透明GIFの
ダミーに変えることにしました。
さあ、あとはクッキー利用しおり機能追加だー
テキスト内の文章をリストを選択するたびに変更されるようにしたいのですが
どうすればいいでしょうか?
>>134 変更される文章の範囲を<span id="ID名">...</span>で囲んでおく。
<select onchange=
"document.getElementById('ID名').innerHTML=this.options[this.selectedIndex].value">
<option value="あ">a</option><option value="い">i</option></select>
137 :
Name_Not_Found:04/09/22 10:26:21 ID:DVtirj1E
>>132 レスありがとうございます。
今回時間がないのでIEのみ対応としますが、折をみて試してみたいと思います。
最後までご丁寧にありがとうございました。
138 :
134:04/09/22 13:52:14 ID:???
>>136 わかりずらい日本語を解読して教えていただきありがとうございます。
136さんのやり方でできたのですが、あと一つお願いします。
その方法でやった場合、文中に<BR>を入れることができず
長い文章だと見苦しくなってしまいます。
どうにか改行する方法などございませんでしょうか?
140 :
Name_Not_Found:04/09/22 14:38:43 ID:1+tM7Ufd
クッキーに保存されている数字を取り出し、alertでその数字と任意の数字(ここでは1)
を足し算したいのですが、足し算になりません。
クッキーから取り出したものが仮に「1」とすると、alertは「11」になってしまいます。
クッキーから取り出した数字は数字として扱えないのでしょうか。
<SCRIPT Language="JavaScript"><!--
var nExpTime = 10*24*60*60*1000;
function honya()
{
//これはHTMLのBODYで;"として実行する部分
No=getCookie("Honya");
//クッキーがなかったら、Noは1とする。
if(No==""){No=1;}
//次の部分が問題の部分です。
alert(No+1);
}
function getCookie(key){
tmp=document.cookie+";";
tmp1=tmp.indexOf(key, 0);
if(tmp1!=-1){
tmp=tmp.substring(tmp1, tmp.length);
start=tmp.indexOf("=", 0)+ 1;
end=tmp.indexOf(";", start);
return(unescape(tmp.substring(start, end)));
}
return("");
}
//--></SCRIPT>
対象環境は一応IE4、NN4.7以降を想定しています。
#これを参考にしたサイトがそうだったので。IE5以降やOperaなどでも対応できていればいいなと思いつつ。
141 :
134:04/09/22 14:39:08 ID:???
>>139 すいません、<br>いれても<BR>と同じでできないみたいです。
142 :
140:04/09/22 14:42:38 ID:???
>>139 そうじゃないと思います(^^;
それだと<br>が表示されちゃいます。
>>140 0減算とかNumber()とかで数値変換
145 :
140:04/09/22 15:43:27 ID:???
>>144 数値になっていなかったんですね・・・(あせ
ありがとうございました。
146 :
134:04/09/22 16:45:29 ID:???
>>143 あれ?
書き方がおかしいのかも・・・
<option value="あ<br>あ">a</option></select>
このやり方ではだめでしょうか?
>>146 <option value="あ<br>あ">a</option></select> ね
148 :
134:04/09/22 17:39:09 ID:???
あ、あれ?
<br>って書いたつもりだったのに・・・
149 :
134:04/09/22 17:41:49 ID:???
&lt;br>って書いたら<br>って勝手になるんですね。
申し訳ないです。
けれど<option value="あ<br>あ">a</option></select>かいても
<br>と書いた時と同じように反応してくれなくなってしまいました。
メタタグで飛ばしたいのですが
<script language="JavaScript"><!--
var today=new Date();
var m=today.getMonth();
m=m+1;
if (m<10) m="0"+m;
var jump="kongetu"+m+".html"
document.write('<meta http-equiv="Refresh" content="2;URL="');
document.write(jump);
document.write('>');
//--></script>
これだと飛ばずに更新だけしかしません。何がいけないのでしょうか?
宜しくおねがいします。
document.write('<meta http-equiv="Refresh" content="2;URL='+jump+'">');
で飛べました。ageといてごめんなさい。
>>149 表示する文字列の途中で改行すると、途中に強制改行要素 br が入るわけで
つまりノードが複数になる。
表示する文字列を option の value に入れないで、呼応する配列にでも
入れておく。改行を表す文字は<br>でも何でも可。
配列から一つ選ばれたら、表示する予定の要素の childNodes を全部消去。
改行を表す文字列をキーに split でバラバラにし、文字列を textNode に
してその要素に追加、br 要素を生成して追加、を繰り返す。
とできると思う。
153 :
152:04/09/23 00:18:52 ID:???
var escape_string = "<br>";
var str = new Array();
str[0] = "あいうえお<br>かきくけこ";
str[1] = "さしすせそ<br>たちつてと";
function(num) f{
// 下準備
var target = document.getElementById("disp");
var string = str[num].split(escape_string);
// 旧ノード削除
if(target.childNodes.length > 0){
var c = childNodes.length;
for(var i=0 ; i<c ; i++){
target.removeChild(target.childNodes[0]);
}
}
// 新ノード生成
for(var i=0 ; i<string.length ; i++){
var s = document.createTextNode(string[i]);
target.appendChild(s);
target.appendChild(document.createElement("br"));
}
}
innerHTMLさえ扱いきれてないのにねぇ…
155 :
152:04/09/23 00:29:34 ID:???
動作確認はしてませんすみません。
156 :
152:04/09/23 00:30:53 ID:???
深夜残業中のやさぐれ自己満ですすみません。
まぁよいではないか
なぜ深夜残業なんかせにゃならんかよく分かっただろ
海外からブログを更新してるんですが、時差がわかりやすいように
サイドバーに日本時間とイギリス現地時間を並べて表示するスクリプトを
無理やり自作して使ってます。
ソース&使用例
http://www.playnote.net/archives/000151.html ほとんど見様見真似で書いたんですが、どうも処理が重い気がします。
どこをどう変えたらマシになりますか?
#そもそもこれだけのことをするのにこんなに長いスクリプトが必要なんだろうか…。
#両方の土地の時間さえ表示できればいいんですが。
>>158 鯖でやれば。
いや、このスレで言うのも何だけど。
// What time is it Ver 1.01
// Kenichi Tani (見様見真似で作ったので信頼するべからず)
// 14:55 2004/09/23 適当に修正
dd = new Date();
dd_canterbury = new Date();
dd_japan = new Date();
offset = dd.getTime()+dd.getTimezoneOffset()*60*1000;
dd_canterbury.setTime(offset+(+1)*60*60*1000);
dd_japan.setTime(offset+(+9)*60*60*1000);
chour= dd_canterbury.getHours();
cmin = dd_canterbury.getMinutes();
jhour= dd_japan.getHours();
jmin = dd_japan.getMinutes();
chour2 = (chour > 12) ? chour-12 : chour ;//13時以降は-12
if(chour2 < 10) chour2 = " "+chour2 ;//1桁の場合0を足す
chour2 = (chour > 12) ? "PM"+chour2 : "AM"+chour2 ;//PM or AMをつける
cmin2 = (cmin < 10) ? "0"+cmin : cmin ;//分は桁揃えだけ
jhour2 = (jhour > 12) ? jhour-12 : jhour ;//13時以降は-12
if(jhour2 < 10) jhour2 = " "+jhour2 ;//1桁の場合0を足す
jhour2 = (jhour > 12) ? "PM"+jhour2 : "AM"+jhour2 ;//PM or AMをつける
jmin2 = (jmin < 10) ? "0"+jmin : jmin ;//分は桁揃えだけ
document.write("<h2 class=\"sidetitle\">What time is it in</h2>");
document.write("<ul class=\"side\">");
document.write("<li>カンタベリー " + chour2 + ":" + cmin2 + "</li>");
document.write("<li>ジャパン " + jhour2 + ":" + jmin2 + "</li>");
document.write("</ul>");
161 :
152:04/09/23 15:06:38 ID:???
>>157 直しましたー。
var str = new Array();
str[0] = "あいうえお<br>かきくけこ";
str[1] = "さしすせそ<br>たちつてと";
var escape_string = "<br>";
function f(num){
// 下準備
var target = document.getElementById("disp");
var string = str[num].split(escape_string);
// 旧ノード削除
if(target.childNodes.length > 0){
var c = target.childNodes.length;
for(var i=0 ; i<c ; i++){
target.removeChild(target.childNodes[0]);
}
}
// 新ノード生成
for(var i=0 ; i<string.length ; i++){
var s = document.createTextNode(string[i]);
target.appendChild(s);
target.appendChild(document.createElement("br"));
}
}
162 :
152:04/09/23 15:07:26 ID:???
昨夜徹夜で作ったエロ本もよく売れるとうれしいです。
テキストボックスに見たい年を入力して1年分のカレンダーを表示するスクリプトを作りたいのですが、
ボタンを押すと初期化されずに入力年が追加されてしまいます。
初期化して入力年のみを表示させるにはどうしたらいいのですか?
宜しくお願いします。
<html><head><title></title>
<script language="JavaScript"><!--
function cal() {
year = d_y.value;
ds = new Array(13);
ds[1]=31; ds[2]=28; ds[3]=31; ds[4]=30;
ds[5]=31; ds[6]=30; ds[7]=31; ds[8]=31;
ds[9]=30; ds[10]=31; ds[11]=30; ds[12]=31;
if ((year % 4) == 0) { ds[2] = 29; }
if ((year % 100) == 0) { ds[2] = 28; }
if ((year % 400) == 0) { ds[2] = 29; }
dy = new Array(7);
dy[0]="<font color='red'>日</font>"; dy[1]="月"; dy[2]="火"; dy[3]="水";
dy[4]="木"; dy[5]="金"; dy[6]="<font color='yellow'>土</font>";
dw = (new Date(year, 0, 1)).getDay();
for (mm = 1; mm <= 12; mm++) {
outmsg ='<span class="month">' + mm + '月: </span>';
for (dd = 1; dd <= ds[mm]; dd++) {
outmsg += dd + '(' + dy[(dw++ % 7)] + ')';
}
document.getElementById("hyouji").innerHTML += outmsg + "<BR>";
}
}
//--></script></head>
<body onload="cal();">
<input name="d_y" type="text" value="2004"><input type="button" onClick="cal()" value="表示"><br>
<span id="hyouji"></span></body></html>
164 :
134:04/09/23 18:24:39 ID:???
>>152 申し訳ないですがそれの使い方がわかりません。
それを書いてもそのまま表示されるだけで・・・
ただ改行するだけで大変な作業なのですね。
もうちょっと色々がんばってみます。
165 :
134:04/09/23 19:21:50 ID:???
申し訳ないです、あと一つだけ
>>136さんの通りやるとどうしても最初立ち上げた時にテキストボックスに
<span id="ID名">
</span>
が、表示されてしまいます。
どうにか対処法はないでしょうか?
>>165 おいおい…innerHTMLが何か分かってからもっかい来てくれよ。
>>152 そんな面倒なことするより、optionのvalueに入れる文字列中で
改行箇所を使わない適当な文字であらわしておき(たとえば%とかさ)、
innerHTMLに入れる直前にそれを<br$gt;に置き換えたらいいのでは。
すまそ、<br>ね。
170 :
158:04/09/24 00:31:12 ID:???
>>159 こっちからXREAのFTP鯖にアクセスできないんで無理なんです…。
>>160 改変取り入れさせて頂きました。ありがとうございました。
171 :
160:04/09/24 00:56:32 ID:???
>>170 PM or AMをつけるところ、括弧内の条件を
(chour > 12) から (chour => 12) に変えたほうがよさげ。
正午12時が AM 12:00 ってなっちゃうので。jhourも同様。
こんな質問で申し訳ないっす
<br>と<br />の違いってなんですか・・・?
174 :
172:04/09/24 02:25:54 ID:???
ごめんねノシ
175 :
Name_Not_Found:04/09/24 10:58:22 ID:5rxq4wPG
質問です。
今、入力を初期化するリセットボタンを付けているのですが、
onclickイベントやonresetイベントなどが初期化される前に実行されるので
困ってます。
自分としては初期化された後に呼び出されるイベントが欲しいのですが、
どうすればいいでしょうか?
176 :
163:04/09/24 11:16:07 ID:???
177 :
Name_Not_Found:04/09/24 11:55:09 ID:5rxq4wPG
>>176 For文に入る前に
document.getElementById("hyouji").innerHTML = "";
で初期化してやれば問題無いのでは?
178 :
Name_Not_Found:04/09/24 11:58:37 ID:P+o7UoC0
久しぶりにjavascriptをいじってるんだけど、クラスのプロパティにあたる
擬似ハッシュ変数へのアクセスについて質問。
function Test(){
this.data = {
"a" : 1
"b" : 2
};
return this;
}
こういう簡単なクラスがあったとして
var obj = new Test();
for ( i in obj.data ) { 〜〜〜 }
とか
document.write( obj.data[a] );
こういうのじゃなくて、dataのキーが何なのかわからない状態でperlでいう
print %hash;
がしたいんだけど、いい方法はないかな?
177様 ありがとうございました。
Mozilla は document.getElementById が使えないんでしょうか?
getElementsByTagNameにすればいいんですか?
何が使えて使えないのか参考になるサイト教えてください。宜しくお願いします。
183 :
Name_Not_Found:04/09/24 16:35:44 ID:U7PXO7yp
Yahooログインスクリプトを教えてください
意味不明。ログイン処理そのものはサーバ側でやるものだし。
>>180 Moz は、というより Gecko 系は DOM まわりはほぼきっちり動くとかと。
<p id="a">あ</p>
<p id="b">い</p>
のとき、
document.getElementById("a").nextSibling.nodeName
としたとき、p と #Text はどっちが正しいんだろう。
教えてエロイ人。
>>185 だって<p>...</p>と次の<p>...</p>の間にある改行を
勝手に消しちゃったら情報を落してることになるでしょ。
それは困るかも知れない。この情報を利用もできるし
落したければ自分で落とすこともできるMozillaのが吉かと。
長い文字列を指定数以降省略表示する方法はありませんか?
例えば「これから会議でプレ…」のように
ブログのタイトルが長い場合、タイトルリストなどでつかいたいのです。
>>188 指定文字数を超えてたら先頭から指定文字数だけ取り出して「…」を
後ろにくっつける。まんまやんけ。
(1)文字列の長さを調べる方法が分からない。
(2)数値どうしの大小を比べる方法が分からない。
(3)条件に応じて処理を枝分かれする方法が分からない。
(4)先頭から指定文字数だけ取り出す方法が分からない。
(5)文字列の後ろに「…」をくっつける方法が分からない。
さてあなたはどれでしょー。
ありがとうございます。
実は全て分からないです。
勉強して出直してきます。
テーブルのセルの中をクリックするとセルの背景色が変わるようなコードを教えてください。
一回クリックすると黒になって、もう一度クリックすると白に戻るようにしたいんです。
>191
>5
193 :
188:04/09/24 19:34:37 ID:???
1から4まで分かりました。5が分かりません。よろしければ教えてください。
普通に … の文字列を演算子でくっつければ出来るかと。
195 :
188:04/09/24 19:40:14 ID:???
なんどもすみません。条件分けも分かりませんでした。
if else とか。
switch とか。
197 :
188:04/09/24 20:24:04 ID:???
できました。とても参考になりました。ありがとうございました。
こんな感じです。とりあえず、思うように表示されたのでよしとします。
<script type="text/javascript">
var str="<$MTEntryTitle$>"
var outstr=str.substring(0,16)
document.write(outstr)
if(str.length > 16){
outstr = "..."
} else{
outstr = ""
}
document.write(outstr)
</script>
198 :
178:04/09/24 20:41:14 ID:???
だれかお願い。
>>198 Perlみたいに欲しいと思ったら何でもある言語じゃないんだ。
for〜inを使うか、登録したキーとか値とかをハッシュとは
別のデータ構造に格納しておくか、そんなもんだろう。
キーボードの入力を1行ずつCGIに送信するようにしたいのですけど可能でしょうか?
下記のような感じです。
1.一行テキストボックス<input typer="text">に文字入力してリターンキーを押す
2.postでCGIに文字列を送信、結果を別フレームに表示
3.1のテキストボックスを空にして入力カーソルをあわせる
>>200 CGIチャットみたいな?
送信結果が表示されるフレームでフォームを操作するのが良いのでは。
確実に送信後ということで。CGIの出力をいじることになるけども。
>>200 フォームのイベントを利用すればいい
多分こんな感じのだろうと予想してみた↓
<form methid="post" onsubmit="this.submit();this.textbox1.value='';" target="AnotherFrameName">
<dl><dd><input type="text" name="message"></dd></dl>
</form>
203 :
202:04/09/24 23:27:01 ID:???
>>202 this.textbox1 とか書いてしまったので message を textbox1 に脳内変換してくれ _| ̄|○
204 :
178:04/09/24 23:35:23 ID:???
>>202だと送信前にテキストボックスがクリアされる予感。
>>171(160)さん、度々ありがとうございます。
盲点でした。修正しました。
208 :
Name_Not_Found:04/09/25 03:16:34 ID:MAN5Gs1G
変数Aがリストhogeにある数字だったら、kari=Y。hogeにない数字だったらkari=Nとしたい。リストhogeの中身は、CGIの配列変数のように自由に増やしたり減らしたりしたい。
これってどう書けばいいでしょうか。
hoge="1,2,3".split(,);
if(A==hoge[]){kari=Y;}else{kari=N;}
document.write("答えは"+kari);
苦し紛れに考えてみましたが、hogeの[]に何を書いていいものか・・・。
CGIだったらリストhogeは配列変数に放り込んでforeachすればいいのですが。
リストhoge使わないでif(A==1)...を延々書く、ぐらいしか思いつきません。
209 :
208:04/09/25 03:17:09 ID:???
うが。改行忘れた・・・ごめんなさい。
>>208 CGIじゃなくてPerlでしょ。ただ配列を巡回したいだけ? ならforで回せばいい。
∩___∩ | , '´l,
| ノ\ ヽ | , -─-'- 、i
/ ●゛ ● | | _, '´ / ヽ、
| ∪ ( _●_) ミ j iニニ, "● ∪ ヽ、
彡、 |∪| |
>>208 iニニ、_ ',
/ ∩ノ ⊃ ヽ 〈`'ー;==ヽ、〈ー- 、 !
( \ / _ノ | | `ー´ ヽi`ヽ iノ
.\ “ /__| | ! /
\ /___ / r'´、ヽ
`´ヽノ
212 :
Name_Not_Found:04/09/25 04:06:49 ID:YPSJcHQQ
yahoo自動ログインのスクリプトを教えて下さい
213 :
Name_Not_Found:04/09/25 05:51:25 ID:0x1uO3w8
質問です。
var testArray = new Array();
testArray["あいうえお"] = 0;
testArray["かきくけこ"] = 1;
testArray["さしすせそ"] = 2;
window.alert(testArray.length);
とすると、0が返ってくるのですが、なぜ3ではないのですか?
>>213 に質問です。
var a = new Array();
a[0] = 'a'; a[1] = 'b'; a[2] = 'c';
a['あいうえお'] = 'd';
さてa.lengthはいくつであったら満足ですか?
216 :
Name_Not_Found:04/09/25 17:35:40 ID:D3n3Un4S
<SCRIPT TYPE="text/javascript">
<!--
var count;
function BoxChecked(check){
for(count = 0; count < document.form1.checkbox[].length; count++){
document.form1.checkbox[count].checked = check;
}
}
//-->
</SCRIPT>
<INPUT TYPE="button" onClick="BoxChecked(true);" VALUE="全て選択">
<INPUT TYPE="checkbox" NAME="chk[]" VALUE="1"> (1)
<INPUT TYPE="checkbox" NAME="chk[]" VALUE="2"> (2)
<INPUT TYPE="checkbox" NAME="chk[]" VALUE="3"> (3)
チェックボックスにまとめてチェック入れるボタン作りたいのね
チェックボックスはサ-バ-側に配列で値を送りたいから名前の最後に「[]」をつけたいわけよ
それで上記を考えてみたんだけど動かないのね
どこをどうしたら動くんでしょうか
>>216 なんでHTML側の名前が「chk[]」なのにJavaScriptでは「checkbox[]」なんだ?
for(count = 0; count < document.forms.form1.elements['chk[]'].length; ++count)
document.forms.form1.elements['chk[]'][count].checked = true;
試してないけど。あとformsとかelementsとかの集合名は略さない方が安全。
219 :
208:04/09/25 21:57:21 ID:???
>>208で書いた「if延々」だとこういうことになります。
hoge="1,2,3".split(",");
if(A==1){kari=Y;}
else if(A==hoge2){kari=Y;}
...
else{kari=N;}
document.write(kari+"!");
ここではhogeは3つだから上記のように書いてもいいですがhogeが10とか20とかになると
辛いのでコンパクトにできないかと考えました。
hoge="1,2,3".split(",");
for (i = 0; i < hoge.length; i++) {
if(A==hoge[i]){kari=Y;}else{kari=N;}
document.write(kari+"!");
}
document.write...がだーっと繰り返されます。求めている動作と違うみたいです。
書き方がおかしいのでしょうか。
220 :
208:04/09/25 22:04:35 ID:???
>>219 >>210 はい、perlCGIですね。頭のスミにあったのは拒否ホストリストを使ったアク禁。
が、思った動作になりませんでした<for
・・・が抜けてた。うーーー大丈夫かオレ。
>>219-220 Perlで書けるならJavaScriptでも難しくないはず。「求めている動作」が不明だが。
222 :
208:04/09/25 22:30:25 ID:???
switchでできました(汗)
case 数字 をだーっと書き並べてしまいますが if〜else繰り返しよりは
コンパクト。
>>221 えっと・・・
馬鹿だからわかりましぇん(爆)
#自分で組み立てるのはまだまだ遠い先の話<PerlCGI
#改造専門です。機能を削ったり足したり。
求めている動作>
CGIだったら配列変数を使って、配列変数の中身に合致したらある処理を、
合致しなかったら別の処理を、ってするところをJavaScriptでやりたかったんです。
配列変数だと中身の数の増減が簡単に自由にできるので。
switchを使うのが今の私ののーみそでは限界かなあ
223 :
Name_Not_Found:04/09/25 23:18:47 ID:7tN/6rEA
Web広告なんかみたいな、JavaScriptで生成されたIFRAME内の
アンカーのリンク先を、Javascriptで取得したいのですが、それっ
て無理ですか?
>>223 window.frames[?].location.href
ドメインが違ったりすると取得できなかったりする。
<iframe src="..." の属性値の取得は問題ない。
>>222 こういうことか?
for (kari = N, i = 0; i < hoge.length; i++) if(A==hoge[i]) { flag = Y; break }
document.write(kari+"!");
違うならグダグダ言ってないで Perl でコード書けや。
ソース見た方が早い。
出来たって言ってんじゃん
もう構うなって
>>227 仕様です。おしまい。(おまけ: IEの糞ったれ!)
229 :
227:04/09/26 09:21:58 ID:???
しょうがない仕様ですね。どうもっす。
230 :
Name_Not_Found:04/09/26 10:24:43 ID:guug+oA+
おはようございます。JavaScript勉強中です。HPを作るにあたって、どうしても小窓をだしたい
所がありまして、ついに出すことができたんですが、同じページに同じスクリプトを
使ってしまうと(うちの場合BBSとUNIONです)ソースの書き換えではきちんと
書けているはずなのですが、どうしても同じ小窓がでてしまいます。お願いです
教えてください。それと(すいません!!)BBSとUNIONだけ
どうしてもリンクに降れたときタイトルが出せないのですが
これは何ででしょうか??質問申し訳ございませんでした。
URLは
http://www.k2.dion.ne.jp/~yukasaku/main16.htmlです
231 :
216:04/09/26 11:46:19 ID:???
232 :
230です:04/09/26 11:59:34 ID:guug+oA+
すいません。FAQみたらあたしって多分
Q1. 開いた別窓/フレームの内容にアクセスできないのですが…
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
ですよね?すいませんでした!!!
233 :
Name_Not_Found:04/09/26 19:43:14 ID:kCFSLGIU
ボタンにマウスオーバを設定しているんですけど画像の
切替(読み込み)が遅いです。早くするやりはどうすればいいですか。
回線をADSL以上にする。
235 :
Name_Not_Found:04/09/26 19:51:11 ID:kCFSLGIU
>234
サーバースペックと通信環境に100%依存するのでしょうか。
スクリプトでカバーできないのでしょうか。
>>233-235 画像を先読みキャッシュしておけば速くなるよ。ただし先読み完了前に
は当然ながら速くはならない。方法は次の通り。
(1) img1 = new Image(); img1.src = '画像ファイルURI';
で必要な画像いくつでも先読みとキャッシュを行う。
(2) マウスオーバで画像ファイル名を設定するとき、img1.src 等を
参照して設定する。
237 :
Name_Not_Found:04/09/26 20:01:05 ID:kCFSLGIU
238 :
223:04/09/27 02:50:10 ID:???
>>224 できました。
確かに外部ドメインだとエラーが出ちゃうみたいなんだけど、
例外処理みたいなので、回避する方法は無いのでしょうか?
>>238 うん。ブラウザのセキュリティ設定などでローカルではどうにかなるかもしれないけど。
>>238 セキュリティ制約に引っかかった場合でもJavaScriptエラーに
ならずに続行したいということなら、try-catchで囲めばいい。
もちろん、制約は制約だから別ドメインの時は値は取れない。
java scriptについて質問させてください。
掲示板のスレを削除するとき、確認画面を出してから削除させたいのですが、
その時POSTでCGIを叩く方法がわかりません。
現時点では、こんな感じで書いてます。
【スクリプト】
function EVENT1(){
if (confirm ("削除しますか?") ) {location.href="hoge.cgi?pass=test" }
}
【タグ】
<input name="del" type="submit" id="del" value="削除" onClick="EVENT1()">
どうか、教えてください。m(_ _)mペコリ
>>241 「削除しますか?」の確認ダイアログを出したいだけなら
<form onsubmit="return confirm('削除しますか?')"> で充分。
243 :
Name_Not_Found:04/09/27 15:41:16 ID:IPvX6jgZ
ボタンをクリックすると
3つのフレームが同時に切り替わるjavaを使用したのですが。
IEブラウザの戻るボタンを押すと、
切り替わった3つのフレームの1つしか切り替わらなく、3回戻るをクリックしないと、
戻らないというとても不恰好なものになってしまいます。
なにかいい方法はないでしょうか?何卒宜しくお願いいたします。
Winxpです。
>>243 : このスレに書き込むことが許されるものは以下のとおり
: ・JavaScriptとJavaの違いを理解する者
>>241 java script じゃねーよ!
245 :
243:04/09/27 15:48:12 ID:IPvX6jgZ
>>244 大変申し訳ございません。
JavaScriptを使用致しました、
宜しくお願いいたします。。。
246 :
241:04/09/27 15:48:40 ID:???
>>242 ありがとうございます。
今のところ削除のみなので、上記のとおりで大丈夫ですが、
できれば241のやり方でPOSTで送りたい場合の方法を
教えていただけないでしょうか。
次のステップで少し複雑なことをやろうとしているので、
何卒よろしくお願いします。m(_ _)mペコリ
>>245 たとえば同じフレーム配置だが別のframesetページにジャンプして、その中で
それぞれのフレームをlocation.replace()で切替えるとかどうかな。
---main.html---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
</script>
</head><body>
<p><a href="t2.html?
http://www.yahoo.com?http://www.google.com?http://www.goo.ne.jp">test</a></p>
</body></html>
---t2.html---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html><head><title>???</title>
<script type="text/javascript">
function sw() {
var a = String(location.href).split(/\?/);
frames.f0.location.replace(a[1]);
frames.f1.location.replace(a[2]);
frames.f2.location.replace(a[3]);
}
</script>
</head><frameset name="top" cols="0*,0*,0*" onload="sw()">
<frame name="f0" src="about:blank">
<frame name="f1" src="about:blank">
<frame name="f2" src="about:blank">
</frameset></html>
>>246 画面に見えないように隠しフォームを仕込んでおいて、
confirm()がtrueならそのフォームをsubmitすれば?
>>241 onsubmit で
if(confirm(ほげ)){
フォームオブジェクト.submit();
}
else{
return false;
}
とするとか。
250 :
249:04/09/27 16:12:07 ID:???
だからリロードしろと… orz
>>248 ハネムーンは熱海で。
>>249 onsubmitの中でもっかいsubmitすると何が起きるかなあ。
どっちにしろそんなのより
>>242 の1行で十分だろ。
画像をクリックして開くときに、新しいウィンドウで開いて欲しいのです。
また、そのウィンドウは画像の大きさで勝手にリサイズして表示して欲しい。
それと、一つ一つのタグに書き込む物ではなく、HEADで別ファイルで利用可能。
のJSを書け。
254 :
Name_Not_Found:04/09/28 18:42:59 ID:58DlBQvB
CSSスレで質問したら、こちらへ誘導されたので、マルチで申し訳ありません。
ロールオーバー効果を使って、別のテーブルにバナーと説明文がでるような
リンクページをつくりたいのですが、どういう記述をしたらいいのでしょうか?
ttp://bridgeco.jp/ ↑ここのenterから入ったリンクページのようなのを作りたいんです
ここのソースも見たのですが、長くてどこを抽出したらいいのかわかりませんでした
256 :
254:04/09/28 20:40:51 ID:???
>255
丁寧にありがとうございました。
258 :
253:04/09/28 23:13:28 ID:???
やーい、負け惜しみー♪
>>252 こうかな。余白の値は適当に調節。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function op(f) {
var w = window.open('about:blank', '_blank');
w.document.write('<body onload="ch()">');
w.document.write('<div id="d0"><span id="s0"><img src="' + f + '">');
w.document.write('<\/span><\/div><script type="text/javascript">');
w.document.write('h=document.getElementById("d0").offsetHeight;');
w.document.write('w=document.getElementById("s0").offsetWidth;');
w.document.write('window.resizeTo(w+30,h+110);');
w.document.write('<\/script><\/body>'); w.document.close();
}
</script>
</head><body>
<p><a href="javascript: op('small.png')">small</a></p>
<p><a href="javascript: op('large.png')">large</a></p></body></html>
60点。
>>252 createElement や new Image() で生成したイメージって、
width と height って取得できたっけ?
出来れば、その大きさに合わせて window.open する、でいいのでは。
出来なければ、画像ファイル対サイズのデータが何かしら必要なんで、
汎用化するのはあまり意味のある事じゃないかもね。
開いたウィンドウがドキュメントである必要があるならば、
>>259の用に write するのがよいかと。
要素生成して append しても、ちゃんと動くクライアントがあるかどうか
すごく怪しい。
つか、
>>252 が色々やってレポれよ、このマゾ野郎!
>>260 100点のサンプル頼むよ。ぜひとも参考にしたいからさ、よろしく(ry
>>261 もちろんwidthやheightは「HTMLで指定した」ものしか取れないとも。
それじゃ役に立たないから囲む要素のoffsetWidth/offsetHeight使って
るわけだろ。
263 :
261:04/09/29 09:30:02 ID:???
あー、サムネイル叩いて大きい画像出すものだと思いこんでた。
そのまま別ウィンドウで出すだけなら、その要素の縦横にあわせて
ウィンドウ開くだけじゃんね。
お騒がせスマソ
次、ドゾー
二つ前のウィドウが開いているかどうか判定したいのですが
if (window.parent.opener.opener.parent == null) {
}
としても
「エラー:呼び出し先(サーバーアプリケーションではなく、サーバー)は消失し、利用
できません。すべての接続は無効です。呼び出しは実行されていません。」
となります。
二つ前のウィンドウはどのように指定すればよいでしょうか?
>>263 後からなら何とでも言えるわな。誤読したくせにエラソーに
語るのやめれ。なぜ
>>259 でdivとspan併用してるか分かる?
>>264 1つ前のウィンドウが別サーバってことはないの?そして
なんでparentが入っているのか(2個所)説明してみれ。
266 :
264:04/09/29 11:52:35 ID:???
>>265さん
1.それはないです。
2.ただウィンドウでフレーム分けをしてるってだけの理由です。
要するに一つ前のウィンドウが消失したときに、2つ前のウィンドウを見ようとすると
上記のエラーになるんですが、
それを回避する方法を知りたいです。
>>266 フレーム分けの構造をすべて記述してくれないと
そのparentのはさみ方で会ってるかどうか分からんね。
268 :
264:04/09/29 13:14:33 ID:???
すいません。
フレーム分けはここでの本題で無いので、
if (window..opener.window.opener == null) {
}
とします。
これでも同じエラーが返ってきます。
>>268 (1)「window..opener」って「..」じゃエラーだろ。
(2) window.openerはwindowオブジェクトだからwindow.opener.windowは
window.openerと同じもの。だからwindow.opener.openerでいい。
(3) 閉じてしまったかどうかはnullかどうか調べるのではなくclosed
プロパティを調べる。if(window.opener.opener.closed) が正しい。
270 :
264:04/09/29 14:33:17 ID:???
でけましたー
ありがとうございます
プログラム板で質問したのですが、言語を書かなかったので
極簡単な回答しか得られませんでした。
マルチですみませんがよろしくお願いします。
JavaScriptの練習で電卓を作ってみようと思ったのですが
9999999*9999999
は
99999980000001
と正しく計算されるのに
99999999*99999999
は
9999999800000000
と間違って計算されるのはどうしてでしょうか?
小数計算で間違った値が出るのはわかるのですが、
整数同士のかけ算でもこういったおかしい数字が出るのはどうしてでしょうか?
ム板では
【有効桁数】
とだけ回答を得られたのですが、ヒントだけでもよいので
もう少し突っ込んだ解説をよろしくお願いします。
>>271 なんでム板からこんなところ来るのさ。普通の(多倍長など特別な方法を
使わない)場合の計算精度は有効桁数で12桁くらいかな。正確な値は
「9999999800000001」ほら、16〜17桁が必要じゃん。計算可能な精度を
超えてるよ。おしまい。
>>271-272 ああ、何が疑問なのか分かったよ。CやC++やJavaだと整数はあふれると
2の32乗なり64なりのmodの値になるが計算そのものは正確になされる。
でもJavaScriptは整数でも実数でも表現は同じ浮動小数点で扱うことに
なっている。だから整数が大きくなりすぎると下の方が丸められて近似値
になるんだよね。ということでいいかな。
274 :
271:04/09/29 16:29:07 ID:???
>>273 質問の仕方が下手ですみません。
真意をとらえていただきありがとうございます。
まさにバッチリのご回答をいただきました。
どうもありがとうございます。
275 :
Name_Not_Found:04/09/29 20:25:08 ID:jAgKZT9R
同じIDを振られた要素のコレクションをgetElementById()みたいに
取得する方法はありますでしょうか?
同じIDを振るなと言われそうですが、
HTMLは既に本稼動している他社のサーバサイドプログラムが吐いており
HTMLを直すのは無理です。
お願いします。
同じIDを振るな。でもIE専ならdocument.all('ID名')で取れるよん。
>>275 >HTMLは既に本稼動している他社のサーバサイドプログラムが吐いており
こっちを修正してもらう方がイイと思われ。
ていうか
同じIDを吐き出すサーバサイドプログラムってそれ自体失格じゃねえの?
id = "foo"⇒ id = "foo_1" id = "foo_2"
みたいに修正してもらうのって、そんな手間かからないと思うし。
278 :
275:04/09/29 21:10:56 ID:???
>>276 取れました。ありがとうございます。
>>277 いやーこれがID以外にも、かなり凄まじいHTMLで…。
しかもidをサーバサイドプログラム内部でも使ってるので、
IDを直すも、全部作り直すも同じ位だと思います。
うちと関わるページが少ないのが不幸中の幸い…。
279 :
Name_Not_Found:04/09/29 22:00:27 ID:ZL3yEx+p
すみません、質問させてください。
サムネイルにマウスポインターを移動すると画像が換わるようにしたいのですが。。
<head>〜</head>内に
<script language="JavaScript"><!--
if(navigator.appVersion.charAt(0)>=3)
{ img=new Array()
img[0] = new Image();img[0].src='0.jpg';
img[1] = new Image();img[1].src='1.jpg';
img[2] = new Image();img[2].src='2.jpg'; };
function changImg1(imgA,imgB)
{ if(navigator.appVersion.charAt(0)>=3){
document.images[imgA].src=img[imgB].src; }}
// --></script>
を記述して、画像表示?の部分に
<IMG SRC="0.jpg"><P>
<A HREF="JavaScript:void()" onMouseOver="changImg1(0,0);">
<IMG SRC="0.jpg" WIDTH="60" BORDER="0"></A>
<A HREF="JavaScript:void()" onMouseOver="changImg1(0,1);">
<IMG SRC="1.jpg" WIDTH="60" BORDER="0"></A>
<A HREF="JavaScript:void()" onMouseOver="changImg1(0,2);">
<IMG SRC="2.jpg" WIDTH="60" BORDER="0"></A>
といった感じで記述しています。
ここまでは合っていると思うのですが(多分)画像のサイズが同じになってしまいます。。
縦サイズのものと横サイズのものを表示したいのですが、無理でしょうか?
初心者なので、バカな質問で申し訳ないです。。
一応調べたのですが、ロールオーバーばかりで。。。
>>279 元画像とロールオーバー時の画像は同じ大きさ
281 :
279:04/09/29 22:19:59 ID:ZL3yEx+p
>>280 ありがとうございます
ということは、元画像と違う大きさの画像は
表示できないということですよね?
うーん。。
余白とかで同じサイズにすればいいじゃないの。
まったく方法がないわけではないが初心者には無理だし。
>>281 images[imgA].widthとかheightを逐一変えれば?
>>285 ん、そうかい? 手元のIE6では全く問題ないようだが。
>>275 出来ればIE以外も考えてくれ。以下の関数は Gecko 系なら動作すると思う。
Mozilla Firefox 1.0PR でテスト済み
function getElementsById(id){
if( !document.getElementsByTagName ) return null;
var elements = document.getElementsByTagName('*');
var array = new Array();
for(var i in elements){
if( elements[i].id == id ){
array.push( elements[i] );
}
}
return array;
}
>>283 images[imgA].style.width
images[imgB].style.height でもいかんの?
いちいちサイズをアレするのが面倒だという理由?
289 :
A:04/09/30 02:11:44 ID:H2qjES+Q
>>289 コピーって何を?
選択反転させたテキストとかのこと?
>>289 デフォルトのメニューを殺すなら「ユーザーに迷惑となるスクリプト」
292 :
A:04/09/30 02:58:14 ID:H2qjES+Q
>>290 右クリックして出てくるメニューのコピーと
同じことをしたいのです。
つまり、クリックしたら範囲指定したtextをクリップボードに
コピーさせたいのです。
<a href="#" onClick="text=document.selection.createRange();text.execCommand('Copy')";return false;><b>コピー</b></a>
こんなところかな。
>>292 Gecko系使ってますが、ふつーに右クリできました。
295 :
279:04/09/30 09:37:57 ID:4mcfNISb
>>282-286,288
丁寧にありがとうございます!
widthとheightを逐一変えるの、できないですよね…?
うまくいかなかったんですが。。
あと
>>283の方法なんですけど、
サイズ同じ画像もあるので、それだと全部縦サイズに
なっちゃいますよね??
自分のやろうとしてることは、やっぱり無理があるんかな。。
何かいい方法ないですかね。。。
アドバイスあればお願いします
>>295 そもそも、何がやりたいのかよく分かってないのだけど。単に差し替えた
画像のサイズに応じてreflowさせればいいのなら
<div id="d0"><img src="最初の画像"></div>
とかマークアップしておいて
document.getElementById('d0').innerHTML = '<img src="' + ファイル名 + '">';
で取り替えれば済むわけだが…
297 :
279:04/09/30 09:54:26 ID:4mcfNISb
>>296 サムネイルにマウスポインターを移動すると画像が換わるようにしたいんです。。
今は、一応
>>279に記述した通りになってます。
画像のサイズが縦横逆のものがいくつかあって、それがうまく表示されないんです。。。
<IMG SRC="0.jpg">の部分を、
<div id="d0"><img src="0.jpg"></div>にして、
<A HREF="JavaScript:void()" onMouseOver="changImg1(0,0);">
<IMG SRC="0.jpg" WIDTH="60" BORDER="0"></A>を、
document.getElementById('d0').innerHTML = '<img src="' + 1.jpg + '">'; に変えればよいということですか?
リファラーを取得する手段はありますか?
>>298 document オブジェクトが referer っちゅうプロパティを持ってます。
リファラーを取得する手段は見つかりました
ありがとうございました
POSTされたデータってJavaScriptから取れるの?
302 :
288:04/09/30 10:42:33 ID:???
>>295 > それだと全部縦サイズになっちゃいますよね??
おなじ値をいれればそうだけど、画像毎にそれぞれ対応するサイズを
与えてやれば、という話で、
>>288でそれが面倒なのかな?と。
で、あれば innerHTML を使ったり、要素生成してノードを入れ替えて
しまうのが手っ取り早いんじゃない?
という話だと。
>>301 POSTは鯖に渡すもの。一方 JavaScript はクラで動くもの。
ということで、とれません。
304 :
279:04/09/30 10:47:10 ID:4mcfNISb
>>302 そういうことですか、ありがとうございます。
innerHTMLというと、
>>296の方法ですよね?
>>297の感じで良いのでしょうか??
もっと複雑ならば、
面倒だけど画像ごとに対応するサイズを与えた方がいいですよね。。
>>303 (゚∀゚)サンクスコ
そっかーじゃあGETで我慢するしかないか
>>304 マウスオーバでゴニョゴニョしたい一連の画像が詰まった配列を tmp として。
変わる前の画像はファイル名の末尾に一律で _p1 という文字列がつく、
変わる後の画像はファイル名の末尾に一律で _p2 という文字列がつく、
とすると。
for(var i=0 ; i<tmp.length ; i++){
tmp[i].onmouseover = function(){
var NewImage = document.createElement;
NewImage.src = this.src.replace("_p1","_p2");
var pn = this.parentNode;
pn.removeChild(this);
pn.appnedChild(NewImage);
}
}
とすればできるかな。今、脳内ブラウザでやってみただけだけど。
307 :
306:04/09/30 11:11:04 ID:???
あー。
<p><img><img><img></p>
とかなってたら駄目じゃん orz
>>305 postされたデータをcgiでそのまま返せば?
309 :
Name_Not_Found:04/09/30 11:34:45 ID:1kvSh60b
月のところだけを英語表示(Aprilなど)で表示させるのは可能でしょうか?
>>297 不勉強すぎる。HTMLとJavaScriptの区別がつかんのかアンタは。
関数ChangeImg()の中で当該divのinnerHTMLを書き換えるんだよ。
ヒントは十分出たんであとは勉強すれ。
>>309 ハア?
311 :
252:04/09/30 13:30:04 ID:???
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function op(f) {
var w = window.open('about:blank', '_blank');
w.document.write('<body onload="ch()">');
w.document.write('<div id="d0"><span id="s0"><img src="' + f + '">');
w.document.write('<\/span><\/div><script type="text/javascript">');
w.document.write('h=document.getElementById("d0").offsetHeight;');
w.document.write('w=document.getElementById("s0").offsetWidth;');
w.document.write('window.resizeTo(w+30,h+110);');
w.document.write('<\/script><\/body>'); w.document.close();
}
</script>
</head><body>
<p><a href="javascript: op('small.png')">small</a></p>
<p><a href="javascript: op('large.png')">large</a></p></body></html>
↓↓↓↓↓↓↓↓↓↓↓↓
<head>
<script language="JavaScript" src="test" type="text/javascript"></script>
</head>
<body>
.
.
<a href="test.png"><img src="test.png" /></a>
</body>
</html>
このような形式でbody内は書き換えずに出来ないと難しい
さあ!さあ!
>>311 > このような形式でbody内は書き換えずに出来ないと難しい
ハァ?
313 :
Name_Not_Found:04/09/30 13:48:32 ID:1kvSh60b
すみません。説明不足でした。
日時を表示したいのです。
30/September/2004と表示したいのですが可能ですか??
>>311 本当にそういう趣旨の質問なの?まあそういう風に書き換えろって
のならJavaScriptで決まった形のAタグの中身を加工すりゃいいんで
別に難しいこたない。ところでbodyタグの「onload="ch()"」ってのは
消し忘れなんで消しといてね。
>>313 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<p><script type="text/javascript">
var d = new Date(), m = ['January','February','March','April','May','June',
'July','August','September','Octobar','November','December'];
document.write(d.getDay() + '/' + m[d.getMonth()] + '/' + d.getFullYear());
</script></p>
</body></html>
317 :
Name_Not_Found:04/09/30 15:35:32 ID:JYnTw7hT
おしえてください
function new001pin(){win=window.open('./xxx/yy.html','newwindow','width=640,height=480,location=0,scrollbar=1,toolbar=0,menubar=0,status=0');win.moveTo(80,80);}
↑macではスクロールバーが出るのですが、winでは出ません。
間違えてますか?
317です
scrollbar → scrollbars で出ました。
なんでマクは表示されたのでしょ・・・
319 :
313:04/09/30 15:55:50 ID:1kvSh60b
>>318 なんでって、そういうブラウザなんだろ。だいたいアンタ、ブラウザの名前
すら書いてないけど。
適当に「よきにはからって」くれるブラウザより「きっちり標準通りでない
と拒絶する」ブラウザの方がありがたいんだよね、実は。
321 :
Name_Not_Found:04/09/30 21:16:47 ID:4PNKddEO
質問させてください。
画像UP掲示板を作っているのですが、画像をUPする際、
参照で選んだ画像をサーバーにアップする前に、ローカルで
プレビューさせたいと思っています。
今、こんな感じで指定しているのですが、うまく行きません。
■スクリプト
function selectImage(UploadFile) {
document.getElementById('imageTag').innerHTML = "<img src=\"" + UploadFile + "\" width=\"100\" height=\"100\"/>";
}
■挿入場所
<span id="imageTag"></span>
JavaScriptだけでローカルの画像をプレビューさせる方法を教えてください。
322 :
279:04/09/30 21:17:59 ID:4mcfNISb
>>310 すみません。たくさん教えて頂いてるのに、物分かり悪く。。
<head>〜</head>内に
<script language="JavaScript"><!-- if(navigator.appVersion.charAt(0)>=3)
{ img=new Array()
img[0] = new Image();img[0].src='0.jpg';
img[1] = new Image();img[1].src='1.jpg';
img[2] = new Image();img[2].src='2.jpg'; };
function changeImg1(imgA,imgB)
{ if(navigator.appVersion.charAt(0)>=3){
document.getElementById('d0').innerHTML = '<img src="' + ファイル名 + '">'; }}
// --></script>
・
・
<div id="d0"><img src="0.jpg"></div>
<A HREF="JavaScript:void()" onMouseOver="changeImg1(0,0);">
<IMG SRC="0.jpg" WIDTH="60" BORDER="0"></A>
<A HREF="JavaScript:void()" onMouseOver="changeImg1(0,1);">
<IMG SRC="1.jpg" WIDTH="60" BORDER="0"></A>
<A HREF="JavaScript:void()" onMouseOver="changeImg1(0,2);">
<IMG SRC="2.jpg" WIDTH="60" BORDER="0"></A>
といった感じで、いいでしょうか?
何度もすみません。
>>322 だから「ファイル名」のとこを「img[imgB].src」にするんだろ。
>>321 馬鹿じゃん! その<img>タグの中に入れてページに埋め込んだ時点で
冒頭に「
http://...」が補われてサーバ上のファイルということになる。
1つのページ中にローカルなものとリモートなものを共存させることは
不可能だって。
http://www.jaga.jpn.org/ このサイトの戦車ゲームが
動くことは動くのですが他のPCより重く
2秒ぐらいに1回スローになってしまいます。
ちなみに今のパソコンはノートの
OSはXP・ブラウザはIE6.0SP1です。
スペックは今年発売されたローコストの
パソコンですがメモリも増やしてまぁまぁの
スペックだと思います。3年前のノートの方が
動作が速かった(通常)でした。
JavaかJavaScriptのバージョンが古いのかと
思ってるのですがどこでバージョンアップできるでしょうか?
ちなみにコントロールパネルにあるJavaのバージョンは
Java(TM)プラグインの1.4.2-b28というものでした。
どうかご教授お願いします。
326 :
Name_Not_Found:04/09/30 23:53:17 ID:RPwfKswn
325
お前がスルーだろ。
簡単なんだから誰か教えてやれ
>>326 JavaScript と JAVA の違いが分からんヴァカだからスルーと言われてる。
でな、日本語が不自由みたいだから教えといてやるが
>誰か教えてやれ
ではなく「教えてください」だ。間違えるな。
http://jp.sun.com/
質問させてください。
小窓を開くスクリプトを組むのですが、リンクする側のページではなく
開きたいページ自体にウインドウサイズを指定することは可能なのでしょうか?
はい
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript" src="jstest.js">
</head>
<body onload="test()">
</body>
</html>
function test() {
document.write( "Hello!" );
}
これ、Mozillaで動くんですけど、IEで動きません。何故?
答えるヤシ香ばし杉だな。ったく。
>>323 人を馬鹿にするのはいいんが、
で き ま す よ。
335 :
ねーむのっとふぁうんど:04/10/01 10:47:43 ID:uWLLVIoN
しつもんさせてください。
いま、サイトを作っているのですが、
aでリンクを設定して、クリックしたら指定したところにスクロールする
というスクリプトはありませんでしょうか?
お願いします。
336 :
Name_Not_Found:04/10/01 10:48:25 ID:IYLLqLjv
昨日313で質問したモノです。
今日見てみたら日にちのところが5になっていたんですが。。。
自分で直せないので一から違うJavaScript打っていったんですが
うまく表示されません。
>>336 すまそ、getDay()じゃなくてgetDate()だったかな。
どっちかは曜日を番号0〜6で返す奴。金曜日は5。
>>335 指定したところって、どうやって指定するの。アンカー
とかだったらJavaScriptと無関係。
クリックしたらスクロールするスクリプトを書けばいいんでしょ?
>338
「何ピクセルの位置」ということでわかるのならね。
でも普通はHTMLでアンカー指定したリンク貼るよな。
>>339 アンカー無しでもなんとかなるな
「なんとかの要素のある場所」を調べてそこまでスクロール
そうは言うけど、その要素にID振るんだったらアンカーなっちゃうし。
そこで
>>335 が結局何をしたかったのかが問題になるんだよな。
逃げたのかね?
342 :
Name_Not_Found:04/10/01 15:38:47 ID:/1iYtLwI
<script type="text/javascript">
<!--
function func() {
document.all.hoge.style.display = "none";
}
// -->
</script>
<div class="hoge" onclick="func()">aaa</div>
クリックしたら消すようにしたいのです。
classで指定したいです。idでは出来ました。
classでやるにはどうしたらよいのでしょうか。
343 :
313:04/10/01 15:40:15 ID:IYLLqLjv
>>336表示できました!
ありがとうございます!!
>>342 ホレ。配置は変化せず見た目だけ消すなら visibility:hidden ね。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
</style>
<script type="text/javascript">
function test() {
var r = document.styleSheets[0];
if(r.insertRule) r.insertRule('.xx { display: none }', 0);
else if(r.addRule) r.addRule('.xx', 'display: none');
}
</script>
</head><body>
<div class="xx" onclick="test()">Test 1</div>
<div class="yy">Test 2</div>
<div class="xx">Test 3</div>
</body></html>
345 :
ねーむのっとふぁうんど:04/10/01 16:46:58 ID:uWLLVIoN
その、onclick属性で指定してクリックしたらその場所へスクロール・・・
としたいのです。
>>338 はい、そのとおりです。
>>341 アンカー指定するとxxx.htm#topのようにURIが変わって、履歴に残るので嫌なんです・・・
逃げてはいません・・・。
javascriptがオフの環境でも移動するように、(オフの場合は仕方がないためアンカーですが)
<a href="#top" onclick="(スクリプト);return false;">という風にしたいと思っています。
オフとの互換性(といえるかな?)のために、idで指定したところに飛ばせるようにできませんか?
わがままですいません・・・
FORMで、INPUTとかに入力中にリターンキーを押したら
SUBMIT押されたのと同じになっちゃうじゃん?
これをキャンセルするのってJavaScript使う以外に
なんか方法ある?
>>346 送信キャンセルはできないが <input type="submit"...
にname属性をつければサーバサイドで受付拒否することはできる。
>>347 (゚∀゚)サンクスコ
なるほど・・・これは便利な概念ですね
>>345 a に id を振ればいい。href="#[id名]" でリンクを張ればそこへ飛べる。
IE5+とNN6+は少なくとも飛べる。
SGML仕様上 id は大文字で解釈されるはずなので
id へリンクを張るなら大文字であるのが望ましい。
<a href="#HOGE" onclick="location.href=location.href+'#HOGE';return false;">
それだとURIが変わると思うんだが。
location.replace()を使えば履歴に残るのは止められるが。
<body onload="init()">
<form>
<div id="vform">
<div id="remove">消える</div>
</div>
</form>
</body>
外部ファイルに、
function init() {
node_div = document.getElementById('vform');
node_remove = document.getElementById('remove');
node_div.removeChild(node_remove);
node_select = document.createElement('select');
command = "jump(this);";
node_select.setAttribute('onChange', command);
…(この辺りでoptionを設定)
}
jump()は、そのurlに飛ばす関数を別に定義してる。
selectで何かを選択すると、そこに飛ぶ様なものなんだけど、
これ、Mozillaじゃ動くんだけど、IEで動かない。
どうもonChangeのイベントでjumpに飛ばないみたいなんだが何故だろうか?
後、その辺りを説明しているサイトを紹介して欲しい。
>>354 setAttribute()経由だとダメポという例は山程あるんだが、
なんで皆回りくどいのが好きなんだろうねえ。謎だ。
node_select.onchange = function() { jump(node_select); };
試してないけどね。
hoge = document.createElement("input");
hoge.type = "hidden";
hoge.name = "taiho";
hoge.id = "taiho";
hoge.value = "田代";
上記の
hoge.type = "hidden"
部分がMac+IE5だと正常に動かないんだけど、それはMacIEが糞だから?
>>355 感謝。動いた。
まだ、1週間くらいしかJavaScriptいじってないから、回りくどいのはご容赦を。
>>356 MacIE は innerHTML プロパティをゴニョゴニョする以外、
input 要素の生成は困難な模様。
以前いろいろとログをとるスクリプトを作っていて、
input type="hidden" をわさわさ生成したら、MacIEではブラクラになった。
>>356 レスサンクスです
innerHTMLゴニョゴニョの方向でやってみます
>input type="hidden" をわさわさ生成したら、MacIEではブラクラになった。
これちょっと心当たりがあります('A`)
360 :
359:04/10/02 03:12:30 ID:???
361 :
ねーむのっとふぁうんど:04/10/02 06:35:29 ID:00AyXCDK
>>349 はい、その通りです。
>>350 >>351の意見と同じく
>>352 しかし・・・やはりURIが・・・
>>353 ページの上端だけ、下端だけというのではなくて、目次のように使いたいので。
リンクが張られていて、クリックしたら指定したID名の所にスクロールしていく・・・と言うのを希望しております。
>>362 すいませんが、複雑で良く分からないんです・・・・
>>361 getElementById(id).scrollIntoView();
>>364 無理でした・・・。
なるべく、サンプルみたいな形でお願いします。
javascriptに関する知識ほぼ無いも同様なのです・・。
で、その足りない知識を自分で増やそうとは思わないと。
>>367 忙しいなら自分でやらずに相当の対価を払って人にやらせろよ
サムネイルをクリックするとメインフレームに画像が表示されるようにつくっているのですが、
・普通の状態
・マウスが上にある状態
・マウスをクリックしたとき
・マウスが離れたとき
でサムネイルgifを切り替える方法を教えてください
おねがいします
370 :
Name_Not_Found:04/10/03 10:46:19 ID:MOjRLtc/
細かい小数計算させた後、その和をdocument.writeさせると、
数の和ではなく、文字列の和になってしまいます。
回避方法はないでしょうか?
宜しくお願いします。
>>369 onmouseover、onclick、onmouseoutでそれぞれ画像を設定すれば。
それ以上簡単に説明しようがないがな(画像の差し替え方法は知って
るわけだよね)。全部書いてくれというのならパスね。
>>370 本当に数を計算してるのか疑問だ。当該箇所の要点を貼ってみれ。
372 :
369:04/10/03 15:44:41 ID:???
>>370 楽なのは数字の0に実数を足していく。
result = 0 + 略.value + 略.value;
>>373 parseInt か eval 使わないとダメですよ。
376 :
373:04/10/03 17:50:59 ID:???
すまん。俺どこでそう覚えたんだろう…。
a = "0.123";
b = "1.234";
alert(eval(a+"+"+b));
alert(parseFloat(a)+parseFloat(b));
>>376 恐らく「0を引く」をあやふやに覚えたんだろうな。
alert( ('1.2'-0) + ('3.4'-0) )
378 :
373:04/10/04 00:02:52 ID:???
>>377 ああ、それだ!Thx
alert( '' + 1.2 + 3.4 );
これと混同してたくさい。
379 :
Name_Not_Found:04/10/04 03:52:32 ID:6L3ftCmd
メニューを作って、それをクリックするとページの一部分
だけが変わる、っていうJAVAスクリプトあるんですか?
>>379 「JAVAスクリプト」ではない。JavaScriptだ。
メニューの方がちゃんと作るのは面倒なんで、ページの一部変更は簡単。
<span onmouseover="this.innerHTML='ABC'">XYZ</span>
えー、独自拡張ですかー。
innerHTMLはIE、Gecko、Operaでサポートされているから別に
いいじゃんと漏れは思っている。サポートされてないブラウザ
で代わりに標準DOMを使ってノードの挿入ができるものなんて
あったっけ?
毎日更新で、「今日の一言」のようなページを作りたいと思います。
テキストが1行あり、そのページ内にカレンダー(クリック用のリンク)を作って、その日の日付をクリックしたら、
一行テキストだけがさし変わるようにしたいのですが、何かいい方法はないでしょうか?
そのhtmlファイル自体は20kあるので、同じような内容のファイルを
毎日サーバーにアップするのはしんどいです、、、。
>>384 だから
>>381 のようにして、ただしクリックする要素と表示する
ところを分ける(thisの代わりにdocument.getElementById()で指定)。
表示する文字列もクリックする要素ごとに変えておけばいいでしょ。
>>383 そのへんの是非は実際に使う奴が決めること。
原理主義に偏向し過ぎるのも問題あると思うが、
初心者に教えるときはできるだけ基本的なことから教える方が、
良いかと思う。つーわけで、
>>384 DOM でやる場合は、
1.表示したい文字列を元にテキストノードを生成して、
2.差し替えたい要素にアクセスして、
3.今ある子ノードを削除し、
4.1で作ったノードを追加する。
とします…
…って、めんどくさいね。
>>387 そうなんだよね、もうちょっと簡単ならそう教えてもいいんだけど。
ふつーの初心者だったらそう書かれると絶対めげるよ。
javascriptで二つに区切ったフレームのページを変数か何かを使って
ひとつのフレームの高さを変えたりできるんでしょうか?
>>387 DOM3ならtextContent書き換えで済むからだいぶ簡単なんだけどね。
>>389 できるとも。てか過去スレに例があるんじゃないかな。
えーと、vol.17 の 752だな。
>>390 テキストだけじゃないものを書き換えるとなるとやっぱり大変。
今回の場合はテキストだけだけど。
392 :
387:04/10/04 16:34:19 ID:???
もっと沢山の要素をクラスにしてこさえたり、clone() 使ったり、
そういう局面になってくると、結構恩恵にあずかれる気がします。
あと、どうしても document ありきになっちゃうので、現状だと
Gecko系以外のは onload でごにょごにょしようとすると、
画面がぴくぴく動いちゃうのもアレかもと思います。
でも、それでも知って置いて損はないかな、と。
393 :
389:04/10/04 16:34:51 ID:???
>>391 ありがとうございます 一目散に試してみます
DOM操作つったってたいして関数多くないんだから知らないほうがバカ
.getElementById()
.getElementsByName()
.getElementsByTagName()
.removeChild()
.appendChild()
.insertBefore()
.createElement()
.createTextNode()
.cloneNode()
.childNodes
.parentNode
.nextSibling
よく使うのはこんなもんかな?
>>394 んなこと言ったらC言語の構文要素の方が少ないだろ?
でそれだけ知ってたらポインタバリバリのプログラミング
がすぐできるかって、できないだろ?やっぱDOMツリーを
操作するというイメージが分かるには多少の修行が必要
なんだよ。「俺は天才だから修行なんか要らんかった」て
奴はまあほっといてさ。
397 :
370:04/10/05 05:25:12 ID:pdBElGcU
遅レスですが、
>>373-375ありがとうございました。
evalで解決しました。m(_ _)m
>>396 操作対象と操作モデルをどれだけ理解しているかだよね。
そこを要領よく抑えておけば恐らく修行なんか要らない。
要領よく押えられるなら初心者なんかしてないだろ。
つかツリー構造すらワカラン奴がいるのに驚き
過去ログ見ればそんなのよりさらに低レベルなのが多数あるだろ。
別に驚くようなことじゃないと思うがね。
402 :
Name_Not_Found:04/10/05 11:40:57 ID:bYE151GC
フォームの要素に名前でアクセスしたいのですがどのような文法になりますか?
document.form1.'hoge'.value
といった感じにしたいのですが・・・
>>402 document.form1['hoge'].value
406 :
403:04/10/05 12:08:55 ID:???
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<title>???</title>
<script type="text/javascript">
function step() {
var w = 250;
document.getElementById('f1').rows = w + ',*';
}
</script>
</head>
<frameset id="f1" title="top" rows="250,*" onload="step()">
<frame name="left" title="left" src="result.asp" SCROLLING=no>
<frame name="right" title="right" src="result2.asp" SCROLLING=no>
<noframes>
<body>
<p>no frame...</p>
</body>
</noframes> </frameset>
</html>
この var w を外部ファイルで数値を変更したいのですが外部ファイルに
どんなソースを書けばいいですか?
>>407 (1)「var w = ...」の行を削除する。
(2) <script src="外部ファイル名.js"></script> を適当なとこにいれる
(3) その中に「var w = 250;」とか入れる。
409 :
407:04/10/05 14:09:57 ID:???
ありがとうございます 直りました!!!
放物線Y=X*Xと直線X=1およびX=2とで囲まれた部分の面積を数値積分で求めるプログラムを
・シンプソン1/3公式
で、以下の指示に従って書け。
-----------------------------------------------------------------------
・y=x*xの計算には、関数を使え。
・yの計算は実際には台形公式の場合と同じであるが、奇数のとき(y1,y3,…,yn-1)
と偶数のとき(y2,y4,…,yn-2)とを分けて、和を求める必要がある。
・奇数y1を求めるときのx1は、dx=h+aであり、和を求めるときの増分はh*2である。
偶数y2を求めるときのx2は、dx=h*2+aであり、和を求めるときの増分はh*2である。
以上を参考にすればプログラムは書けるはずである。
という課題が大学で出されたのですが、書けません。毎回ちゃんと出席してノートとっても解りません。
すみません、丸投げします。どなたか一緒に考えてやってください。お願いします。
>>410 漏れは嫌だね。丸投げをやるのが好きな奴はいるんだろうかね。
そもそも本当にJavaScriptの課題なのかね、そんな数値計算が。
つーかWeb制作板
>>412 おお! そりゃそうだよね、Webの製作に数値積分はいらんだろうな。
ム板の宿題スレに行けばいいんじゃないの。
すみません、ム板とはどちらでしょうか。
416 :
Name_Not_Found:04/10/05 18:36:35 ID:1JhkKHU/
質問でう。
ページが開いたときにブラウザのウィンドウサイズを指定したサイズに表示させるには
どうしたらよいでしょうか?
また、上記のウィンドウは画面の指定した位置に表示させることは可能でしょうか?
418 :
Name_Not_Found:04/10/05 19:35:49 ID:1JhkKHU/
>>415 ご親切にありがとうございます。行ってみます。
420 :
Name_Not_Found:04/10/05 19:42:39 ID:XKcwmLZV
サイト内検索ってどうやって設置するんですか?
だめだ。もうこれ以上見てらんない。分からないことができたらまた来るよ。サヨナラ
423 :
Name_Not_Found:04/10/06 14:40:30 ID:ChB5gJ+Y
まわりくどい質問はするなとテンプレにあったので
単刀直入にききます。
JavaScriptで、PHPのfile_exists(文字列)に相当する
文字列で指定したファイルがあるかどうか調べるための
構文はありますか?
また、なんという構文ですか?
なければ、代替え手段はありますか?
「java script file exists ファイル 操作 があるかどうか」
等の単語の組み合わせで検索したけど、
うまくヒットさせる事が出来ませんでした。
よろしくお願いします。
ねえよ
>>424 レスありがとうございます。
代替え手段もないですか?
代替手段ふくめて無いから無いって言ってんだよ
>>425 ちょっと聞くけど。JavaScriptってブラウザ上で動くんだよね。
ブラウザ上でどうやってサーバ上のファイルの有無を判定でき
ると考えているのか興味があるなあ。勝手に侵入するとか?
>>426-427 アクセスして404が返ってきたら、とか。
だめですかねえ?
つまんない質問してすみませんでした。
ご回答ありがとうございました。
とりあえず別の方向(PHPとかPERLとか)から頑張ってみます。
>>428 自サーバならページ内容調べて404かどうかチェックできるかも。
自サーバでないならどうにもならんけどね。
>>428 自サイト内であれば隠しフレームにURLを呼び出してその内容を取得し、
正規表現で内容を調べればいいんじゃないだろうか
431 :
Name_Not_Found:04/10/06 19:47:42 ID:Ev+ecmGB
index.html?p1=10&p2=20
とアクセスして来た時のパラメータp1「10」とp2「20」を
取りたいのですが、このパラメータの受け取り方を教えてください。
もっと簡単にできると思うのですが自力では下記で限界でした。
<script type="text/javascript">
<!--
var QS = new Array;
if (location.search.length > 1) {
var m_Array = location.search.substr(1).split("&");
for (idx in m_Array) {
QS.push(m_Array[idx].split("="));
}
}
for (idx in QS) {
if (QS[idx][0] == "p1") { p1 = QS[idx][1]; }
if (QS[idx][0] == "p2") { p2 = QS[idx][1]; }
}
//-->
</script>
基本的ですみません
>>431 試してないけど「eval(location.search.replace(/[?&]/g, ';');」で
p1とp2に値が入るんじゃないの。どこが基本的なんだゴルア!
>>432 うげ、「)」が1つ足りなかったみたい。
>>423 Msxml2.XMLHTTP と、XmlHttpRequest で調べてみろ。
あと、ファイルという概念はおかしいよ。
ローカルエリアで動くから、file_exists とかなんとかいう名前の関数であるわけだ。
つまり、サーバといっても、サーバそれ自体からすれば、取ってくるファイルはローカルにあるわけ。
しかし、ここで言っているのは、HTTP を喋りつつ、URI で識別できるデータをとってくるわけだ。
因みに、ファイルの操作は、XUL や WSH で当然のように出来る。
つうか、それが出来ないメジャーな言語は無い。
同様に、今の時代、メジャーな言語で、HTTP 越しにデータを取れない言語は無い。
最初に書いたキーワードで検索してみろ。検索で見つけたコードを try catch しろよ。
セキュリティの甘い IE なら、普通に動作する。Mozilla も同様。
それはネスケ4で動きますか?
>>435 試せないなら、気にする必要はないだろうし、
気にするなら、それくらい用意するべきだと思う。
>>432-433 &がURLエンコードされるっぽい
eval(location.search.replace(/[?&]|%26/g, ";"));
438 :
Name_Not_Found:04/10/07 03:53:37 ID:NpBiuT1/
DreamWeaverスレより誘導されました。
次のようなジャンプメニューを考えています。
ドロップダウンリストを2つ用意して(それぞれmenuA、Bとする)、
menuAの選択によって、menuBのリストが連動して変更になるような形。
menuBの選択によって、別のフレームの内容を書き換えたい。
どうすればいいでしょうか?お願いしますm(_ _)mペコリ
>>438 Googleで「JavaScript select 連動」と、
「JavaScript select ページ 移動」とを拾ってくればOKか。
location.href → frames["フレーム名"].location.href
「フレーム書き換え」ってのがページの移動のことじゃないなら、
DOM操作とかinnerHTMLとかの話になるけど。
440 :
438:04/10/07 04:40:22 ID:???
わかりました。調べてみますm(_ _)mペコリ
441 :
Name_Not_Found:04/10/07 10:24:42 ID:596xYkn9
windowopenスクリプトのページを使っているのですが(決してエロサイトではありません)
windows XP Service Pack 2 をデフォルトで使ってる人用に何度も出るアラートの
回避方法を載せようと思います。SP2かどうかの判定はできますか?
442 :
Name_Not_Found:04/10/07 11:39:15 ID:XHULu7Ga
質問です。
getElementsByName()を使って
<td name="test">123</td>
というふうに<td>タグに挟まれた値を取りたいのですが
どう書けばいいのでしょうか?
getElementsByIdは訳あって使いたくないのですが・・・
>>442 obj = getElementsByName("test");
とすると、objに格納されるのはtdという要素。
要素の中身はそのオブジェクトのchildNodesプロパティに配列として
格納されている。ので、もしtd要素のなかみが確実にそのテキストだけで
あるならば、
obj.childNodes[0] に入っています。
444 :
442:04/10/07 11:58:37 ID:???
ちなみに、<input name="hoge"> の様な使い方以外の、
name 属性は推奨されないので、table やその親要素に id なり
class なりをつけて目的の td にアクセスする方針をとった方が
いいです。
自問自答?
>>442 どういう訳か聞こうじゃないか。getElementByID()を使わずに、
しかしノード内容のアクセスはすると。ヘンな選択だね。単に
IE専が好きならdocument.all()でも使ってinnerHTMLでも参照し
とけば?
447 :
443:04/10/07 13:00:09 ID:???
うわあ。
>>444 は漏れが名前間違えたものです。
ごめんなさい。
ごめんなさい。
ごめんなさい。orz
tdに直接ID振れないなら、例えばtableやその親要素にtestってID振って
obj = getElementById("test").getElementsByTagName("td");
とかして、obj[n]という風にアクセスするのも良い、という話です。
ごめんなさい。
ごめんなさい。
448 :
431:04/10/07 13:01:17 ID:???
>>432,433,437
どうもありがとうございます。調べながらようやく理解できました。
今回のはこれでよかったのですが、ついでに数字以外の文字列も
取得できるようしたくなったのでやってみました。
p = location.search.substr(1)+"&";
eval(p.replace(/=/g, "=\"").replace(/&|%26/g, "\";"));
こんな感じになりましたが、他にもっと良い(簡単な)方法があったらご教授ください
449 :
Name_Not_Found:04/10/07 14:11:21 ID:reQ5H6d6
お聞きしたいのですが
下のスクリプトに
http://hp.vector.co.jp/authors/VA011407/java/effect/transition.htm にあるトラクション効果をランダムに適用させたいのですがどなたか教えていただけませんか?
<HTML>
<HEAD>
<Script language="JavaScript">
<!--
t_img = new Array();
t_img[1] = "top_img/01.jpg";
t_img[2] = "top_img/02.jpg";
t_img[3] = "top_img/03.jpg";
function time_on(){
time_no = setInterval("img_change1()",5000);
}
count1 = 1;
function img_change1(){
count1++;
document.images["top_img1"].src = t_img[count1];
if(count1 == 3){
count1 = 0;
}
}
//-->
</Script>
</HEAD>
<BODY onload="time_on()">
<img src="top_img/01.jpg" name="top_img1">
</BODY>
</HTML
>>448 &でsplitして、得た配列をループでぐるぐるまわしてevalすれば
いいんじゃないだろうか。
>>449 Math.floor(Math.random() * 24);
で0〜23の何れかを返すので、"pattern"をこれに。
> トラクション効果
ゴム業界ですか?
452 :
Name_Not_Found:04/10/07 14:29:47 ID:reQ5H6d6
トランジション効果でした(^^;
453 :
449:04/10/07 14:40:36 ID:reQ5H6d6
>>451 ありがとうございます
それで、Math.floor(Math.random() * 24); をどう組み込めばいいのでしょうか?
>>453 Transition(Math.floor(Math.random() * 24))
455 :
449:04/10/07 15:38:21 ID:reQ5H6d6
え〜と
Transition(Math.floor(Math.random() * 24))
をどこに入れたらいいのでしょうか?
>>455 自分では何処に入れたらよいと思うか、
それを実際に試してみたらどうなったか、
を書かないと、
そろそろ怒りだすひとが出てくる予感。
がんがれ。
457 :
449:04/10/07 17:53:16 ID:reQ5H6d6
すいません。。。
色々やったのですが結局
変化なしか、エラーが出るかどちらかでした・・・。
向いてない。無闇やたらとやっても駄目。勉強するしかないね。
459 :
Name_Not_Found:04/10/07 19:04:04 ID:Xos6fV60
質問なんですが
小さい画像をクリックすると新しいページが開いてその画像が大きくなる。
新しく開いたページは画像の大きさと同じくらい。
これをやりたいのですがどなたか教えてくれませんか?
お願いします。
>>459 なんかこのスレに同様の質問があったぞ馬鹿野郎。
461 :
449:04/10/07 20:53:00 ID:reQ5H6d6
まったく458さんの言うとおりだと思います。
しかし、今回だけでも教えていただけないでしょうか?
どうかお願いします。
>>461 「今回だけ」という人間が何人出てくるか分からん。
とりあえず「色々やった」という「内容」を書かないと。
同じような疑問を持った人間の参考になるかも知れない。
特定の問題にピンポイントで答えを示すだけだと、似た質問が今後も出てくる。
その人の質問は違うんじゃ…?
そんなこと言わないで
答えちゃり〜な
466 :
462:04/10/07 22:06:20 ID:???
実はわかんねぇんじゃね?
>>467 この質問スレの回答者のレベルは過去スレ読めばよくわかる。
そういう煽りが何の効果もないことも同様によくわかる。
じゃ頑張ってね。
>>467 常々思うが、それって卑怯な煽り文句だよな
>>469 べっつにいー。そういう奴はほんと馬鹿を晒してるな
としか思わないね。
>>467 みたいのは可哀想な負け組だよな。
こんにちは。
フラグ(0と1)を簡単に入れ替える計算方法はありませんか?
ifを使えと言われればそれまでなのですが
入力:出力
0 : 1
1 : 0
さて、この演算は?
フラグだったらboolean値を使えと言ってみるテスト。
474 :
471:04/10/08 00:52:02 ID:???
>>474 が直感で分かるレベルなら
x = 1 - x;
でいいんじゃね?
でも x = true; ...; x = !x; の方が普通みやすいし。
まあ、好みの問題だ罠。
次、ドゾー
478 :
449:04/10/08 17:01:31 ID:NU3JE7dT
こんな感じにしたら、一応トランジション効果がかかりました。
しかし、なぜかランダムにならず、Wipe rightになってしまいます。。。
<HTML>
<HEAD>
<Script language="JavaScript">
<!--
t_img = new Array();
t_img[1] = "top_img/01.jpg";
t_img[2] = "top_img/02.jpg";
t_img[3] = "top_img/03.jpg";
function time_on(){
time_no = setInterval("img_change1()",5000);
}
count1 = 1;
function img_change1(){
count1++;
top_img1.filters.RevealTrans.Apply();
top_img1.src = t_img[count1];
top_img1.filters.RevealTrans.Play();
if(count1 == 3){
count1 = 0;
}
}
//-->
</Script>
</HEAD>
<BODY onload="time_on()">
<img src="top_img/01.jpg" name="top_img1" style="filter:revealTrans(duration=1,Transition(Math.floor(Math.random() * 24));">
</BODY>
</HTML>
480 :
449:04/10/08 17:18:16 ID:NU3JE7dT
>>479 それが、いいソースが見つからないもので・・・
それにせっかくここまで来たのだからと思ったのですが
何とかなりませんか?
481 :
449:04/10/08 17:38:30 ID:NU3JE7dT
できました!
皆さんありがとうございます。
479さんの言っていることがよく飲み込めなかったもので(^^;
でも何とかできました
本当にありがとうございまうm(_ _)m
482 :
Name_Not_Found:04/10/09 00:31:04 ID:/L+JC2dc
質問いたします。
<form name="change">
<select onchange="parent.main.document.body.style.FontSize=this.value;">
<option value="13pt">13pt</option>
<option value="12pt">12pt</option>
<option value="11pt" selected >11pt</option>
<option value="10pt">10pt</option>
<option value="9pt">9pt</option>
<option value="8pt">8pt</option>
</select>
</form>
というソースを使ってフレームの文字サイズを選択出来るようにしたいのですが、
Tableタグの中のテキストには反映されません。
どうすれば反映されるようになりますか?
484 :
Name_Not_Found:04/10/09 02:41:16 ID:AAkp/8QK
画面をスクロールするとメニューとかがついてくるスクリプトを探しているんですが知ってますか?
>>484 JavaScript フローティングメニュー でぐぐれ
486 :
Name_Not_Found:04/10/09 10:15:48 ID:oSqsAjh+
すみません、皆様のお知恵を貸して下さい
今、この様なフォームがあるのですが
<form method="POST" action="test.php">
<input type="hidden" name="num" value="2">
<select name="id">
<option value="0">選択して下さい</option>
<option value="a">A</option>
<option value="b">B</option>
</select>
<input type="submit" value="送信">
</form>
これを、送信ボタンを無くしてプルダウンメニューを選択するだけで
フォーム送信出来るようにしたいのですが、どうすればいいでしょうか
onChangeでページだけ移動するのは結構紹介されているのですが
フォーム送信の方法が見つかりません、よろしくおねがいします。
>>486 onchangeでformオブジェクトのsubmit()を呼ぶ。それでまだ
分からなければそんな奴には誰も教えてくれないから自分で勉強。
>>487 解決しました!ありがとう!助かりました〜
mozillaでチェックボックスまたはラジオボタンがチェックされた
事を感知したいです。
onchangeイベントはフォーカスが当たってないと発生しないようです。
しかし、直接のクリック以外にも、スクリプトでchecked=trueとする場合もあるので
フォーカスが当たってない場合でも
checkedプロパティの変化を感知できる方法は無いでしょうか?
(IEのonpropertychangeみたいな)
>>489 スクリプトで値を設定するときにonchangeの動作も行うように
すればいいのでは。
>>489 Mozだったら setter 使うとか。
質問です。
大量にある連番のページを一つのjsファイルで成立させたいのですが、
htmlファイルのbody内に
<script type="text/javascript" src="phot.js"></script>
とだけ書いて、
jsファイルに
a ='<img src=../gazou/myphot/vga/' ;
b=document.title;
c='.jpg>';
d= a + b + c;
e = '<a href=' ;
f = document.title ;
f = eval(f);
h = f + 1;
i = '.htm>Next</a><br />' ;
if (document.title < 9) {
document.write( d +'<br>'+ e + "00" + h + i +'<br />');
}
else if(document.title > 8){
document.write( d +'<br>'+ e + "0" + h + i +'<br />');
}
としてあるんですが、こうすると001.htmから009.htmまではうまくいくんですが、
010.htmの Next のリンク先が 011.htm にならずに 09.htmになってしまいます。
011から上もうまくいきません。
何か解決法を教えてください。
ほかにもっと楽な方法があればそれもお願いします。
>>492 足し算した後3桁の数字列にしたいんでしょ。したら、
「h = String(1000 + f + 1).substring(1);」でいいのでは。
>>489 Object.prototype.watch ( property, function ( property, oldValue, newValue) {} );
が使えなくもないかな。
これは昔からあるので、廃止され(て)そうな気もするし、あまり薦められないが。
(チェックボックス).watch(
'checked',
function (
property,
oldValue,
newValue
) {
//ここで何等かの処理をする。
//return しないと、セットされない。
return newValue;
});
しかし、こういう場合、おれの経験では、ロジックを再検討した方が賢い。
たとえ、WinIE で onpropertychange が使えても、再検討するよ、おれなら。
たぶん、あなたの事例でもそうしたほうが賢いんじゃないかな。
>>492 8進数になってるからだよ。eval( '010') は、8進数だから、十進数では、
1 * 8^1 + 0 * 8^0 …… 8 になるわな。
> document.title < 9
数値としての比較になるから大丈夫だが、こういうのも危うい。分かってないだろ?
>>492 10進数だけで進めたいなら、
f = eval( f)
を、
f = Number( f)
にするのが手軽だろう。
で、折角、f を数値にしたんだから、
if (document.title < 9) と if (document.title > 8)
じゃなくて、
if (f < 9) と if (f > 8)
にかえようや。
497 :
489:04/10/09 21:25:42 ID:???
皆様ありがとうございます。
checkedの状態変化によって処理を走らせる事ができれば、
checkedを変更する側では何も考えずにcheckedの変更だけすれば良いし、
クリックされた場合でも、その同じ処理をそのまま走らせば良いかな、とか思ったんですが、
ロジックを考え直したほうが良いですかね。
とりあえずwatchを使ってみます。
498 :
492:04/10/09 21:30:07 ID:???
お答えくださった方ありがとうございます。
意味は分かってないですけど、とりあえず解決しました。
助かりました。
>>497 よくわかんねー要件だな・・・
onchangeに頼りたくない(頼れない)ならタイマーで見張るのがいいんじゃね?
すみません、宜しくお願いします
ページが閉鎖になって違うページへ数秒後に自動的に飛ぶ
スクリプトなのですが、同一ページ(terget=_self)と思うのですが
どこに入れればよろしいのでしょうか?
<SCRIPT language="JavaScript">
<!--
function AutoOpen(url){
location.href="
http://www.freemail-bbc.co.jp";
}
//-->
</SCRIPT>
なのですが、どこに入れても動きません。
宜しくお願いします
501 :
500:04/10/10 01:31:00 ID:GV2AhMKQ
すみません・・・
同一ページで開いてました
すみませんでした
>>500 動かんじゃ分からん。
そのままでも <a terget="_self"... のリンクをクリックしたのと同じじゃないか?
503 :
502:04/10/10 01:33:00 ID:???
リロードし忘れた
504 :
Name_Not_Found:04/10/10 02:24:03 ID:x+O7Ye6u
505 :
504:04/10/10 02:37:51 ID:???
もしかして・・・上で質問したスクリプトは、ポップアップウィンドウでしょうか?
ただ、テキスト上ではなく、クイッカマブルで指定した部位の上にカーソルが置かれた場合に
ポップアップによってコメントを表示したいのです。お願いします。
>>506 ソースを見たのですが、スクリプトの種類が分からなかったので・・・orz
どのような種類のものか教えていただければ、ググって調べられるのですが・・・
>>504 Googleで「javascript onmouseover メッセージを表示」で、
何個かサンプルが出てきたぜ。
>>500-502 別に分かってるとは思うがtergetではない、targetだ。
日本人はこれだから… (洩れも日本人だけど。)
512 :
Name_Not_Found:04/10/10 17:34:54 ID:Qci2ysps
質問です。
var input = document.createElement("input");
input.setAttribute("type","radio");
input.setAttribute("name","article" + articlelength + "type");
input.setAttribute("onclick","clickInput(" + articlelength + ",'normal');");
input.setAttribute("onkeypress","clickInput(" + articlelength + ",'normal');");
input.setAttribute("value","normal");
input.setAttribute("checked","checked");
document.getElementById("articles").appendChild(input);
こんな感じで書いてみたんですが,何故かIEで生成したラジオボタンが選択できません。
これはIEのバグなんでしょうか?
513 :
Name_Not_Found:04/10/10 17:49:35 ID:zNwIm2km
<html>
<head>
<title></title>
<body>
<APPLET code="textBlueFire.class" width="400" height="200">
<PARAM name="txt" value="This is GAng.com's site....">
<PARAM name="red" value="0">
<PARAM name="green" value="0">
<PARAM name="blue" value="0">
<PARAM name="fsize" value="30">
<PARAM name="fp" value="80">
</APPLET>
</body>
</html>
とあるHTMLに貼り付けたんですけど、↑の"This is GAng.com's site"を
This is
GAng.com's site
と2段に分けて表示するにはどうすればいいですか?
具体的におねがいします。。。
>>512 IE の場合、name 属性がある時、開始タグのHTMLソースを渡す。
msdn にも書いてあることだから、目を通してみては。
document.createElement( '<a name="hoge">');
みたいに。
document.createElement( '<a name="hoge"><\/a>');
と書くのがMSの仕様らしいが、開始タグだけでできる。
というか、「>」以降は無視されるので、
document.createElement( '<a name="hoge">:target<\/a>');
なんて書いても、
document.createElement( '<a name="hoge">');
にしかならない。
次に、HTMLのイベント属性だが、W3C 仕様では、setAttribute で機能しなければならない。
だから、それで上手く行かなければ、ブラウザのバグだが、しかし、
attachEvent か addEventListener 使って、後々イベントを追加削除しやすくしたらどうよ。
>>513 スレ違い。
HTML, 属性, 改行, PCDATA
とかがヒットするスレを探して質問しなおせ。
親切なやつが解答を検索してくれるから。
516 :
512:04/10/10 18:28:16 ID:???
>>514 なんとか解決しました。
素早い解答ありがとうございました。
517 :
Name_Not_Found:04/10/11 05:46:26 ID:hH/6xV/4
document.getElementById(id).innerHTML = ((text) + "\\n");
document.getElementById(id).focus();
こんな感じで、テキストエリアに文+改行を入れ、フォーカスをフォームにあてて
textの内容の次の行からすぐにユーザーが文字を書き込めるようにしたいのですが
改行は確かに入ってるのですがカーソルがtextの最終行の末尾に
きてしまいます。改行の後に何か空白でも入れると改行先にカーソルがあうのですが
これを消すのが面倒くさいです。なんとかカーソルを改行直後に出せないものでしょうか?
518 :
Name_Not_Found:04/10/11 07:39:58 ID:5qxdJc7V
すみません、質問します。「1回目はページA、2回目以降はページBへジャンプする」という
javaスクリプトを見つけたんですが…(次レス)
「1回目・2回目」ではなく、次の日(あるいは12時間後くらい?)には
またページAが見られる…というjavaスクリプトを探しています。
エロい方、教えてくださいませ。お願いいたします。
519 :
Name_Not_Found:04/10/11 07:42:46 ID:5qxdJc7V
テンプレ
>>5 JavaScript basic samplesの「初訪問者を別ページへ移動」ですね。
これに似た感じで
>>517に当てはまるスクリプト、お願いします。
>>518-520 そのスクリプトはクッキーを使って1回目かどうかを判別
している。クッキーには有効期限を指定できる。だから
有効期限として12時間後とかその日の真夜中とかを指定すれ。
あとは調べればできるはずだから、もっと具体的に全部書け
とか言わないように。言ったら怒るよ。
>>517 "\\n" が謎。改行になるの?
それに、TEXTAREA 要素型の内容に関して、知ってると思うけど、
仕様上では、<>& は直接書けない、当然タグは書けない。
この理由があるから、innerHTML は大袈裟だしおかしい。
ごくふつうに value でいいんじゃないの?
WinIE でうまく行かないんだよね?
var r = (テキストエリア).createTextRange();
r.setEndPoint( 'StartToEnd', r);
r.select();
で出来るはず。
またIEオンリーか
524 :
Name_Not_Found:04/10/11 16:21:55 ID:5qxdJc7V
>>521 当然ですが、調べるのは当たり前ですよー。
>クッキーには有効期限を指定できる
なるほど…。では調べてみます。ありがとうございました。
525 :
524:04/10/11 16:39:32 ID:???
…で、いきなり質問するのも気が引けますのでsageで…。
<!--
function Check(){
sai=getCookie("check01");
if(sai=="ok"){
location.replace("pageA.html");
}else{
setCookie("check01","ok"); ←ここの部分を「setCookie("check01","ok"); 23:59:59;」と
location.replace("pageB.html"); すればいいんでしょうか?
}
それとも、
function setCookie(key,val) {
tmp=key+"="+escape(val)+";";
tmp+="expires=Fri, 31-Dec-2010 23:59:59;"; ←ここを「tmp+="expires=23:59:59;";」と
document.cookie=tmp; すればいいんでしょうか…?
}
さすがにプレビューとかテストではわからないもので…。
連投申し訳ありません。アドバイスお願いします。
>>526 初めてだから質問したんですけど・・・
かといって「初心者なので」と書くと
>>1のテンプレに抵触するんで・・・
どう質問すれば良かったんでしょうか・・・?
それとも、やっぱり2ちゃんねらーに質問するのが間違いだったんですかね・・・
ありがとうございました。
528 :
Name_Not_Found:04/10/11 18:10:29 ID:xkRVkyLe
>>526 回答する気失せるとかいって
こういう上級者気取ってる香具師が初心者寄り付かなくなる原因だよな
529 :
Name_Not_Found:04/10/11 18:12:37 ID:xkRVkyLe
どちらにせよ自分で調べようとしてた527=518は好感持てる
調べずにすぐに教えてクレクレうるさい厨もいるからな
・1回目はページA、2回目以降はページBに飛ぶ
・翌日0時(あるいは当日23:59:59)にクッキーをリセット
ってこと?
ブラウザを閉じたらクッキーをリセットするってのは簡単だけど
クッキーの期限を翌日0時までにするのは聞いた事無いな
最初は質問者の姿勢を問うていたものが、いつの間にかレベル設定されている雰囲気。
調べ方も分からないという人が来る可能性もあるんだから、きっかけさえ与えれば
次の行動が起こせる姿勢の人には、きっちりと説明したほうが良いと思う。
>>518 の場合などは「JavaScript Cookie 有効期限」でググる、といった方法を提示してあげれば
上位いくつかのサイトで今回の問題が解決できるだろうと思うし。そして
>>518はきちんと
調べるだろう雰囲気は持っていた。
どうせ
>>526は答えわからずに突っ返しただけだろ
ああ、「アンタ」って言ってる時点で優越感浸ってるだけの厨か
悪いけどJavaできても別に偉くなんかないよ(プゲラ
JavaとJavaScriptは別物です
つうか、526が言ってるネットスケープの仕様書くらい読めよ、短いから。
そもそも、そのサンプル、rfc1123 無視してて駄目じゃん。削除しろよ>1。
クライアントJavaScriptでクッキー弄る時、最初分からないとすれば、
有効期限やパスを設定して読み出しても、名前と値だけしか読み出せない、
ってところだろ。次に分かり難いのが、書き込むときに、
document.cookie = 'mycookie0=myvalue0; expires=rfc1123-date-string0'
document.cookie = 'mycookie1=myvalue1; expires=rfc1123-date-string1'
なんて書くと、何故か、
mycookie0=myvalue0; mycookie1=myvalue1
と勝手に連結してくれてるところだわな。
rfc2616 も rfc2109 も rfc2965 も読んだ方がいいし、結局な、
それなりに理解して設置するのには時間かかるんだよ。
時間が無いなら、オライリーのサイ本のサンプル使えよ。間違いないから。
538 :
Name_Not_Found:04/10/11 20:39:09 ID:a+fWOUMh
>>533 JavaではなくJavaScriptですが。いい方が気に触ったのなら謝りますが、
このスレで回答者が分からないなんてまずないことは過去スレを見れば
十分実証されていると思いますね。それで実験してみたところ、クッキー
を再設定するたびに指定期限も(同一値で)再設定しないといけないので、
その値もクッキーで覚えておくことにしてみました。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<p>30秒たつとカウントが1に戻ります。</p>
<pre><script type="text/javascript">
var c, t, a = String(document.cookie).match(/count=(\d+)&(\d+)/);
if(a) {
c = Number(a[1])+1; t = Number(a[2]);
} else {
c = 1; t = new Date().getTime()+30000;
}
var e = new Date(t).toGMTString();
document.writeln('count=' + c + '; time=' + t + '; expires=' + e);
document.cookie = 'count=' + c + '&' + t + '; expires=' + e;
</script></pre>
</body></html>
539 :
Name_Not_Found:04/10/11 21:56:25 ID:rv+XF70b
HPクリックすると自動ででてくる広告ウインドウみたいのはどうやればでますでしょうか?
名前も分からないので困ってます。
>>539 邪魔だし迷惑。そんなもの一生出せないままでいろ。
>>537 回数数えるために「どのクライアントか」をサーバ側で同定するため
にはクッキー食べさせる必要があるわけで、したら結局同じことさ。
だめだ、バカしか居ない
うっひゃぁ
結局
>>525 の回答ももろに貼られてしまったのか。あんまり
甘やかさない方がいいと思うんだが…
下記のJavaScriptは、WinIE5.5/6.0、NN7.1、Opera7.53で正常動作確認済みです。
しかしieCaptureで確認したところ、WinIE4だとエラーが出るらしいのです。
http://danvine.com/iecapture/ ///*ナヴィゲーション用オブジェクト(ID="navbar")を浮動させ,上下にスクロールしても常にウィンドウの最下部に位置させるためのJavaScript.*/
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(lteIE4) {D.getElementById = function(id){ return D.all[id];} };
/*====関数を実行(<body>タグ内に書き込む手間を省く)=====*/
if(NN4||IE||DOM) {setInterval("alwaysBottom()",50); window.onresize=alwaysBottom;}//5秒毎
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;
objH = NN4?0:IE?navbar.offsetHeight:D.getElementById('navbar').offsetHeight;
if(!NN4){D.body.style.paddingBottom=objH;};
BH = NN4?0:Body.clientHeight;
objY = newY + BH - objH;
var unit=(!N6)?'':'px';///*N7strictモード単位必須
if(newY>-1 && NN4||IE){NN4?object[top]=newY:object[top]=objY+unit;};
if(object.position!=='static'){object.position=IE?'absolute':'fixed';};//初期static切換對策
}
エラーは“Line:31 Char:33 Error:Object doesn't support this action Code:0"と出るので、
どうやら if(object.position!==...の行に問題があるらしいのですが……?
どこを直したらよいか、私の知識では判明しません。わかる方、ご示教下さいませんか。
書き切れなかったので省略しましたが、
>>545には以下のscriptが続きます。
///* =======floating 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 {OBJE.style.position='static';}
window.event.cancelBubble=true;
}
HTMLソースは大略下記の如し。
<div id="navbar">
<a onClick="FloatOff('navbar');">メニュー</a>
<a href=index.html">表紙</a>
<a href=sitemap.html">目次</a>
<a href=link.html">リンク</a>
</div>
申し忘れましたが、Netscape4.7でも正常動作を確認済みです。
以上、一応の追記まで。
547 :
528:04/10/12 04:16:27 ID:???
何度もごめんなさい。
>>545-546のほか、
サイトのデフォルトの外部スタイルシートに、下記の記述があります。
#navbar{
position:absolute; bottom:0; z-index:5;
left:0; right:0;
}
IE以外ではposition:fixed;になるわけです。
最近回答者が初心者に対して痛いこと言い杉
>527のように丁寧な人も「2ちゃんねらーに質問するのが間違い」とか思われるのがオチ
550 :
Name_Not_Found:04/10/12 05:54:40 ID:/ZdWE7yW
>>550 有効だけどOperaなんかにも有効だったりするよな。
>>546 読んだだけだけど、IE4ではこういう位置操作は駄目なのに、
if(NN4||IE||DOM) { setIntervale(...)... の条件でIE4をはねて
ないよね。if(NN4||(IE&&DOM)||DOM) { ... としてみたらどう。
IE4が気になるほどのアクセスが欲しい…(´・ω・`)
553 :
メス豚:04/10/12 08:18:11 ID:1v6DaZut
ホームページビルダーver-8で携帯版サイトを作成しております。携帯版で動く文字などJava Scriptを使った動作
をさせるにはどうすればいいのでしょうか?
>>553 携帯でJavaScriptが動く奴ってOperaの乗ったPHS限定だけど。
ほんとにそれ限定でやりたいの?
動かしてもいないし、関係ないのかも知れないが、
!==
が気になって仕方がない。
scriptwindowはどうやって記述すればいいんですか?
scriptwindow ってなーに?
>>555 そういえば、「===」と「!==」は後から入ったもんだよね。
IE4で対応してないってことはあるかも知れない。構文エラー
だったらいくらif文で振り分けても無駄だしね…
559 :
:04/10/12 13:39:00 ID:???
>>559 わからない理由は、いろいろちゃんと見ない不注意な人間だから。
という意地悪はさておき、
・スクリプトの動作の仕様
・それに対して書いたhtmlとcssとJavaScriptのコード
・どうおかしいのか
をまず晒そう。じゃないとこっちもわかんないし。
562 :
561:04/10/12 14:06:46 ID:???
>>551 ご教示、有り難うございます。
>IE4ではこういう位置操作は駄目なのに、
えっ、駄目なんですか。
position:absolute;は一応効いてるみたいなんですけど?
CSSでは実装してもDHTMLでは実装されてないってことなのかな。
どこかにIEのヴァージョンごとの対応表一覧でもあったらご提示いただけませんか。
それともCSSでも実装に問題があるのですか。
564 :
524:04/10/12 14:32:57 ID:???
>>538を
>>525のどこに組み合わせたらいいかがわからないので、
他のところにあたることにします。
自分はどうしてもわからないズブの素人なので…。
そんな自分のような人にもわかるような説明してくれると期待していたんですが、
やっぱりここのスレの人じゃわからないようなので諦めます。
いろいろ回答ありがとうございました。
>>561 晒そうって
>>559 にリンクがついてるじゃん。それで見たんだけど、
IEでonmouseoverの計算がおかしいのかな。自分がやるときはこういう
風にsetTimeout()で表示が消えるのを遅れさせるんじゃなくて、divで
メニューボタンを作ってサブメニューはボタンの中に入るように定義
するけどね。過去スレ13の56みたいに。
>>564 出し渋っているこっち側も悪いが
まるで2ちゃんねらー=馬鹿の集まりだと言っているようなもんだな
>>564 別にそう素人を誇らなくても。関数Check()の中にサンプルの
var c, t, a = String(document.cookie).match(/count=(\d+)&(\d+)/);
if(a) { c = Number(a[1])+1; t = Number(a[2]);
} else { c = 1; t = new Date().getTime()+30000; }
var e = new Date(t).toGMTString();
document.cookie = 'count=' + c + '&' + t + '; expires=' + e;
を突っ込んで、さらに最後にcountが1の時とそうでない時とで
別の場所にlocation.replace()すればいいだろ。サンプルが読めない
なら読めるようになるまで質問すればいいのに。回答者なんて自分の
コードの説明するのは大好きなんだから。そっくりコピペなんかして
たら永遠に初心者ですぜ。
564はレベルか゛あか゛った!
あおってこたえをひきた゛す をおほ゛えた!
「本当は分からないんでしょ」なんて煽りに効果はないね。
素人にとってはいきなり文字の陳列出されても困るだけなのかもね
だから人によっては
>>564みたいに2chは駄目だって思われるだけかも
今までのレスから彼は正直にそう思っているだけなのかもよ
どうせなら「Javascript依頼スレ」でも作ってあげたら?俺はプロバが立てられないからムリ
>>567 CSSで直接指定は大丈夫だよ。ただ、スクリプト側からいじくる
場合は何か問題あったような気が。IE4で何が使えて何が使えな
かったかもう忘れてしまったので… そもそもobject.positionが
参照できないとか? やっぱIE4のサポートを外すことを勧めるな。
574 :
550:04/10/12 15:12:27 ID:k8BCiUgv
>>551 MacIEでもdocument.allが有効ってことですね。わかりました。
Operaに有効なのはUA偽装によるものですから、偽装する方が悪いってことにします。
おまいら香ばしいな。
>>568 javaスクリプト知りたい香具師は回答だけを期待している素人もいるし
自分のコードの説明なんかされても何言ってるの、で終わると思われ。
>>575 別に勉強したくない、他人のコード読みたくないって奴は
来てくれなくていいよ。それがこのスレの伝統かつ基本だから。
さいなら。
>>573 折角のご示唆ですが、IE4に
>>545のscriptを適用させなくすると、
>>548に出したスタイル指定でposition:absolute;だけ効くことになるので、
スクロールにつれてメニューがページの中間に浮いた状態になり
下のテクストを隠して見辛いことになって困ります。
うまい解決法はありませんかね?
>>577 そうだねえ、
if(ltIE4) document.all('navbar').style.position = 'static';
とか入れておくとか。逆にCSSでは「visibility: hidden」にして
おいて動かせる場合だけそれをvisibleに変更するとか。色々あるでしょ。
>>578 if(lteIE4) document.all('navbar').style.position = 'static';
これを挿入すると、その行がエラーだと警告が出ますね。ieCaptureで確認。
エラー・メッセージは
>>545と同じで、
“Line:31 Char:12 Error:Object doesn't support this action Code:0"
visibility: hiddenにする方法では、JavaScriptオフの閲覧者(特にIE以外のUA)が
メニューが無くなって不便になりますし……。
自分でも試行錯誤中ですが、どうもまだうまい手が見つかりません。
>>579 やっぱりさ、ページ冒頭に固定navbarは別途入れておいて、
浮動navbarはJavaScriptが動く場合専用に出すのがいいんじゃ
ないの。ああ、Web製作板らしい議論だ。
>>580 二つも書くの? それだとJavaScriptオフとかの場合でnavbarがダブるでしょ。
そこはデザインでいかにも2つあってもいいように持って行く。
このスレではデザインは扱っていませんorz
>>579-582 分かったぞ! 固定のnavbarはJavaScriptが動く場合は削除
してしまえばよい。N4を捨てれば(IE4と同じ扱いにすれば)
それで行けそうじゃない? 別に style.display = 'none'
を入れるだけだけどね。
なあんか、無駄な重複の多いソースになるっぽい……。
>>583 もっと「エレガントな解答」って奴を案出したいね。
>>579 「visibility: hidden」をdocument.writeで出力すればいいんでない?
>>585 それ、意味無い。
JavaScriptでnavbarメニューを動かせる場合も消してしまってどうする?
だいたいhead内にdocument.writeで書き出すには、よぶんにscriptタグが必要になるし。
今の所、次みたいにして一応は解決しました。
>>545の
var IE=(D.all && !Opera)?1:0;//
を
var IE=(D.all && !Opera && DOM)?1:0;// gteIE5 /*IE4エラー対策*:/
としてIE4では動作しなくさせます。
次にデフォルトのスタイルシート(
>>548)を
@import 'nn6.css' all; /*=NN7・Opera向け。NC4 & IE3〜4 & WinIE5〜6 は読み込めない=*/
...(略)
#navbar{
position:expression('absolute'); /* IE4無効・scriptオフ時無効 */
bottom:0; z-index:5;
left:0; right:0;
}
として、
importするnn6.cssでは
div#navbar {position:fixed;}
と指定しておきました。
セレクタの#navbarの頭にdivをつけたので優先度高くなり、
しかしfixed未対応のWinIEでは無視されるって仕組みです。
あとは、MacIEが表示確認できないので不安ではありますが……。
MacIEは固定配置に対応してますが、5.0に困ったバグがあります。
cf.
http://cssbug.at.infoseek.co.jp/detail/macie/b038.html >>545のスクリプトで、positin:fixedではなくabsoluteになる、筈です。
何かお気づきの点、もっと良い方法があればご指摘下さい。
IE4に対応させようとしてたなんてバカだなぁと気づいた
589 :
Name_Not_Found:04/10/13 15:44:20 ID:7XYLb3IC
<form method="post" action="
http://private-search.livedoor.com/search" name="search">
<input type="hidden" name="p">
</form>
<script type="text/javascript">
var AAA = external.menuArguments;
var PPP = new String(AAA.document.selection.createRange().text);
document.search.p.value = PPP;
document.search.submit();
</script>
IEのコンテキストメニュー拡張を利用して選択した文字列をPostして検索したいのですが、
上のようにすると、nameの指定されたウインドウが一つ開いてそこに結果を表示してしまいます。
これを、IEを複数起動せずに同じウインドウ内に表示したいと思い
target='_top'などを付けてみたのですが、
target='_blank'のようにnameなしのウインドウが開いてしまい、参ってしまいました。
同一のウインドウで開く為に
修正するべき個所がありましたら、教えていただけませんか?
>>588 対応させる気はなくても、特にバージョンを特定せずに汎用スクリプトを書いて
知らずにエラーを出してる人は多いかも。
質問です
ロールオーバーの方法を探していたら、あるサイトで、
<a href="
http://www-------"onmouseover = "document.bt.src = 'img1.gif'" onmouseout = "document.bt.src = 'img2.gif'"onclick = "document.bt.src = 'img3.gif'"><img src = "img2.gif" name="bt"></a>
というのがあったんですが、どうしてもできません。
画像は表示されるのですが何もおきません。
どうしてでしょうか。わかる人いたら教えてください。
>>591 それだけじゃ分からん。
ロールオーバーのサンプルは沢山転がってるから、
分かり易そうなのを探して試行錯誤してみれ。
>>591 「href="...."」と「onmouseover="..."」等の間がスペースなしでくっつ
いているように見えるけど大丈夫?ってJavaScriptと関係ないがな。
ありがとうございました
>>589 var r = new ActiveXObject( 'Msxml2.XMLHTTP');
//var q = encodeURI( 'ほげ');
r.open( 'POST', '
http://localhost/cgi-bin/test.cgi', false);
r.send( 'hoge=ほげ');
//WScript.Echo( r.responseText);
で、HTTP Response が得られるから、強引に
AAA.document.open( 'text/html');
AAA.document.write( r.responseText);
AAA.document.close();
とでもすればできそうだが。
テストは御覧のとおりローカルCGIなんで、万一その検索システムが必要とする
リクエストヘッダがあるのなら、setRequestHeader すれば問題無いだろうし。
ええとはてしなく初心者なのですが、
<script><!--
function fuck(){
window.open('fuck.htm','fuck','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=500,height=500');
}<//--></script>
<a href="javascript:fuck">fuck</a>
これで新しいウインドウを開いたとき、<A href="#fuck">fuck</A>みたく、指定箇所を表示させるようにするためにはどうすればいいんでしょうか。
まちがえた、<a href="javascript:fuck()">fuck</a>ですね。どうでもいい訂正ですが。
>>597 それも厳密には正しくないよ。javascript: っていうスキームは
独自拡張だから。
function fuck(url){
window.open(url,'fuck'…以下同じ);
}
として、
<a href="fuck.html#fuck" onclick="fuck(this.href);return false;">
とすればおk
600 :
Name_Not_Found:04/10/14 23:06:59 ID:S6ZrxISy
>>595 レス本当にありがとうございます。
encodeURIのせいかUTF-8でエンコードされてしまい、小生の環境では失敗してしまいました。
ある文字列を選択して、そこで右クリック→formに送って検索というのをやりたかったのですが、
自分自身external.menuArgumentsの特徴を理解できていなくて、すみませんでした。
別のスクリプトでは、
open()を使わずexternal.menuArguments.location.hrefを使う事で
ウインドウを一つにする事ができたのですが、今回の場合はそうもいかず・・・
601 :
Name_Not_Found:04/10/15 00:58:53 ID:4axoZEhu
IF文に関する質問をさせてください。
変数a,bをMath.random()で決定した後のIF文で、
document.write("a");
if(a>b) document.write(">");else document.write("<");
document.write("b");
と書いたのですが、
>の時はa>bと実行されるのですが、
<の時、<bが書き出されず、aのみしか書き出されません。
よかったら解決方法をお願いします。
>>601 バカヤローHTML上では「<」と「>」は「<」と「>」
と打ち込まないと駄目なのを知らないのか! JavaScript以前の問題!!!
それができないなら全角にしる! どっこもif文と関係ないぞ!!!
603 :
601:04/10/15 01:18:03 ID:4axoZEhu
>>602 そうだったんですか・・・・・・・_| ̄|○
そんな基礎中の基礎のミスだったとは・・・・・・・_| ̄|ミ○
ちょっとHTMLに戻ってまだ見落としがないか確認してくることにします・・・・・・・・_| ̄|...ミ○
本当に有難うございました。_| ̄|.........ミ○
先は長いですが精進しようと思います!_| ̄|(`・ω・´)
604 :
Name_Not_Found:04/10/15 07:08:35 ID:L8eCZ6Ov
はじめまして、SPOOKYと申します。
イメージにマウスオーバーした時に別の画像と差し替える、というよくある機能
を作りました。
あらかじめimageオブジェクトを生成し、それに画像を読み込む関数を作り、
bodyのonLoadで呼び出します。
そして画像の(正確には<a>たぐの)onMouseOverとonMouseOutで画像を差し替えま
す。
この時私の認識では、キャッシュされた画像なので、画像の差し替えを行っても
WEBサーバーとの通信は発生しないと思っていたのですが実際にはWEBサーバーの
ログに大量の画像へのアクセスが記録されています。
これはブラウザのこういう仕様なんでしょうか?それともスクリプトの書き方が
悪いのでしょうか?
何か情報をお願いいたします。
605 :
Name_Not_Found:04/10/15 07:20:32 ID:0XWHa4we
>>604 キャッシュしてる部分と差し替えてる部分の要点を貼ってくれない
となぜキャッシュに失敗してるか判断できないねえ。
同じhtmlに含まれる三つのイメージを連携させることはできますか?
例)
Aにマウスオーバー=BとCのイメージが変わる
Bにマウスオーバー=AとCのイメージが変わる
できて当たり前のレベル
>>609 ありがとうございます。勉強します。
すれ汚しちゃってすんませんでした。
>>604 なんで DHTML Mailing list からそのままコピペなの?
SPOOKY って名前まで。
> WEBサーバーのログを読み直したところ、キャッシュされた後のレスポンスは
> 304(Not Modified)が返っていましたので、ファイル本体が送られていないこと
> を確認することができました。
って自己解決までしてたし。
612 :
Name_Not_Found:04/10/15 13:59:40 ID:tMBrbnIb
overflow:scroll とした所のエリアをスクロールするにはどの
ようにしたらよいのでしょうか?
windowのようにscrollToなどではエラーになってしまいます。
実装されてない予感・・・
>>612-613 ちょっとやってみようと思って、overflow:scrollなdivの中に
別のdivをposition:relativeで入れて、そのtop/leftをJSで変更
してみた。GeckoではOKなんだけど、IEでは中のdivが透けて見え
てしまってうまくいかない。IEのバグですかね?
615 :
Name_Not_Found:04/10/15 17:41:40 ID:fhuMoLb+
はじめまして。
親ウィンドウを閉じた時にサブウィンドウも一緒に閉じるようにするには、
どうしたらいいのでしょうか。
>>615 <body onunload="子ウィン.close()"...
>>615 即レスありがとうございます。さっそくやってみます。
var opt=new Option("3","33");
document.forms["test"].elements["sel1"].options[0]=opt;
document.forms["test"].elements["sel1"].options[1]=opt; //エラー
Optionオブジェクトの二度目の代入でエラーになるのは仕様ですか?
>>620 it と one は違うって義務教育の英語で習っただろ。
opt という唯一の参照 (つまり it) を変に使いまわすなよ。
同じだが、別のもの (one) が欲しけりゃ、再度 new Option するとか、
option_0.cloneNode( true) するとか。
つーか、そもそも何のための cloneNode かと。
まぁこのスレじゃオブジェクトだの参照だの分からず書いてる人多いんだろうなぁ
623 :
618:04/10/16 11:34:08 ID:???
>>622 それはこのスレに限らず、解説サイトやってるような衆の中にもいるから。
>>622-624 常連回答者はだいたい熟知してるだろ。質問者はもちろん素人
同然からいるわけだから。
ラジオボタンとボタンで同じページ内を飛びまわるようなのをやりたいんですが、
<html><head><title>test</title>
<SCRIPT LANGUAGE="JavaScript">
function jump(){
for(i=0; i<document.forms[0].url.length; i++){
if(document.forms[0].url[i].checked){
flag = 1;
window.location.href = document.forms[0].url[i].value;} }}
</SCRIPT></head><BODY>
<a name="0"></a>
<FORM action=#1><INPUT type=submit value=スタート></FORM>
<BR><BR><BR><BR><hr>
<a name="1"></a>
1.<FORM>
<INPUT TYPE="radio" NAME="url" VALUE="#2" CHECKED >2へ<BR>
<INPUT TYPE="radio" NAME="url" VALUE="#3">3へ<BR><BR>
<INPUT TYPE="button" onClick="jump();" VALUE="OK"></FORM>
<BR><BR><BR><BR><hr>
<a name="2"></a>
2.<FORM action=#3><INPUT type=submit value=次へ></FORM>
<BR><BR><BR><BR><hr>
<a name="3"></a>
3.<FORM>
<INPUT TYPE="radio" NAME="url" VALUE="#2" CHECKED>2へ<BR>
<INPUT TYPE="radio" NAME="url" VALUE="#1">1へ<BR><BR>
<INPUT TYPE="button" onClick="jump();" VALUE="OK"></FORM>
<body></html>
どうすれば動くようになるでしょうか…。
>>626 どういう動作を期待してるのか良く解らないけど、とりあえず
document.forms[0] はいちばん最初のFORMしか参照できないわけだ。
onclick="jump(1);" として番号を渡すとか、
onclick="jump(this.form);" としてFORM自身を渡すとか
629 :
Name_Not_Found:04/10/16 19:11:33 ID:6SqtxPgl
質問です
ページを読み込んでから数秒後に表示するにはどうすればよいのですか
お願いします
>>ページを読み込んでから数秒後に表示するにはどうすればよいのですか
何を表示するんだかしらんが setTimeout
>>629-630 もしかして読み込みは時間が掛かるから前もって行って
おいて数秒たったらぱっと見せるとかなの? 後から見せる
もの全部をdivに入れてvisibility:hiddenにしといてJSで
visibleに書き換えるとか? でもJS OFFだと何も見えないまま…
632 :
Name_Not_Found:04/10/16 23:26:58 ID:Yvtc2im4
どこに書き込めばよくわからなかったのでここに書き込みました。
質問です。
今、JavaでWebブラウザを作っているのですが、JavaScriptが使われている
ページが表示されません。
JavaScript対応にするにはどうしたらいいのでしょう??
どなたかよろしくお願いします。
なんだその板違い
>>634 いろいろやり方はあるので、一例ということで。
1.メニューをulとliのネストでとりあえず作っておく。
2.メニューの項目の中から、nextSiblingがulなものに関して、
3.onclickでnextSiblingのstyle.displayの値を
4.blockならばnoneに、noneならblockに切り替える。
<ul id="tree">
<li><a href="#">あああ</a></li>
<li><a href="#">いいい</a>
<ul>
<li><a href="#">ううう</a></li>
</ul>
</li>
</ul>
var tmp = document.getElementById("tree").getElementsByTagName("li");
for(var i=0 ; i<tmp.length ; i++){
var a = tmp[i].getElementsByTagName("a")[0];
if(a.nextSibling.nodeName != "ul") continue;
a.onclick = function(){
var disp = this.nextSibling.style.display;
disp = (disp == "none") ? "block" | "none";
}
}
実際には、style.displayの初期値の問題とか、
Moz系ではnextSiblingが改行になったりとかの問題もあるので
そのままでは動かないかも。
640 :
634:04/10/17 01:34:16 ID:???
>>636 >>638 申し訳ありません、やはり判り辛いです。
何処かで、簡単に紹介しているようなページはあるでしょうか?
>>634 折角人が教えてくれてんのに、その言い草はなんだ。
第一、OSをシステム何ていってる奴が作れるわけないだろ。
なめんな。
642 :
634:04/10/17 01:54:03 ID:???
>>641は、死ね・くたばれ・消えろ・失せろ・潰れろ・馬鹿 ・ポンコツ・トンチキ・ガラクタ
クズ・ゴミ・カス・最低以下の下劣・下等種族。 劣等種族・下衆野郎・腐れ外道
邪道・外道・非道・ウジ虫・害虫・ガン細胞・ウィルス・ばい菌・疫病神・病原体・汚染源
毛虫・蠅・蚊・ボウフラ・芋虫・掃き溜め・汚物・糞・ゲロ・糞虫野郎・ほら吹き。
基地外・デタラメ・ハッタリ・穀潰し・ろくでなし・ごろつき・ヤクザ者。
社会の敵・犯罪者・反乱者・前科者・インチキ・エロ・痴漢・ゴミ・シデムシ。
ゴミ虫・毒虫・便所コオロギ・詐欺師・ペテン師・道化師・危険分子・痴呆・白痴。
魔物・妖怪・悪霊・怨霊・死神・貧乏神・奇天烈・奇人・変人・毒ガス・サリン。
ソマン・イペリット・クソブタ・ブタ野郎・畜生・鬼畜・悪鬼・邪気・邪鬼
ストーカー・クレイジー・ファッキン・サノバビッチ・シット・ガッデム。
小便・便所の落書き・不要物・障害物・邪魔者・除け者・不良品・カビ・腐ったミカン。
放射能・放射線・鬼っ子・異端者・妄想・邪宗・異教徒・恥垢・陰毛・白ブタ。
ケダモノ・ボッコ・ろくでなし・VXガス・ヒ素・青酸・監獄・獄門・さらし首。
打ち首・市中引きずり回し・戦犯・絞首刑・斬首・乞食・浮浪者・ルンペン・物乞い。
放射性廃棄物・余命1年・アク・割れたコップ・精神年齢7歳・3審は必要なし。
不良品、規格外、欠陥品、不要物、埃、掃き溜め、吹き溜まり、塵埃、インチキ、居直り。
ファッキン、ガッデム、サノバビッチ、シット、ブルシット、ボロ、ボッコ、妄信。
狂信者、有害物質、毒薬、猛毒、発ガン物質、誇大妄想狂。
他人の悪口は山ほどほざくが反省は一切しないガキ根性野郎、腐れ根性。
腐って歪んだプライドの持ち主、狭量、ボケ、ボケナス、アホンダラ、たわけ。
怠け者、無能、無脳、脳軟化症、思考停止、アメーバカビ、単細胞、蠅、蚊、。
腐敗、膿、下劣、下等生物、劣等種族、クレイジー、マッド、ストーカー。
人格障害、守銭奴、見栄っ張り、ええ格好しい、粗製濫造品、偽物、似非
イカレ、乞食、浮浪者、ルンペン、狼藉者、放蕩息子、道楽息子、極道息子。
迷惑、困りもの、厄介者、村八分、異端者、アウトサイダー
大虐殺者、ナチスドイツ、731部隊、ポルポト派らと同類。
私怨か?
645 :
636:04/10/17 02:59:12 ID:???
>>640 一応、努力精進するスレなんで、
どの辺がわかんないかを教えてはくれまいか(´・ω・`)
646 :
Name_Not_Found:04/10/17 03:24:44 ID:wZzNhW4O
>>639 ありがとうございます!
教えていただいたページ一応見たのですが、いまいち組み込み方がわかりません。
もしよければ教えていただけないですか??
階層が深くなると対応しにくいだろ。イベントモデルをおぼえような。>636
とりあえず、WinIE と Mozilla だけ。
if ( 'object' == typeof window.attachEvent ||
'function' == typeof window.addEventListener) window.
/*@cc_on @if (@_jscript) attachEvent( 'on' +
@else@*/ addEventListener( /*@end@*/
'load', function (e) {
document.getElementById( 'TREE').
/*@cc_on @if (@_jscript) attachEvent( 'on' +
@else@*/ addEventListener(
/*@end@*/ 'click', function (e) {
var li = e.srcElement || e.target;
var ul = null;
while ('LI' != li.nodeName) {
if ('UL' == li.nodeName) return;
li = li.parentNode;
}
/*@cc_on @if (@_jscript)
if (1 == li.children.tags( 'ul').length)
ul = li.children.tags( 'ul').item( 0);
@else@*/
for ( ul = li.firstChild; ul != null && 'UL' != ul.nodeName; ul = ul.nextSibling)
;/*@end@*/
if (null != ul)ul.style.display = ul.style.display == 'block' ? 'none' : 'block';
}, true);}, true);
648 :
647:04/10/17 05:08:43 ID:???
ああ、638 にある id は小文字の tree だったのか。
こういう手違いがおこるから、ハードコードは(略
649 :
636:04/10/17 05:08:50 ID:???
無学でもうしわけないっす。
コメントの中身と、階層うんぬんの話がわからないんですけど、
もしよかったら解説してもらえませんか?
650 :
647:04/10/17 05:31:06 ID:???
>>649 コメント: 条件コンパイル、JScript で探してくれ。
階層: 50階層の入れ子で作ってみろよ。NodeList 渡しながらの再帰はアフォくさいぞ。
651 :
636:04/10/17 05:58:30 ID:???
>>650 朝も早よからありがとう。
>50階層の入れ子で作ってみろよ。NodeList 渡しながらの再帰
想像してワロタが納得しますた。
>>647で書いてくれたのは、要はクリックイベント拾って、
そのときのノード毎にごにょごにょする、って理解でよろしい?
652 :
Name_Not_Found:04/10/17 17:45:37 ID:9iZwVRyU
質問させてください。
form上で、Enterを押すと、onSubmitでキャンセルしても
submitボタンにフォーカスが移動してしまいますが、
フォーカスの移動をやめさせる方法はありますでしょうか?
(一行入力フィールド上でのEnterを無効にする方法でも構いませんが…)
>>652 変換中に投稿するのを防ぐのが目的か?
submit 上での enter は許可していいんだよな?
<form ...>
...
<!--[if gte IE 5]><script type="text/javascript">
document.forms[ document.forms.length - 1].attachEvent(
'onkeydown', function (e) {
if (13 == e.keyCode && 'submit' != document.activeElement.type)
e.returnValue = false;});
</script><![endif]-->
<script type="application/x-javascript"><!--
if ( 'function' == typeof document.forms[ document.forms.length - 1].addEventListener)
document.forms[ document.forms.length - 1].addEventListener(
'submit', function (e) {
var t = e.target;
while (Node.ELEMENT_NODE != t.nodeType) t = t.parentNode;
if ('submit' != t.type) e.preventDefault();
}, true);//-->
</script>
</form>
654 :
Name_Not_Found:04/10/17 23:20:39 ID:RkUzvvy9
>>653 ありがとうございます。
そのソースではtextarea上でも改行ができなくなるようですが、
type=textのinputタグにのみ明示的にonkeydownを書くことで目的の動作ができました。
目的はその通りです。formがやや巨大ですので、誤enterを阻止したいのです。
656 :
Name_Not_Found:04/10/18 01:02:25 ID:PoBakFXW
ボタンを押す度に数字を+1加算して、その数字を表示するというものを作っているのですが下記の様な症状になってしまいます。
最初の表示はOK。ボタンを押すと、ボタンが消え背景色が変化してしまいます。
数字の色も変わってしまいますが、加算した値は表示されました。次にボタンを押すとエラーが出てしまう。
ボタンを消さず、色も変化しないようにしたいのですが、どこの部分がいけないのか皆様の指導を得たいと思い質問させていただきました。
下記がそのソースです。
<HTML>
<HEAD>
<TITLE>TEST</TITLE>
</HEAD>
<BODY TEXT="#FFFFFF" BGCOLOR="#008000">
<script language="JavaScript">
var a=0;
function add_test()
{
document.write(a);
document.write("<br>");
a++;
}
add_test();
document.write("<input type=button name='next_btn' value='NEXT' onclick='add_test()'>");
</script>
</BODY>
</HTML>
どうぞよろしくお願いします
657 :
Name_Not_Found:04/10/18 01:30:28 ID:UM8UBodA
フレームで外部リンクを取り込み、自動スクロールするのってないですか?
自分のサイトはできるんだけど、、
最後までHTML文書が読まれた後のdocument.write() はHTML文書を書き直してしまいます
よってscript 要素は消えうせてエラー
<SCRIPT>
function add(){
document.myform.b.value=Number(document.myform.b.value)+1;
}
</SCRIPT>
〜略〜
<FORM name="myform">
<INPUT type="button" name="b" value=0 onClick="add()">
</FORM>
>>657 もしかして、ホストの違うドキュメントをフレームのどれかに読み込んで、
そのフレーム画面を上下(左右)にスクリプトで自動スクロールする、
なんてくだらない事か?
そういうくだらない事なら、直接は無理だが、間接的にならできる。
662 :
Name_Not_Found:04/10/18 07:30:11 ID:UM8UBodA
>>656 FAQ
>>10 のQ3/A3を嫁!
>>662 FAQ
>>10 のQ1/A1を嫁! 他ドメインの場合は特別な技が必要。
普通の奴をそのままコピペしたのでは無理だろう。iframeの
中に他ドメインのページを読み込ませる自鯖のページを用意し
それを動かせ。あとは自力でできるはずだ。
textにマウスが乗ると、別の場所の画像が入れ替わるようにするには
どうしたらできますか?
<span onmouseover="document.images[画像番号].src = '差し替えファイル名'">テキスト</span>
>>666 ありがとう!画像番号というのはイメージに付けるnameとは違うんでしょうか?
あと切り替わりはインラインフレーム使ってやってみたんですが上手くいかないみたいです。
>>667 番号だからページ内の画像を0、1、2と数える。nameを指定したければ
「document.images.画像名.src =...」
インラインフレームをどういう風に使ったら何ができないのか全然分からん。
>>668 ありがとございました!おかげで出来ました!
不躾ですが、テキストではなく画像内部エリアで同じ処理をさせたい場合は
<map name="Map">
<area shape="rect" coords="座標" src = '差し替えファイル名'>
</map>
これのどこにどういれたらいいのでしょうか?
連続カキコすみませぬ、あたしってば慌て過ぎ…(汗)
>>667の処理でマウスが離れると、ディフォルトのイメージに戻るようにするには、どう追加記入すればいいんでしょうか?
戻したい理由は、ディフォルト、A、Bと三つの画像を切り替えるため
nameを指定してしまうと、ディフォルト指定のname以外だと切り替わらないからですが
戻さないでも、他に良い方法があれば教えてくれるとうれしいな!
わぁ〜すみません!!670はシカトでお願いします(涙)
もぅあたし最悪だわさ…。
おいおい…「落ち着いて状況を整理してから質問しよう」
なんてガイドライン今までは要らなかったんだけどな…
673 :
Name_Not_Found:04/10/18 20:08:20 ID:NYsdNhmW
質問させてください。
フレームを左右にわけて表示しています。
この状態で、右フレームの「閉じる」ボタンを押したらすべて閉じるようにしたいのですが、
そのやり方がわかりません。
(現状は、閉じるボタンがあるページだけしか閉じれません。)
一括してページを閉じる方法を教えてください。
>>673 「top.close();」じゃだめなの?
>>674 おおっ!できました。
ありがとうございました。
676 :
Name_Not_Found:04/10/19 20:17:43 ID:77UB5+zc
プリントスクリーンを禁止したいのですが、
クリップボードの内容を指定文字列で一定時間ごとに上書きするスクリプトって有りますか?
│
│
│
│
│ _
│ /  ̄  ̄ \
│ /、 ヽ
J |・ |―-、 |
q -´ 二 ヽ |
ノ_ ー | |
\. ̄` | /
O===== |
/ |
/ / |
679 :
Name_Not_Found:04/10/19 23:35:26 ID:smZzzvwr
画像からリンクを貼り、別の窓でツールバー・スクロールバー等一切無しで、
JPG画像を開きたいのですが、その際のスクリプトはどうすれば良いでしょうか?
テキストから画像、テキストからHTMLなどはどこにでも載っているのですが、
画像から画像が、イマイチよくつかめません。
簡単に記述すると、どうなりますでしょうか?ご教授お願いします。
680 :
679:04/10/19 23:38:16 ID:???
HEAD内の
<SCRIPT Language="JavaScript">
<!--
function nwn(url) {
w = window.open(url, 'win01','width=500,height=200,status=0,scrollbars=0,
directories=0,menubar=0,resizable=1,toolbar=0');
}
//-->
</SCRIPT>
はOKですよね。画像のリンクにはIMGタグなのか A HREFなのかが、
わかりません。。。
681 :
679:04/10/19 23:49:03 ID:???
スレ汚しスマソ
わかりまつた
682 :
Name_Not_Found:04/10/20 00:18:32 ID:4QSgpnEb
リンク付き画像をクリックしてjavascript関数に画像のthisオブジェクトを渡して
その画像を変更することってNC4.78でできますか?
つまり、個別の画像にnameやid属性を設定せずに、クリックイベントで画像を切り
変えたいということです。
>>682 N4ではonclickを拾うのにはaタグを使わなければならない。したがって
onclickの中でthisを渡してもダメポ。nameもidもなくても番号を指定
すれば画像は参照できるけどね。
>>683 なるほど。やっぱりそうですかー。ありがとうございます。
>>682 onmouse(over|out|down|up)
例
<img alt="" src="hoge" width="128" height="32">
<script type="text/javascript"><!--
if (document.layers)
document.images[ document.images.length - 1].onmouseup = function (e) {
alert(e.target.src == this.src); // true
}
//-->
</script>
>>681-685 そうか、onclickはだめだけど(onmouseover/onmouseoutもダメ)、
onmousedownとonmouseupはスクリプト側でイベンドハンドラセット
すれば取れるんだ。そして画像オブジェクトはイベントターゲットで取れると。
687 :
Name_Not_Found:04/10/20 08:53:48 ID:F7bnNaqP
3枚の画像を 画像→フェード→画像→フェード→画像 繰り返しってやりたいんですけど
どうすればよいか教えて下さい
688 :
Name_Not_Found:04/10/20 09:46:53 ID:wWzV6P7E
どこかのテンプレに使用されていた感動のスクリプト(タグ?)で
マウスを乗せると指定された文字がチカチカと色が変わるやつなんですが、
アドバイスお願いします。
: onmousedownとonmouseupはスクリプト側でイベンドハンドラセット
というのは
> × <img onmouse(out|over)="handler()">
> ○ (Image objImage).onmouse(out|over) = handler;
○の方の意味じゃないの、ふつう。
691 :
メス豚:04/10/20 16:48:43 ID:SXp/Z68Z
ホームページビルダー8でHPを作成してます。〜まであと*日と入力して自動的に
日数がカウントされるにはどうしたらいいんでしょうか?
>>691 過去ログのどっかにあったな。終了。(だいたいHPBだからどーだと
いうのだ。このスレでそんなこと言われてもどうにもならん。)
ちょっとまてよ、ページが表示されて、日数を入力するとカウント
し始めるの。それでそのページを何日もずーっと出しておくの。
なんだか想像もつかん使い方だなあ。
>>691 目標の時刻から、現在の時刻を引き算すると、残りの時間になるでしょ。
で、その残りの時間を日単位になるように丸めて、表示する。
時刻を取得するには、new Date() としてDateオフジェクトを生成する。
このとき、引数に任意の時刻を与えることで目標時刻を、
引数無しで現在の時刻を取得できる。
またDateオブジェクトにはgetDateとか色々便利なメソッドがあるので
それらを利用すると楽チンです。
この辺を踏まえてごにょごにょやって、わかんなかったらまた質問しる。
リアルでこんな先輩が欲しい。
>>693 程度のアドバイスで済むなら大変結構なことだけどなー。
HPBが何とか言ってるんじゃ怪しいと思ってさ。
まず頭を良くする事から始めましょう
>>696 そのスクリプトで何をしたいのか説明してくれないと。
699 :
696:04/10/21 00:11:49 ID:???
>>698 あげる前にコメントまで消してしまったようです、失礼しました。
HTML の HEAD 内に
<meta name="dc.creator" content="696" />
<meta name="dcterms.modified" scheme="dcterms.W3CDTF" content="2004-10-20" />
のように情報を記述してあるので、それをリストアップして BODY 内の最初の DIV 要素
に追加するものです。
>>699 なんだかdocument.createTextNode()を一切呼んでないみたいだけど、
それでどうやってテキストを挿入できるんだ?
>>696 ふつうは <meta http-equiv="Content-Type" ...> で始まるから、
いきなり選択肢最後の return null で終了するわな。
選択肢最後 (else { return null; }) は必要無いから消してみろ。
>>700 いろいろなサイト・リファレンスからつまみ食いしながら書いたので、理解
されてる方がみればものすごい恥ずかしいソースだと自覚しています。
さっそく修正したいと思います。ありがとうございました。
>>701 XHTML1.1 にてマークアップしていますので、HTTP Header は鯖の方に
吐いてもらってます。なので META 要素は DC の情報しかありません。
確かに無駄なようなので修正しておきます。どうもでした。
>>696 × hlItem[i] = mList[i].getAttribute('content')
○ hlItem[i].appendChild(document.createTextNode(mList[i].getAttribute('content')))
× hList.appendChild(hlItem)
○ hList.appendChild(hlItem[i])
704 :
696:04/10/21 01:28:49 ID:???
>>703 ありがとうございます。すでにそのように修正しました。
一人で悩んでも1週間あれば解決できたりしますが、やはり
アドバイスいただけるとすぐ考えがまとまります。助かりました|`・ω・)ゝ”
696 みたいなのは、クライアント側で XSLT と JS でしのぎつつ、サーバが XSLT させてくれるまで待つのが正しいと思う。
変換のテンプレートさえ出来てれば、各言語で決まり切った処理をするだけだから。XHTML 1.1 ということは、
application/xhtml+xml または application/xml なんだろ? Firefox で 次のスクリプトが問題なく動作する。
<script type="application/x-javascript"><![CDATA[
if ('object' == typeof window.XSLTProcessor) (function ( XSL_URI ) {
var xslDoc = document.implementation.createDocument( '', 'xslt', null);
xslDoc.addEventListener( 'load', function () {
var p = new XSLTProcessor();
p.importStylesheet( arguments[ 0].currentTarget);
document.getElementsByTagNameNS( '
http://www.w3.org/1999/xhtml', 'div').item( 0).appendChild(
p.transformToFragment(
document.getElementsByTagNameNS( '
http://www.w3.org/1999/xhtml', 'head').item( 0),
document.implementation.createDocument( '', 'tmp', null)
));}, false);
xslDoc.load( XSL_URI);
})( 'test.xsl' );]]></script>
706 :
696:04/10/21 16:43:41 ID:???
>>705 おお、すごいですね。勉強になります。
今は自家鯖でコンテンツを作りつつ友人にデザイン等のダメだし
してもらって遊んでるだけなんですが、そのうち使わせていただきます。
707 :
Name_Not_Found:04/10/21 18:44:15 ID:9tj30CqU
<form method=GET action="
http://www.google.co.jp/search">
<input type="text" name=q size="24" maxlength="255" value=""><br>
<input type="hidden" name=hl value="ja">
<input type="hidden" name=ie value="Shift_JIS">
<input type="submit" name=btnG value="検索">
<select name="searchengine">
<option value="google" selected>Google(Web全体)
<option value="googleja">Google(日本語)
<option value="yahooja">Yahoo! JAPAN
</select>
</form>
検索ボックスを作ったのですが、セレクトメニューで指定した
検索エンジンで検索するようにするJavascriptの書き方が分かりません
どなたかご教授ください。お願いします。
708 :
Name_Not_Found:04/10/21 18:57:29 ID:ovKqScEx
画像のフィルタ効果に関する質問なのですが
<script>
var updo,cleared;
cl=100;updo=1;
function pfilter(){aaa.style.filter=alpha(opacity=cl);}
function upclear(){
cl=cl-updo;
if(cl<0){cl=cl+updo;return 0;}
pfilter();
}
function downclear(){
cl=cl+updo;
if(cl>100){cl=cl-updo;return 0;}
pfilter();
}
</script>
以下bodyが始まりまして、onMouseoverでupclear()とdownclear()を呼び出す
<a href を二つ作ったのですが、upclear()関数を呼ぼうとするとエラーが出てしまいます。
原因は何か教えていただけないでしょうか。
エラーは必ず4行目のところで出まして、オブジェクトを指定してください、と出ます。
710 :
708:04/10/21 21:13:38 ID:ovKqScEx
>>709 <body>
<img id="aaa" src="test.gif">
</body>
こんな感じで書いてはあるのですが、これでは定義したうちには入らないのでしょうか
>>708 スクリプトを読み込んだ時は、まだHTMLは読み込み終わっていない。
よって、まだ aaa が存在しないと見なされる。
body の onload イベントに処理を割り当てたりするのが正しい
712 :
711:04/10/21 21:19:07 ID:???
……と思ったけど早とちりだったスマソ
これはdocument.getElementById("aaa") とか document.images["aaa"] でオブジェクトを取得しないとダメだね
713 :
708:04/10/21 21:42:37 ID:ovKqScEx
>>712 なるほど、どうも基本的なところでつまずいている気がするので、
もうちょっと基本に戻ってみようと思います。
>>711 での助言助かりました。長く引っかかっていた部分がこれで解決しました。
>>707 action=hogehoge が検索エンジンになってるので、区分けしたいだけの
FORMをそれぞれ用意しておいて、要素をhiddenにしておく。
で、別のフォームから取得したパラメータを使って、該当する検索エンジン用の
要素を変更し、FORMをsubmitするようにしたらいいかな〜。
>> 708
<body onload="return window_onload();">
でHEADにあるwindow_onloadにイベントハンドラを結び付ける。
function window_onload(){〜}
BODYのonloadイベントはwindowオブジェクトの定義完了を意味する。
すなわち、HTML中に定義されたwindowオブジェクトの包含子オブジェクトも定義が認識されたことを意味する。
だからこの時点でスクリプトで操作できることが保証される。
だからこのイベントで、個々のオブジェクトにイベントハンドラをプログ的に結び付ければ、
まだ認識されていないオブジェクトにアクセスしなくて済む。
何にonmouseoverか知らんが、window_onload内で。
ObjX.onmousuover=結び付ける関数名;()は付けない、この場合関数ポインタを表す。()は通常の呼び出しになってしまう。
よほど簡易なものでない限り、タグのインラインスクリプトは避けろ。<BODY onclick="alert('クリック');"のようなもの。
window_onload関数のくせをつけろ(関数名はこれでなくてもいい、bodyのonloadで設定するくせだ)
>>715 そんなまわりくどいことするんなら、はじめから
window.onload = function(){
//ごにょごにょ。
}
と書いた方が、htmlとの分離も出来ていいんでないかい?
717 :
716:04/10/22 13:34:34 ID:???
あ、
>>715 の
> よほど簡易なものでない限り、タグのインラインスクリプトは避けろ。
には同意です。
>>715 onloadハンドラにreturnを書く意味はあるの?returnされる
値によって何が制御できるの?
スマン、間違ってWebProgで聞いてしまったんだが、もう一度ここで聞かせてくれ。
Windows ME + IE6だと、history.go(-1)で戻ると前のページのフォームの入力内容が
消えていると聞いた。
うちには2000とXPしかないので確認できないが、そうなのか?
正規表現で質問があるのですが、
テキストフィールド(nameはtextfield)に\が入力されていた場合、
アラートで\使えないよと警告したいのですが、どうもうまくいきません・・・
以下ソース
var textarea = document.formname.textfield.value;
var a = new RegExp("[\]");
if ( textarea.match(a) )
{
alert("\は使えません。");
return;
}
else
{
alert("OK");
return;
}
ソースのようにやると\が入ってもOKと表示されてしまいます。
どのようにしたらいいのかご教授お願いします
多くの言語で¥(バックスラッシュ)はエスケープシーケンスだから、
¥¥と書くのが通例。
>>720 indexOf()じゃだめなんかね?
あと\はエスケープしないとだめだろ。
前々から思っているのだが何故正規表現のマッチングに match 関数を使うんだ?
true/false を知りたいだけなら test 関数使う方が動作速いだろ?
計って見た?
725 :
Name_Not_Found:04/10/22 23:15:48 ID:uckxT9Vp
1つの入力フォームで、プルダウンメニューで選択した異なるcgiへ
データを送信できるスクリプトを教えて下さい。
>>725 フォームオブジェクトのactionプロパティを適宜変更すれば
いいんじゃないのかな。試してないけど。まあ自分でやってみてよ。
727 :
sage:04/10/23 00:08:12 ID:b+/0Og9p
html内のある一部の文字列を、ボタンで開くポップアップウィンドウに
転送したいのですが、サンプルまたは助言いただけないでしょうか。
よろしくおねがいします。
>>727 そのある一部の文字列というのはHTMLを書く時に決まっているわけ?
だったら単に別窓に決まった文字列を出すというだけのことになるが。
ポップアップはwindow.openで出しているんだよね。
win = window.open(...);
win.document.write('文字列'); win.document.close();
これでいいのかね。
729 :
727:04/10/23 03:51:40 ID:???
>>728 レスありがとうございます。
言葉足らずでした。
文字列は動的なもので、cgi吐き出し後のhtmlから一部分を抜き出す形です。
ボタンを押すと1つのテーブルごとポップアッブウインドウに転送するような
例があると非常に助かります。
730 :
727:04/10/23 03:55:55 ID:???
追伸
勿論テーブルごとではなく、一部分の文章だけの転送でも問題ありません。
>>730 そのテーブルにID振って
win = window.open(...);
win.document.write(document.getElementById('ID名').innerHTML); win.document.close();
とかでどうかな。
732 :
727:04/10/23 11:58:44 ID:???
733 :
Name_Not_Found:04/10/23 15:58:19 ID:pp/PRsuf
初心者スレから誘導されてきました。
javascriptで各要素のスタイルプロパティにアクセスして動的に見栄えを変えたりしたい
んですが、それぞれの要素へのアクセス方法がイマイチわかりません。
例えばCSSのセレクタでいう
p.test strong.test
というのはjavascriptではどう表現するんでしょうか?
どうぞよろしくお願いしますm(_ _)m
734 :
733:04/10/23 17:14:44 ID:pp/PRsuf
クラスは無理っぽいですね。
他の方法で解決しました。失礼します。
735 :
Name_Not_Found:04/10/23 17:55:57 ID:oAkpNW3V
main.html にアクセスした時に、
main.html#yasai を表示させる方法があれば教えていただけないでしょうか
>>735 <a href="main.html#yasai">お前アフォ?</a>
737 :
Name_Not_Found:04/10/23 21:50:47 ID:YFLobxvk
フォーム method POSTで開くHTMLのウィンドウサイズを
指定したいんですけどできますでしょうか。
get ならできるんですけど。
<form method="post" action="???.html" target="_blank">
>>737 開く先のページで
<body onload="">
これで好きにやればいいよ
739 :
Name_Not_Found:04/10/23 22:24:05 ID:YFLobxvk
740 :
Name_Not_Found:04/10/23 22:51:23 ID:4exn6D1Q
エクスプローラ上でマウスカーソルに(゚∀゚)が追従してくるプログラムなどを
いろいろ載せてあるスレってありましたよね?
メモ帳にコピペしてうぇbページとして保存するとできるやつ
どこでしたっけ?
>>740 マウスカーソルに(゚∀゚)が付いてくるプログラムが欲しいなら、
すぐ書いてあげられるけどどうします?
742 :
Name_Not_Found:04/10/23 23:23:46 ID:4exn6D1Q
お願いします
>>741さま
そういうのを作って公表しあうスレがあったと思うのですが・・・
見つからないです
>>740 <html>
<head>
<title>(゚∀゚)</title>
<script language="JavaScript"><!--
var xx,yy;
function movingface(){
xx=event.x;
yy=event.y;
document.all["mousestalker"].style.left=xx+10;
document.all["mousestalker"].style.top=yy+10;
document.all["mousestalker"].innerText="(゚∀゚)";
}
document.onmousemove=movingface;
// --></script>
</head>
<body>
<div id="mousestalker" style="position:absolute"></div>
</body>
</html>
どうぞ。顔文字変える部分はわかりますよね?
>>742 そんな良心的な奴が沢山居るスレなんて普通ねーよ
745 :
Name_Not_Found:04/10/23 23:38:29 ID:4exn6D1Q
解答もらった途端にこれだ。
748 :
Name_Not_Found:04/10/23 23:39:53 ID:PEQmlX0w
すっげぇ単純な質問でごめんなさい。
具具ってもわからんでした。
javascriptで、関数自体を配列にできますか?
i=0;
function func[i]{
.....
}
みたいなかんじで。
750 :
Name_Not_Found:04/10/24 00:45:56 ID:vstnTsjY
それも考えたんですけど、具具ってもperlしかないんすよ。しかも五件くらいしか・・・。
もうちょっとjavascriptでの詳細がしりたくて・・・。
751 :
Name_Not_Found:04/10/24 01:50:04 ID:vstnTsjY
というわけで結局関数を複数書くことにしました。
まぁちょいと音ゲーをjavascriptで書いてるときにソースをもっと簡潔にしたかったのですがね・・・。
でもなかなか変数定義がすばらしくゆるいのでびっくりだ!!
ほかの言語じゃありえないっすね>_<
752 :
Name_Not_Found:04/10/24 02:05:43 ID:L3//n2Kq
教えてください。
<form name=form01>
<input type="image" name="A" src="B.gif" 〜
関数中からtype="image"を参照するにはどうすれば良いでしょうか。
document.form01.B1.src="C.gif";
とすると、
「'document.form01.B1' はNullまたはオブジェクトではありません」と怒られます。
よろしくお願いいたします。
>>752 name="B1" がなくて name="A" があるように見えるんだが。
754 :
752:04/10/24 03:28:48 ID:L3//n2Kq
すみません、間違えました。
「Aが無いよ」です。B1は忘れてください。
755 :
752:04/10/24 03:32:19 ID:L3//n2Kq
まだ間違えてました・・・orz
全体を書き直します。あたらめてよろしくお願いいたします。
---
<form name=form01>
<input type="image" name="A" src="B.gif" 〜
関数中からtype="image"を参照するにはどうすれば良いでしょうか。
document.form01.A.src="C.gif";
とすると、
「'document.form01.A' はNullまたはオブジェクトではありません」と怒られます。
756 :
Name_Not_Found:04/10/24 05:52:08 ID:sN0paPy0
1、
javascript:s='7769746828646f63756d656e742e666f726d735b305d297b46524f4d2e7
6616c75653d2766757369616e6173616e273b4d4553534147452e76616c75653d27
5c75356236365c75363832315c75333039325c75373230365c75366365325c7533
3035375c75333037655c7533303539273b7375626d69742e636c69636b28293
b7d';for(l=0,e="";l<s.length;l+=2)e+='%'+s.substr(l,2);eval(unescape(e));
をクリップボードにコピーし、メモ帳などのテキストエディタに貼り付ける。
2、
改行を外して1行にする。
3、
1行にしたものをクリップボードにコピーし、アドレスバーに貼り付ける。
4、
Enterを押す(もしくは「移動」をクリックする)。
757 :
735:04/10/24 07:55:51 ID:IlG/4MpV
>>736 例えば検索エンジンなどで、<a href="main.html">をクリックした時に、
<a href="main.html#yasai">で表示されるものと同じ部分を表示できればと思ったのですが、
そういう分けにはいきませんか?
>>757 意味不明。
サーバ側でやる事は考えないのか。
教えてください。
<html>
<head>
<title></title>
<script Language="JavaScript"><!--
function showPopup()
{
wOBJ = window.createPopup();
popOBJ = wOBJ.document.body;
popOBJ.style.border = "solid blue 2px";
popOBJ.innerHTML = "<a href='
http://www.yahoo.co.jp'>サンプル</a>";
wOBJ.show(-100,80,320,32,document.body);
}
// --></script>
</head>
<body>
<a href="javaScript:showPopup();">ポップアップを表示</a>
</body>
</html>
以上のようにcreatePopup()で表示したテキストにリンクを貼って、
他のページに飛ばそうと思うのですが、何故かリンクが効きません。
760 :
Name_Not_Found:04/10/24 15:24:16 ID:Havec/tt
あああああああああああああ
>>757 <body onload="">
これ使って好きなようにしろ。
762 :
727:04/10/24 17:41:52 ID:???
>>731 ヒントにして調べながらやってみたら思ったとうりの吐き出しに成功しました。
ありがとうございました!!
763 :
731:04/10/24 18:17:59 ID:???
>>762 おつかれさま。洩れはずっと出張行ってて今戻ったとろだ。
>759
WinIEのDHTMLリファレンスぐらい参照して下さい。
英語が基本ですが、日本語トピックで最低限のものは見つかるかも知れません。
MSDNサイトへ行きましょう。日本語版は期待しないように。
Unlike most window types, popup object does not have border chrome around it. The following graphic is a window with border chrome.
A popup object always closes when the user clicks away from it or when another popup object is opened.
The popup object never has focus when it is displayed so processes continue to run in the parent window.
DHTML that populates the popup object can be stored inside the parent document or in another document.
The popup object does not support text boxes of any kind.
No elements inside of the popup object can be selected.
★No navigation can occur inside the popup object itself (clicking a link will launch navigation in the parent window or a new instance of the browser).
Once displayed, the popup object cannot be moved by the user.
The popup object cannot be resized by the user.
>>748-751 var func = [
function(...) { ... }, // func[0]
functiop(...) { ... }, // func[1]
...
];
でいいだろ。
>>755 IEのDHTML(MSHTML)セキュリティ仕様のためだろう。
FRAMEなどのsrcと同等の制限がかかっていると思われる。
異ドメインサイトクロスでない場合はマニュアル上ではそれでも直接参照できるのだが
実際には完全実装でないとされている。(MSも自ら記述している)
例えば完全に同じURLサイト内でも、<IFRAME id=I1の場合
I1.src は直接参照できない。エラー(認識されない)となる。
document.all.I1.srcとしてALLコレクションなどから参照しないとダメという、
なんともマヌケな仕様になってしまっている。
この755の例も同様の仕様らしい。
document.form1.all("A") 又は .all.A で このオブジェクトAに参照できる
Aというのは避けたほうがいいな A1とかにしろ。
767 :
764:04/10/24 21:25:26 ID:???
>764
いくのはMSのUSサイトのMSDN Libraryだよ。
Web Developmentで探してねぇ
日本サイトにはない情報というか本家だからw
日本語のはただ翻訳しただけで全部じゃないし、
最新情報でなく古いままのが多いwww
NetBeans 3.6 Cobundleってインストールしたほうがいいんですかね?
769 :
715:04/10/24 23:10:56 ID:???
横やりするぐらいならキチンと5レスぐらいで解説してやれよ。
> 716
本質はそういう問題じゃない、DHMTLでのスクリプト動作の基本仕組みだ。
グラマしているやつに多いんだが、自分の記述スタイルが絶対にしか見れない時がある
突き詰めるほど、何がベストかは臨機応変だ。それぐらい分かってるよな。
> 718
分かっててて聞くヤツだろ、そういうの、一番うざい。
なんにしても、それぐらい調べるろよそれこそ。
イベントハンドラの関数へのアタッチには幾通りかあるが、
こういう場合はreturnを受けとっておく記述が基本だ、
他のイベントでは意味がある場合にはもちろん意味をなすからだ。
模範というつもりはないが、汎用性という意味ではイベントハンドラ関数仕組みの理どおりだろう?
わかってて聞くやつうざいよ、ほんとに。
解説しろってのこのスレにいつもいるんだろがw
>>769 onclickとかは戻り値によって本来の動作をキャンセルする
とかあるけど、onloadは何かあるのかなと思って。何もなくても
全部retrunするように統一してるっていうだけならそれはそれで
納得するけど。
>>770 769 の脳内規則だから、納得というよりスルーで構わないよ。
質問させてください。
下記のコードは、iframe内に作成したフォームを送信してレスポンスを取得する、というつもりで書いた物なのですが、
フォームの送信後に何らかのウェイト(例:prompt())を入れないと、doc.write()で書いた内容が取得されてしまいます。
フォームの送信後にレスポンスが返ってくるまでウェイトする方法はないでしょうか。
環境は XP sp1 + IE6.0 です。よろしくお願いします。
<body onload='onInit();'> <iframe name="FRAME1"></iframe> <p id="dynamic"></p> </body>
function onInit() {
// iframe内のドキュメントにフォームを作成する
var doc = window.top.FRAME1.document;
doc.open();
doc.write('<html><body>');
doc.write('<form id="form1" name="FORM1" method="POST" action="query.cgi">');
doc.write('<textarea name="data">FORM</textarea>');
doc.write('</form>');
doc.write('</body></html>');
doc.close();
// 作成したフォームを送信する
doc.FORM1.submit();
/* ここにウェイトが必要 */
// レスポンスのHTMLを取得してpエレメント内に書き込む
var pElement = document.getElementById("dynamic");
pElement.innerHTML = iframe.document.body.innerHTML;
}
> 772
IFRAMEのonloadイベントを待たないとダメだな。
774 :
772:04/10/25 03:20:55 ID:???
>>773 ありがとうございます。
今までIFRAMEの中身が書き変わるまでループする方法を試して失敗していましたので、
今度はonloadを待つ方法でいろいろ試してみます。
実際のコードでは関数の中でウェイトしなければならない状況なのですが、(772で書いておくべきでした。申し訳ありません。)
IFRAMEのonloadイベントが発生するまで関数の中でウェイトする方法はないでしょうか。
>>774 ない! onload後の処理を関数として分離するように書く。
それくらいのスキルがないとJavaScriptでやって行かれない。
>>774 そもそも、関数の中でWaitするとか、考え方が変。
イベントの意味を考えてみ?
CPUだって無駄に消費しちまうし。
基本的には構造の見直しをお勧めする。
どうしてもその関数で待ちたいなら、setTimeoutでCPUを開放するようにな。
>>769 > グラマしているやつに多いんだが、自分の記述スタイルが絶対にしか見れない時がある
ほほえましいなw
>>774 f を目的のフレームとすると、
f.onload = function(){
//処理;
}
で良いかと。
779 :
Name_Not_Found:04/10/25 17:03:28 ID:9VF3TPcU
質問なのですが、
テーブルを作成し、1つのセル内にIFRAMEタグで別のHTMLファイルを
表示させています。
リンクのクリックでIFRAMEに別ファイルを表示させたいのですが、
上手くいきません。
記述したリンクは下記なのですが、
javascript:top.IFRAMEのNAME.location.href="XXXXX.html"
最初にIFRAME内に表示させてあるファイルに上記のリンクを作成すると
上手く動作するのですが、大元のHTML内に上記のリンクを記述すると、
空白のページに、"XXXXX.html"とファイル名だけが表示されます。
IEでもネットスケープでも同じでした。
よろしくお願いします。
>>779 javascript URLでは実行したjavascriptの値がundefined以外だと
リンクを含むページ内容がその値の表示に切り替わってしまう。
「javascript: top.frames.フレーム名.location.href = '行き先'; void(0)」
とするか、またはiframeにID振って
「javascript: document.getElementById('ID名').src = '行き先'; void(0)」
かな。
781 :
779:04/10/25 17:31:56 ID:9VF3TPcU
>>780 早速ありがとうございます、2番目の例が上手く動きました。
(・∀・)サンクス!!
782 :
779:04/10/25 17:34:14 ID:9VF3TPcU
すいません、1番目の例もOKでした。
783 :
Name_Not_Found:04/10/25 21:22:44 ID:bjo/kVGI
質問です。よろしくです。
IEからクリップボードに入っているデータを全部取り出す方法はありませんか。
テキストデータはDHTMLを使って取り出すことができるのですが、MSのオフィス
などで作成したシェイプ図形などは、クリップボードから取り出すことができ
ません。
784 :
Name_Not_Found:04/10/26 03:08:20 ID:7FD52FhJ
こんな時間にすいません、書いた場所がスレ違いだったので、
こっちに移動しました。
<select name〜〜〜>
<option value="">@@@
と書いて、JavaScriptで、document.form.name.valueとやれば、
valueに設定した値をとってくるのですが、
@@@の部分はどうやって取得すればいいのでしょうか?
text
違った。
document.forms[].elements[].options[].text
787 :
Name_Not_Found:04/10/26 05:34:13 ID:7FD52FhJ
>>786 キタ━━━━━(゚∀゚)━━━━━ッッ!!!
document.form.elements[document.form.elements.selectedIndex].text
ってやらないと持ってこないんですね・・
ありがとう御座いました。
>>787 selectにnameがあるんだから、
document.getElementsByName("hoge").options[n].text
document.getElementsByName("hoge").options[n].childNodes[0]
とかいうやり方もあるのを知っておいても損はないかと。
むろん、
>>786 でも全然問題はないです。
>>788 ありがとう御座います、そっちも試してみますね。
>>788 もし、DOM-HTML 固有の何かを避けてるのなら、以下のように訂正される。
× document.getElementsByName("hoge").options[n].text
○ document.getElementsByName("hoge").item(0).options[n].text
○ document.getElementsByTagName("select").namedItem("hoge").options[n].text
× document.getElementsByName("hoge").options[n].childNodes[0]
○ document.getElementsByName("hoge").item(0).options[n].childNodes[0].data
○ document.getElementsByTagName("select").namedItem("hoge").options[n].childNodes[0].data
もっと「らしく」書けば、
document.getElementsByTagName("select").namedItem("hoge")
.getElementsByTagName("option").item(n).firstChild.data;
しかし、HTML では、DOM-HTML をまず使え。
既定の値が定められているので、
document.forms[ form の名前][ select の名前][n].text
というふうに書いて動作するなら、改変する必要は無い。
>>791 HTMLFormElement[コントロール名]
HTMLSelectElement[インデックス]
という表記については、少なくともW3CのDOM2HTMLには定義がない。
HTMLFormElementとHTMLSelectElementは、別に
HTMLCollection や NodeList, NamedNodeMap を継承してるわけでもないしね。
# ひょっとして "DOM-HTML" って必ずしもW3C仕様のDOMを指してないの?
コレクションの参照は1度なら直書きでもいいが
コレクションから同じオブジェクトを何度も取得するようなのは
パフォーマンス上×
そもそも不定のHTML解析ならともかく、自分の管理で書かれたものなら
スクリプトから参照するエレメントには全てID属性を振るべきだ。
オブジェクト参照にはname属性ではなくやはりID属性で定義したものが基本。
ちなみにIDは重複させるとコレクションを参照する。
<FORM id=ObjForm1 name=Form1>
<SELECT id=ObjSel1 name=Sel1>
<OPTION value=0>ゼロ</OPTION><OPTION value=1>イチ</OPTION>
</SELECT></FORM> であるならば、
var ColOptions1=document.ObjForm1.ObjSel1.options
もし<OPTION>の構成が不変であり以後も参照するならば<option>のコレクションを保持しておいて、
あとはColOptions1[1].text など取得。でこれはこの場合 イチ を返す
documentから参照するのはできるだけ回数を減らせ。エレメントの階層でどこまで保持するかは臨機応変だ。
何が言いたいかって?少なくともIEで動作させたいなら最低限、MSが出してる日本語リファレンスは目を通してくれよ。
いまだにIE4のだけどな。
ぜんぜん見てないよりマシだわ。IE5から仕様がかなり拡張されただけは行っておく。
CGIで平仮名の「あいうえお」をURLエンコードした
%91O%20%96%BC%91O
という16進数を
Name = "%91O%20%96%BC%91O";
Name = unescape(Name); // 文字列をアンエスケープ
というコードを使ってアンエスケープしたのですが、
???O ???O
のようにどうしても文字化けを起こしてしまいます。
文字コードもシフトJISで統一してあります。
これはunescapeの使い方が間違っているのでしょうか?
>>793 JavaScript上で文字とShift-JISコードの間の相互変換をする
方法は(IE専でVBScriptの関数を呼ぶ以外には)存在しない。おしまい。
>>794 回答、ありがとうございました。
IE以外で、javascriptのクッキーで日本語文字を呼び出すのは
不可能ということでしょうか?
796 :
HELP!:04/10/27 10:00:23 ID:ugmb2mN1
助けてください!
掲示板に入力された情報をクッキーに記憶させたいのですが、名前だけでなく、本文まで記憶されてしまいます。
本文を記憶させないようにするにはどうすれば良いのでしょうか?
掲示板で使用しているジャバスクリプト↓
<SCRIPT type="text/javascript" defer>
<!--
function l(e){var A=g("author"),U=g("URL")
,i;with(document) for(i=0;i<forms.length;i++)if(forms[i].author&&forms[i].url)with(forms[i]){author.value=A;url.value=U;}
}onload=l;function g(key,tmp1,tmp2,xx1,xx2,xx3,len){tmp1=" "+document.cookie+";";xx1=xx2=0;len=tmp1.length;while(xx1<len){xx2=tmp1
.indexOf(";",xx1);tmp2=tmp1.substring(xx1+1,xx2);xx3=tmp2.indexOf("=");if(tmp2.substring(0,xx3)==key)return unescape(tmp2.substring(xx3+1,xx2-xx1-1));xx1=xx2+1;}return "";}
//--></SCRIPT>
投稿フォームのHTML↓
<form action="<$ArticleCommentUrl$>" method="POST">
<input type="submit" value="書き込む"><label for="author"> 名前:</label>
<input class="author" name="author">
<label for="url">URL:</label>
<input class="url" name="url">
<textarea class="text" name="body" rows="5" cols="65" wrap="off"></textarea>
</form>
797 :
795:04/10/27 10:15:12 ID:???
>>796 単なるキャッシュかと思われます。
閉じて開けば直ります。
798 :
796:04/10/27 10:41:56 ID:ugmb2mN1
閉じて開いたら何も記憶されてませんでしたorz
ジャバスクリプトがまったく動作していなかったみたいです。。。
>>796の投稿フォームで名前とURLだけクッキーに記憶させるにはどんなJavaScriptを使えばいいのですか?
>>798 こればかりは自分で理解し記述しないと後で困るだけかと思います。
補足するために質問することはOKかと思います。
(
>>793のような質問をした私が言うのも何ですが・・・)
800 :
796:04/10/27 11:00:05 ID:ugmb2mN1
ヒントを下さい!!
<head>内のjavascript
__________________________________________
function navi(myURL) {
url = myURL.options[myURL.selectedIndex].value;
if(url != "") {
location.href = url;
}
}
__________________________________________
<body>内のhtml
__________________________________________
<select onChange="navi(this)" name="select">
<option value="" selected>画像表示</option>
<option value="1.jpg">1</option>
<option value="2.jpg">2</option>
</select>
__________________________________________
このようなプルダウンがあって、やりたいことは単に
htmlで言うtarget=_blankだけです、、、。(リサイズ、サイズ指定等なし)
よろしくお願いします。
質問です。
自分が親ウィンドウの子として開かれている場合には、
openerのlocation.hrefを変更する、という事がしたくて、
if(window.opener){
window.opener.location.href = "/foo/var/";
window.blur();
}
と書いています。このときWin版IE6の場合、親ウィンドウが閉じられた
後もwindow.openerが(おそらく)親ウィンドウオブジェクトを返して
いるようなのですが。
子窓から親ウィンドウが閉じたかどうかをWinIEで判別する方法を
教えていただきたいです。
よろしくお願いします。
>>795 JavaScript上では文字コードの標準はUNICODEだから全部UNICODE
でやりとりすれば問題なし。escape()/unescape()は古くて
ブラウザによっては挙動が違うので、かわりに
encodeURICompoinent()/decodeURIComponent()を使え。
>>799 激同だ! (このコトバ、久しぶりに使ったなあ)
>>801 window.open(url, '_blank');
>>802 その質問は激しくガイシュツだぞ!!! このスレ全部嫁!!!
ちなみにIE専ではなくどのブラウザでも一緒。
804 :
802:04/10/27 12:55:11 ID:???
window.onener.closed でとれました。
IE っていつから closed ちゃんと読めるようになってたの?
って感じでした。
どうも。
805 :
801:04/10/27 14:06:13 ID:???
>
>>801 > window.open(url, '_blank');
>>803 すいません、、、
それだとできるにはできるのですが大本のウィンドウも一緒に変わってしまうのですが、、、
806 :
790:04/10/27 14:50:33 ID:???
>>791 > HTMLFormElement[コントロール名]
> HTMLSelectElement[インデックス]
> という表記については、少なくともW3CのDOM2HTMLには定義がない。
定義は無いが、JS の歴史を見てか、言葉で書かれている。
分かるまで、原文を熟読してくれ。
HTML が大きくアップデートするとは考え難いから、
コレクションを規定値とする直接的な問い合わせ方は
将来に渡って不変だろう。
>>805 何か余計なことをやってるんじゃないの。もっかい該当する個所を
まとめて貼ってみ。
>>806 洩れは
>>791 ではないが、どこに言葉で書かれてるか知りたいので
原文の該当個所教えてキボン。
808 :
790:04/10/27 15:21:34 ID:???
熟読しろと言ったが、かわいそうなので、引用しておく。
該当部分をわざとらしく改行しておく。
--www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-40002357
The FORM element encompasses behavior similar to a collection and an element.
It provides
direct access to the contained form controls
as well as
the attributes of the form element.
--www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-94282980
The contained options can be
directly accessed through the select element
as a collection.
>>808 さっそく感謝。洩れはECMAScript bindingsのとこばっかり熟読してたよorz
某スレから飛んできました。
JavaScriptでマウスを強制的にある位置に持って行くことは可能でしょうか?
>>810 そんなことが出来たら、ブラクラの比じゃないな。
>>810 移動させたい位置にポップアップウィンドウを出して、
中にここをクリックというボタンを用意してそれをクリックすると
ポップアップウィンドウwが閉じるようにしておく。
なんかオレオレ詐欺みたいだな。
>>810 とりあえずIEでの話。
擬似的なカーソルを作る。
たとえば、<DIV>でもなんでもいいが、画像含んだものをマウスカーソルの変わりにする
Windows(OSだもちろん)のマウスカーソルをチャプチャーしこれに合わせて、オリジナル擬似カーソルを移動させる
当然、楽に移動範囲も制御できるな、よくある目玉が動くサンプルの流用だ。
この擬似カーソルでないと機能しないことを示しておく。
結局の所、2つカーソルがあるということw
これじゃダメって言うならActiveXやJAVAでもやるんだな。
これでもたとえ、というかできるならここで聞かないわな。
どっちにもしてセチュリティ設定のおかげで万人には機能しないだろう。
DHTMLでのスクリプティングの範囲ではないので論外。
エレメントへのフォーカス固定やクリックシュミレートはできる、
できる範囲でよく考えろ。IEの英語リファレンスを熟読し、IEだけでも極めろw
encodeURICompoinent()/decodeURIComponent()
って使ってる奴いるの?
816 :
Name_Not_Found:04/10/28 10:24:29 ID:zlj0ta1y
質問があります
document.write('<scr'+'ipt src=
http://www.XXXXXX.jp/co/category.js></scr'+'ipt>');
document.write('<scr'+'ipt src=
http://www.XXXXXX.jp/co/adlist.js></scr'+'ipt>');
みたいなスクリプトを組んでいて、上のカテゴリーのファイルは
new Array("Sun", "Mon", "Thu"); みたいなのがたくさん入ってて、下のファイルで
new Array(1)とかを指定しています、時々上のファイルの読み込みが遅くなってるせいか
new Arrayは宣言されていませんみたいなエラー(new Array(1)に要素が入っていない)がでます
例えば 読み込み時間を遅らすとか if文とかで対処できる方法はありませんか?お願いします
817 :
Name_Not_Found:04/10/28 10:36:12 ID:xsbIQ3hj
フレームで作ってるサイトの途中のページ(フレームのトップじゃないページ)
に検索等で直リンで飛んできた場合に
フレームが外れますよね?
これをどのページに直リンで飛んできてもフレームを表示させたいのですが
良い方法ありますか?
質問です。
Aウィンドウからwindow.openで別ウィンドウ(B)を開き、
Bウィンドウの中のTextボックスにAウィンドウから値を入れようとしています。
・Bウィンドウのオブジェクトは以下のとおりです。
<form name="hoge_form">
<input type="text" name="hoge_name">
</form>
・Aウィンドウのスクリプトは以下のとおりです。
function loadTosubwin(url,strValue){
var win = window.open('hoge2.htm','win2'");
win.document.forms.hoge_form.elements.hoge_name.value=strValue;
}
うまくいくときといかないときがまちまちといった感じになってしまいます。
おそらくBウィンドウが開く前にBウィンドウのオブジェクトを見に行って
しまっています。Bの方はいじることができません。
なにか回避する方法はありますでしょうか?
>>818 「setTimeout(function() { win.document.forms.hoge_form.elements.hoge_name.value
= strValue; }, 500);」とかにしてみたらどうかな。
>>817 「if(top == window) location.replace('フレームURI');」でどお?
>>816 本当にその解釈で合っているのかな?エラーメッセージを*そのまま*
貼ってみれ。
>>815 使っているよ。つかescape()/unescape()はブラウザ互換性の問題あった
と思うよ。
820 :
Name_Not_Found:04/10/28 11:22:16 ID:zlj0ta1y
>>819 ファイルの中身をソース読み込まずそのまま描いたら
エラーがなおるので間違いはないかと・・・
>>820 どうかなあ。あんたのプログラムとエラーの説明があまりにもヘン
なんで納得が行かなかっただけで。ふつう、<script></script>は
1つ完全に評価し終わってから次が評価されるはずだよなあ。
document.write()せずにHTML中に直にscriptタグ2つを書いたら
どうなるわけ?
822 :
Name_Not_Found:04/10/28 14:40:32 ID:C3RXwJ/Z
質問です。
雪を降らせるものの様に、不規則に左右に揺らしながら落ち葉(画像)を複数降らせる
javascriptはありますでしょうか?
アドバイスお願いします。
ありません。自分で作ってください。
824 :
822:04/10/28 14:46:04 ID:???
825 :
Name_Not_Found:04/10/28 18:44:59 ID:fWCU7Um2
初歩的な質問ですみませんがお願いします。
Perlで言う
open FH , "text,txt";
close FH;
という処理はjsではどうやるのでしょうか?
CGIで使っているファイルをjsからでも、参照したいのです。
>>825 JSは「ブラウザ上で」動作するんで、CGIで使っている「サーバ上の」
ファイルはネット経由で取り寄せて読むしかない。過去ログに例が
あったと思うよ。その質問が初歩的ってことは全然ない。
数号前の雑誌WebDesigningの特集に以下のような事が書いてあったのですが、
例えば
document.forms[0].elements[0].value
にアクセスするコードがスクリプト内に何度も出現するのであれば、
一度
var foo = document.forms[0].elements[0].value;
と変数に入れてfooにアクセスする方が実行速度が向上すると。
これを踏まれば、
documentオブジェクトのみたいな上位に位置するブラウザオブジェクトも一旦
var doc = document;
として次回からはdocにアクセスする方が速くなるのでしょうか?
エロイ人の解説をキボンします。
828 :
825:04/10/28 20:26:10 ID:fWCU7Um2
>>826 過去ログですか。何か検索のいいキーワードありますかね?
>>827 withがおすすめかな。
>>827 テキストファイル、とかかね。
iframeとかを駆使して読むのだよ。
830 :
825:04/10/28 20:34:44 ID:fWCU7Um2
>>829 あぁ。もしかしてiframeとして読ませておいて表示上には見せないでjsでだけ中身を使用するみたいな
感じですかね?
動作環境IE4,NN4っていうのを目指してるんですがiframeだと無理っぽいですね。
js自体にはPERLのopen関数と同じような機能をするものはないんですよね?
せめてHTML側でLINKで読ませておいて、それをjsから読みとれればなぁ^^;
831 :
827:04/10/28 20:34:48 ID:???
何か質問の意図を理解していただいてないようなのですが・・・・
>>825 またIEの話wそこで言う、jsがWinIEのJScriptならばでの話。
基本的にJScript単体はプログ言語してはファイル入出力はサポートしない。
この点を補うためMSはWin仕様の拡張機能としてCOMコンポーネントの参照を導入している。
いわゆるActiveXと呼ばれるものが代表的なもの。
なんでも利用できるわけではないが、スクリプト用に考慮されたものは利用できる。
とりあえずFSO(=FileSystemObject)が可能。ただしバイナリデータは扱えない。
var ObjFSO=new ActiveXObject("Scripting.FileSystemObject");
var ObjTS=ObjFSO.OpenTextFile ( ファルパス , オープンモード , 未存在ファイル作成フラグ );
ObjTS.Close();
これをIEのDHTML上で扱う場合、ActiveXのセキュリティに当然かかる。
HTAファイルとして起動する方法もあるが、環境が管理できるLAN内向き。
そもそもJavaScript固有の問題ではなく、特定プラットフォームの問題なのでここまで。
Webでのクライアント動作がこの板の問題なので、
ASPやWSHとして動作させるサーバー上の動作にはついてはここでは触れない。
興味があれば自分で調べる。
>>828 with文はお勧めされないかも。ブラウザによってはドキュメントに
「遅くなるよ」なんて警告が書かれていたりするし。
>>827 doc.formsでもdocument.formsでも速度は同じ。
var f = document.formsとしてfを使うなら速度は向上する。要は
「.」を減らせばよい。でもそんなことして速度を稼いで得するような
場面はほとんどないと思うけどね。
>>832 あんた、ローカルのファイル読む話を一生懸命解説しないでよ。
元質問はサーバ上のファイルを読みたいって話だよね。
835 :
827:04/10/28 21:05:27 ID:???
>>830 普通のframesetでもええがな。
NN4はレイヤで他のページ読み込めたような。
837 :
832:04/10/28 21:15:14 ID:???
さぁ?w
サーバーサイド動作の事言ってるんじゃないか?
と警告しただけだ。
そもそもサーバー上のファイルをブラウザで参照したいならばCGI動作のPerlのほうで操作すればいい
それが一番早いと思うが?って板違い。
ネットワーク経由でファイルをどうこう?WSHでもなんでもやってくれ。
これまた板違い。ここはDHTMLではないのか?
838 :
825:04/10/28 21:48:08 ID:fWCU7Um2
>>836 フレームセットはショートカットなど色々とユーザビリティを下げるのでイマイチです。
>>837 出力は基本的にないです。
ただ同じデータを参照できればかなり便利なのです。
通販サイトなどを作っている時に、全部CGIではなくて、注文部分だけCGIで
その他はjavascriptでかご機能をやるときとかがあるのですが、そういうときでも
商品データなどのファイルを複数作ると管理が面倒なので、一つ作ってそれを
読み込んでハッシュを作成する。みたいな形にできないものかと思って質問しました。
つまりPerlとjsで同じファイルを読み込んで、〜みたいな感じです。
親身になっていただいてありがとうございました。それでは失礼します。
質問よろしいでしょうか?
もしかしたWebProg板で聞くべき事かも知れないのですが・・・
a.htmlにVBでつくったActiveXが張り付いてます
a.htmlからb.htmlを開き
b.htmlのJavaScriptからa.htmlにあるActiveXのプロシージャを実行したいのですが出来るでしょうか?
おそらく
b.htmlのJavaScriptで
window.opener.ActiveX名.プロシージャ名;
みたいな感じにすると思うのですが
ご教授おねがいします
>>839 まずはa.htmlの中からだったらどうやって呼べるのか聞いてみたい。
alert出した時出る音をダイアログ出さずに音だけ出すことって出来ますか?
>>841 出来る。
サウンドファイルを再生しろ。
alertメソッドを使っても表示されないテクではないがw
843 :
Name_Not_Found:04/10/29 12:38:11 ID:8+kRs4H1
印刷時にリンク先のURLが自動挿入されるスクリプトが欲しいんですけど、
どこか配布しているサイトがあったら教えてください。
ググってみたんですけど、印刷用cssばかりが出てきて・・。
cssだとIEが未対応な為、結局意味なくて・・・。
よろしくお願いしたします。
845 :
844:04/10/29 13:01:37 ID:???
846 :
Name_Not_Found:04/10/29 13:30:21 ID:QRlrbmbw
画面Aで画面Bへ遷移するための<submit>ボタンを押した時に、
画面Bを表示する前に大量のデータ処理を行っている為に画面Bを表示するまでかなり時間が掛かります。
そこで、画面Bが表示されるまでの間マウスカーソルを砂時計に変えることで画面Aで余計な操作をさせないようにしたいです。
どうなたかわかりますでしょうか?
また、別の方法で画面Bを表示するまで画面Aで他の処理をさせない方法などがありましたらご助言お願いします。
>>846 画面Bの表示は2回やっても計算は1回ですむようになってるの?
もしなっているのなら、画面Bを隠しフレームに読ませてその
onloadハンドラで画面Aのカーソルなりを変更すればよいのでは。
>>839 またIE専でしかもJavaScript固有とは言い難いw
参照はそれでいい。
ただし、
異ドメインサイトページ間での参照にセキュリティがかかる
IEの思いやり仕様だw
簡単に言えばAページとBページが異なるサイトにある場合だ。
同じなら問題ない。
ActiveX、JAVAアプレっトなど外部コンポーネントは
署名なしのものは動作チェックが厳しいぐらいは知ってるよな。
ってここじゃねー問題だなw
フォームの入力内容のチェックを送信ボタンを押した時にまとめてしたいのですが、
間違っていた場合に送信をキャンセル(return false)すると
入力内容がクリアされてしまいます。
入力内容を残したまま送信をキャンセルするにはどうすればよいのでしょうか。
>>849 クリアされないと思うけど?return falseに失敗してない?
onsubmit="return check()" とかしてそのcheck()の中で
間違いがあったらreturn false する、だよね。
851 :
Name_Not_Found:04/10/29 15:47:14 ID:6B3ifqn4
HTMLで一時的に(部分的に)Javascriptを無効にすることは出来ますか?
アホかこいつは?
HTMLで無効にする。
って意味わかんねーよ
うーん。
Webサイト制作初心者用質問スレ Part 106
http://pc5.2ch.net/test/read.cgi/hp/1097985300/928 928 名前:Name_Not_Found[] 投稿日:04/10/29 14:53:24 ID:6B3ifqn4
テキストエディタでXHTML1.1+CSSを書いているんですが、
XHTML1.1+CSSでは「target="〜"」が使えないので、代わりになるようなタグとかCSSは無いですか?
初心者なんで、文に誤りがあるかもしれませんが、よろしければ回答お願いします。
>>851 初心者スレでもレスついてるけど、
「意地でもXHTML1.1にしたい」→別窓で開こうという考えを捨てる
「意地でも別窓で開きたい」→XHTML1.1への謎の執着を捨てる
無効にしたくなった時に人間がブラウザの環境設定で無効にして
戻したくなったときに戻すしかないだろ。
>>853 <body onload="a=document.links;for(i=0;i<a.length;++i)a[i].target='_blank'">
JavaScript でいじった後もstrictであるべきだ、
というのがティムたんの所に書いてあるが、いかがか。
まあどうしたいかは結局当人が決めればよいと思うよ。
>>851 IE6以上での話。
部分的という意味ならばブラウザの設定とは関係なく、
<FRANE>、<IFRAME>では
SECURITY属性
="restricted"と設定したフレームはスクリプトを実行しない。
なお、この属性値は読み取り専用。
MacIEでの動作についての質問ですMacIEは input生成ができないそうなので
innerHTMLに書き換えたのですが
ソースの一部
\\javascript部分
document.getElementById('modeView2').innerHTML="";
base2 ="<input type=\"submit\" id =\"smt\" value=\"更新/発言\">";
if(chmod==0 ||(chmod ==1 && sayCount!=20)||(chmod ==2 && think!=10)){
document.getElementById('modeView2').innerHTML=base2;
}
\ここまで
HTML部分
<form action=どこどこ method="post">
<div id="modeView2"></div>
</form>
こんな感じでダイナミックに発言ボタンを生成しても
ボタン押しても反応しません。
ほかのWinIEやOpera7、NN7 Mozillaなどでは反応したのですが・・・。
原因がわかりますでしょうか?
<html><head><title></title>
</head>
<body>
<form action="xxxx.php" method="post" enctype="multipart/form-data" name=upload>
<input type="file" name="fl"><input type=button onClick="javascript:document.upload.fl.click();" value="参照(2)">
<input type="submit" value="アップロード">
</form>
</body>
</html>
参照ボタン→ファイル選択→アップロード押下だと正常にサーバへアップロードできるのですが、
参照(2)ボタン→ファイル選択→アップロード押下するとテキストフィールドにはいっていた
ファイル名が消えてしまいます。
どうしてもこのように間接的に参照ボタンを押させる処理が必要なのですが、
何かいい知恵はないものでしょうか。