+ JavaScript の質問用スレッド vol.61 +
1 :
まず >>2-5 読め! 続いて過去スレ全集を検索! :
2007/11/05(月) 21:20:31 ID:8YOCcUbJ
【FAQその1】 Q1. 開いた別窓/フレームの内容にアクセスできないのですが… A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。 Q2. JavaScriptでローカルファイルを読み/書きたいのですが… A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに… A3. 同じタグの中でonclick="foo()"とonclick="bar()"を同時に使いたいのですが… A3. セミコロンで複数の文を区切られます。onclick="foo();bar();"としましょう。 Q4. document.write(...)でページ内容を追加したいのですが… A4. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。 部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、 (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。 innerHTMLは非標準ですがIE、Opera、Safari、Gecko(N6/N7/Firefox等)で対応済。 Q5. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが… A5. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるか <div><table>...</table></div>とでもしてdivのinnerHTMLを書き換えましょう。 Q6. DOMでtable要素にtr要素を追加しても表示されないのですが… A6. DOMでは(XHTML 1.x除く)tbody要素にtr要素を追加する必要があります。 tbody要素はtbodyタグを書いていなくても自動的に作成されます。 またはtable.insertRow()/tbody.insertRow()を使いましょう。 Q7. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが… A7. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。 Q8. フォーム部品名を変数にした「...myform.変数名.value」が動きません… A8. 「document.forms.myform.elements[変数名].value」でどぞ。 JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
【FAQその1】 Q1. 開いた別窓/フレームの内容にアクセスできないのですが… A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。 Q2. JavaScriptでローカルファイルを読み/書きたいのですが… A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに… A3. 同じタグの中でonclick="foo()"とonclick="bar()"を同時に使いたいのですが… A3. セミコロンで複数の文を区切られます。onclick="foo();bar();"としましょう。 Q4. document.write(...)でページ内容を追加したいのですが… A4. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。 部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、 (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。 innerHTMLは非標準ですがIE、Opera、Safari、Gecko(N6/N7/Firefox等)で対応済。 Q5. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが… A5. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるか <div><table>...</table></div>とでもしてdivのinnerHTMLを書き換えましょう。 Q6. DOMでtable要素にtr要素を追加しても表示されないのですが… A6. DOMでは(XHTML 1.x除く)tbody要素にtr要素を追加する必要があります。 tbody要素はtbodyタグを書いていなくても自動的に作成されます。 またはtable.insertRow()/tbody.insertRow()を使いましょう。 Q7. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが… A7. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。 Q8. フォーム部品名を変数にした「...myform.変数名.value」が動きません… A8. 「document.forms.myform.elements[変数名].value」でどぞ。 JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
【FAQその2】 Q9. Aタグのonclickで動作指定してるのですが時々動きません… A9. 「onclick="...;return false"」としないとページ移動しちゃうから。 Q10. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが… A10. 取得には document.defaultView.getComputedStyle() を使う必要あり。 Q11. 100*1.15の結果が114.999…998となってしまうのですが… A11. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。 Q12. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが… A12. IE7/Gecko/Opera/Safariのnew XMLHttpRequest()、IEの new ActiveXObject("Msxml2.XMLHTTP.6.0") (または"Msxml2.XMLHTTP.3.0") を使えばできます。古いブラウザだと隠しフレームに読むなどのワザが必要。 Q13. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません… A13. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。 複数の関数を呼びたいときは obj.onclick=function(){foo();bar();}; という風に無名関数を作りましょう。中に書かれたコードが実行されます。 Q14. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが 「"...this..."」とか「function(){...this...}」ではうまく行きません。 A14. それらが実行されるときはthisは別のもの(window等)を指してしまってる。 「function(x){return function(){...x...};}(this)」のようにthisを別の変数に 束縛しその変数を使って。循環参照によるメモリリーク問題あり(この項記述検討中) Q15. 文字列の置き換えをするときにコードを使いたい(Perlのs///e)のですが… A15. string.replace(/.../,function(str,p1,p2,...,offset,s){...})としましょう。 正規表現にマッチした文字列がreturnで返された文字列に置き換えられます。 各引数はstrがマッチした部分文字列、p1,p2,...が1番目、2番目、…の()の中身、 offsetがマッチした位置、sが置き換え前の文字列全体になります。
【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】 ・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも 仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。 ・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、 なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。 ・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと は無視」は不毛。質問者が分かって選択していれば尊重する。無知か らIE専なのは指摘してあげると親切。 ・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される 可能性大。非標準機能も損得を分かった上で使うならよい。 ・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、 そこだけ見ているとIE専になる。あとは上2件と同様。 ・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当 な理由があることも。尋ねて分かってないようなら煽っても可(w ・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選 択するべき。一概にどちらは駄目、とは言えない。 ・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性 で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。
Youtubeの五つ星の評価のようなプログラムを作りたいのですが、どのような感じで書いていけばいいのでしょうか?
>>9 星が1個→2個→3個→4個→5個と増えて行くようにするのね?
5つ画像を用意してsetTimeout()で時間をずらして順次差し替えて
行けばよろし。
この板でテンプレがこんだけ長いのはこのスレぐらいだw
なにはともあれ
>>1 乙
HTMLで 同じHTML内で複数の<TR><TD>〜</TD></TR> をJavaScriptでFor文か何かを使って指定した回数だけ繰り返したい時って 具体的にどういう風に書けばいいのでしょうか? いまいちよくわからないのですが 教えてください
createElement() → appendChild() が基本 html の仕様外になったって構わないぜ!って人なら tbody の中に script 入れて document.write() してみるとか
リンククリックしてからそのファイルのダウンロードが終わるまでボタンを disabled に しておきたいんだけど無理だよな?
15 :
Name_Not_Found :2007/11/06(火) 05:16:28 ID:4REcslLk
SJISで記述しているhtml中でprototypeを使い、 AjaxでPOSTしているのですが文字化けします prototypeはUTF-8で使えと書いているのですが htmlがsjisの場合は、どういう感じに使えば正常に動作するのでしょうか?
>>14 一秒ごとにXHRでサーバと通信して
ユーザーのダウンロード状況を確かめればできるんじゃないかなw
>>15 自分で全部コード変換して渡せばいいわけだが、SJISのコード表全部
持つ必要があって面倒。でないなら、UTF8で書くようにするか、prototype.jsを
使わずにXMLHttpRequestを直接叩くか。どれも面倒で嫌ということだと
こういうシステム開発に向いてないということになるね。
18 :
Name_Not_Found :2007/11/06(火) 10:08:08 ID:3h+po5IU
質問です。エンジンが変数としてのオブジェクトを参照する時間てもの すごく速いと思うんですが、光速と比べてどれくらいなんでしょうか。 環境はIE6, intel processor 2.40GHzです。
____ /::::::─三三─\ リアルな話すると多分お前の住んでる大阪が消し飛ぶ /:::::::: ( ○)三(○)\ 光速で JavaScript ほどのコード(約200〜300行) |::::::::::::::::::::(__人__):::: | _____ が動いたら想像を絶する衝撃波が発生する \::::::::: |r┬-| ,/ .| | ましてそれがオブジェクトを参照したら地球がヤバイ ノ:::::::: `ー'´ \ | | お前のコードで地球がヤバイ
IEなら音速ぐらいだよ。さっきマッハコーン出してた。
23 :
18 :2007/11/06(火) 13:50:48 ID:qgxD1aFj
>>20 ,22
うちのはまだマッハコーンまで行っとらんがなw
それにしても、光よりは遅いですよね。毎秒3000000kmですよね。たくさ
んの外部jsにしてHTMLもびっしり書いてあるのにさっとページが整うので
すごいなあ、と思ってしまいました。
そやけど、なんでぼくが大阪にいるのわかるの?2chてこわいな。この辺
でやめとくわ。みんなありがと。
>>18 ロード命令1個の実行時間ということだと、キャッシュに載ってる場合で
5サイクルくらい? 5 / 2.4G 〜 1 / 500,000,000 秒くらいじゃね?
論理和の「|」を表示させるにはどうしたらいいの? \|でもダメ。これは表示できないものなの?
"|"
>>25 普通に表示できるわけだが
それは文字としてくくられてないのか?
28 :
25 :2007/11/06(火) 17:14:30 ID:???
たまに見かける Array.prototype.slice.call(arguments) は何をやっているんですか? arguments って関数自身を指すオブジェクトですよね Array.slice.call(arguments) slice.call(arguments) slice(arguments) arguments.slice() うーんよくわからない・・・
argumentsをArrayに変換してるんじゃね?
>>29 >arguments って関数自身を指すオブジェクト
もうその実装は絶滅した。
> arguments って関数自身を指すオブジェクトですよね お前は何を言ってるんだ
魔族フンタラ書でた!これで勝つる!
formに名前を付けるのは非推奨, ってホントですか?IDを付けるべきもの らしいです。しかし, ECMAにはそんなことどこにも書いてありません。
だってJavaScriptではなくHTMLの話ですから
これですね。(W3C HTML 4.01 specificaiton --- form element)
ttp://www.w3.org/TR/1999/REC-html401-19991224/interact/forms.html#h-17.3 name = cdata [CI]
This attribute names the element so that it may be referred to
from style sheets or scripts. Note. This attribute has been included
for backwards compatibility. Applications should use the id attribute
to identify elements.
まあ洩れはあんまり気にせず使っているけど。スレ違い御免。
37 :
Name_Not_Found :2007/11/07(水) 13:32:00 ID:3hpLr2pj
先日はお答えありがとうございました。 他の質問掲示板でここの2ちゃん掲示板でもきいたことがあると 書き込みをしたら、2ちゃんなんかじゃロクな回答ないだろうって 嫌味言われました。とても親切にお答えいただいたので感謝していま す。これからどうしたらよいでしょうか。
どうしたらよいって… 別に2ちゃんを養護する必要もないでしょ? 悪口は無視。スルー。これが基本ですよ。
>>37 そんなとこほっといて2ちゃんで一緒に楽しく学ぼ
という自民党的発想
(後で氏ねだの帰れだの)
例えばsetTimeout("ending()",50);などの 50の部分の自作関数繰り返しの最大値ってどのくらいでしょうか。 バグって困ってます。。
>>41 ハア?その50というのは「待ち時間(ミリ秒単位)」であって
繰り返し数じゃないだろ。
JavaScriptに関して質問です。よろしくお願いします。
環境
【OS】widows XP
【ブラウザ】FireFox2.0.0.9
次のプログラムは、
クリックしたテーブル選択行の背景色を変えるというものです。
ソースは
ttp://www.geocities.co.jp/SiliconValley/1716/DHTML_javascript.html#o2 です
このソースでは、一度クリックした選択行の色は同じ選択行をもう一度クリックし直さなければ元の色(white)に戻らないのですが、
これを、他の行をクリックしたらそのクリックした行だけ色がかわっている状態(blue)になるようにしたいのです。
そのために関数Click_Subを改良しようとしているのですが上手くいかないので、教えていただけないでしょうか。
どうかよろしくお願いします。
>>43 ま普通はDOMで処理するわけだが、そのコードを見た途端すべての気が
うせた。そんなのをお手本にしていてはいけない。将来が心配だ。
>>44 DOMだろう。何を言ってるんだこの馬鹿は。
>>43 サンプルコードが俺のブラウザじゃ動かない件について
ってめちゃくちゃじゃねーかwwwwwwwwwwwwww むしろどんなブラウザなら動くんだこれ? <html> <body> <script language="Javascript"> function Click_Sub(obj) { //引数が設定されていなかった if (obj.style.backgroundColor=='blue') { obj.style.backgroundColor='white' } else { obj.style.backgroundColor='blue' } } </script> <table border=1 width=100%> <tr onclick="Click_Sub(this)"><td>テキスト1</td></tr> //タグ閉じ忘れ <tr onclick="Click_Sub(this)"><td>テキスト2</td></tr> //タグ閉じ忘れ </table> </body> </html> とりあえず直すだけ
>>43 一番簡単な方法(遅いけど)
そのテーブルのすべてのtrの背景色を白にしてしまってからobjの背景色をblueにする
あとそのコードだとobjは空っぽだからエラー出ると思うけど直したんだよね?
49 :
44 :2007/11/07(水) 19:29:57 ID:???
>>45 だからDOMだっていってるだろ。アルファベットはわかるのか?
氏ね。
これは参考にしたページとしてくそみそなページを挙げ(時にはページ自体自作し) 心配した住民が親切に教えてくれることを期待するという新メソッドなんだろうか もしそうだとしたらあなどれんな
>>47 DTDも分からずに勝手に閉じていいのか?
むしろ、初期のHTMLとみなすべきで、</td> も </tr> も、必ずしも必要じゃない。
>>49 そのページで使っているものも、DOMだろう。
>>51 HTMLにDTDなどないですよ。
必要じゃないというかレンダリングには必要ないが閉じるべきに思うが・・・
あ、でも、引数がないのはアウトでしょう
はい <html> <body> <table border=1 width=100%> <tr onclick="Click_Sub(this)"><td>テキスト1</td></tr> <tr onclick="Click_Sub(this)"><td>テキスト2</td></tr> </table> <script language="Javascript"> <!-- blue = 'blue'; white='white'; function Click_Sub(obj) { var objstyle = obj.style; if (objstyle.backgroundColor==blue) { objstyle.backgroundColor=white; } else { var objbrothers = obj.parentNode.childNodes; var j=objbrothers.length; for(i = 0;i < j;i++){ objbrothers[i].style.backgroundColor=white; } objstyle.backgroundColor='blue'; } } //--> </script> </body> </html>
55 :
34 :2007/11/07(水) 23:45:31 ID:???
>>36 鼬外にも対応ありがとうございました。なるほどです。
うちの低スペッコ調査用のPCでは500行の表に対して
>>54 のがワンクリック0.1秒くらいかかるな
まあ普通に使う分には問題ないんじゃないの
58 :
43 :2007/11/08(木) 02:55:59 ID:???
回答いただいた方々どうもありがとうございました。 実際にはこのページを参考に、<div>で指定した行要素の背景色を変更するというプログラムを書いていたのですが、 そのソースを貼り付けようとしたのですが、改行が多いせいではじかれて投稿できなかったので、参考にしたページのサンプルコードを挙げさせていただいた次第です。 引数objがない点については、作成しているプログラム上では修正したのですが、それを忘れていて、回答者の方に余計な手間をかけさせてしまい申し訳ありませんでした。 丁寧なご回答どうもありがとうございました。
∧∧ ヽ(・ω・)/ ズコー \(.\ ノ 、ハ,,、  ̄
61 :
43 :2007/11/08(木) 12:03:39 ID:???
>>60 確かにそうですね。
開発環境のFireFox2.0.0.9では動作しませんでした。
可能ならば開発環境通りで動作するようにお願いしたいです。
重ね重ね申し訳ありませんが引き続き
>>43 をよろしくお願いします。
>>61 お前、どんだけ偉いんだよw
お願いしますじゃなくてわかる努力したらいいのに。
>>47 じゃダメなの?
63 :
43 :2007/11/08(木) 12:46:17 ID:???
>>62 >>47 だと一度クリックした選択行の色は同じ選択行をもう一度クリックし直さなければ元の色(white)に戻らないままなので・・・。
偉そうな印象を与えてしまったなら申し訳ありません。
この場合 obj.parentNode.childNodes を obj.parentNode.rows にすれば動く
65 :
62 :2007/11/08(木) 12:55:06 ID:???
>>63 あぁ、すっかり元の質問忘れてた。ごめん。
FirefoxだとchildNodesで改行が入っちゃうせいでしょ?
Firebug入れてデバッグしなよ。
obj.parentNode.getElementsByTagName('tr')とかに変えるとか。
66 :
Name_Not_Found :2007/11/08(木) 12:57:32 ID:nt38qWlU
質問です。 たとえば文字列stringで、tとrの間でsplitで分けたいんですが、どう やったらその境界がとれますか。任意の文字列でお願いします。
67 :
66 :2007/11/08(木) 13:06:16 ID:nt38qWlU
事故解決しました。何個目でいいんですね。スレ汚しすいません。
68 :
Name_Not_Found :2007/11/08(木) 13:16:40 ID:Mk3qnKRE
質問です。 プロンプトを開いて文字を入力するとプロンプトに入力した文字が テキストエリアのカーソル(?)(点滅してる部分) のあたってる部分に入力した文字を挿入するという物を作りたいのですが どのようにすればいいのでしょうか? テキストエリアのvalueの最後に+でつけるのならできるのですが 例 あいえお ←これの「い」と「え」の間にカーソルを置いて何かボタン押したら プロンプト開いて、「う」を入力してOKを押すと挿入する。 またそれが不可能なら、ドラッグしている部分の文字列を取得する方法で代用したいのですが 何かこれもあるなら教えていただきたいです。 よろしくお願いします。
>>68 「JavaScript カーソル位置」でぐぐってないのかね?
>>69 こういうの見るとググり方って大事だなぁと感心する
俺だと「カーソル位置」って言葉にたどり着くまで結構かかるな
多分、「フォーカス」とか無駄な単語でグルグルまわっちゃう
71 :
Name_Not_Found :2007/11/08(木) 13:45:58 ID:Mk3qnKRE
>>69 「javascript ドラッグ」「javascript textarea 指定位置」とかでぐぐってた。
ありがとうございました。
72 :
Name_Not_Found :2007/11/08(木) 17:57:27 ID:hcrsCY5H
失礼します。 初心者質問スレからの移動です。
モニターサイズ「1024x768」でスクロールバーが出ないようにtableで構成したページ
のbody内に、
<script type="text/javascript" src="
http:// ○○○/script/○○.js"></script>
<noscript><img border=0 src="
http:// ○○○/○○/○○.○○"></noscript>
のようなアクセス解析のタグを足したのですが、その分のスペースがページに反映され
画面にスクロールバーが出るようになりました。
ただ、これにより、「1024x768」より大きな画面で見ても、フルスクリーンにした場合
にも同様にスクロールバーが出る状態に。
モニタサイズに関わらず常にページサイズが微妙にオーバーしてしまうの原因はなんな
のでしょうか?
考えられるケースがありましたら宜しくお願いします。
そのアクセス解析くらい晒せよ
document.cookie以外にCookieを読み取る方法はないのでしょうか?
>>74 最近は、HTTPヘッダを読んでも、Set-Cookieを読めないな。
もっと最近だと、FxがhttpOnlyを真似したから、IEに限らず、document.cookieも制限されている。
サーバサイドで Cookie の値を反射送信するスクリプト組んで Ajax で通信。
78 :
72 :2007/11/08(木) 20:03:17 ID:???
だからスクリプトの中身を晒せって 手間かけさせるなよ
www.example.com上のhtmlファイルから www2.example.comのJSファイルを呼び出してクッキーに読み書きを行う時 クッキーのドメインはwww.example.comとwww2.example.com どちらになるのでしょうか?
81 :
72 :2007/11/08(木) 20:26:37 ID:???
<script type="text/javascript" language="javascript" src="
http://lan.himitsuya.jp/ ●(←数字)/●(←ID)/script/page1.js"></script>
<noscript><img border=0 src="
http://lan.himitsuya.jp/ ●(←数字)/●(←ID)/count.cgi?1"></noscript>
これでいいんですかね?
こちらの作業としてはこの2行の貼り付けだけです。
page1.jsの内容だろ 常識的に考えたら…
83 :
43 :2007/11/08(木) 20:40:40 ID:???
解答してくださった皆様どうもありがとうございました
>>64 様のやり方にて、firefoxにて動作確認いたしました
divの場合ではそのままでは動かなかったのですが
>>65 様のやり方でfirefoxにて動作確認できました
色々とお手数お掛けして申し訳ありませんでした
84 :
72 :2007/11/08(木) 20:53:41 ID:???
ということは…本文ページのhtmlタグの記述に問題があるってことでしょうか? 解析のタグを貼らなければスクロールバーも出ずに動作していたので、解析の タグが加わったことが不具合のきっかけにはなっているようですが。
何言ってんだ頭ついてるのか page1.jsって外部ファイルをダウンロードさせてるんだろ? それを貼れって言ってるんだよカスカス
>>72 そのscriptって、なんか画像を貼り付けるものだろ?
tableサイズが100%で画像のサイズがプラスされるんだから、
はみ出すの当たり前じゃない?
違ったらごめん
87 :
72 :2007/11/08(木) 22:21:26 ID:???
>>85 すみません。無知なもので…
>>86 有難うございます。ビンゴです!
tableサイズが100%でそれに足してました。
全く気付きませんでした…。
ただ、原因はわかったものの、結局、scriptの性質的に何かしらプラスされ
てしまう…ということなんでしょうかね…。
>>87 もはやこのスレの話題じゃないが、貼る場所を
<div style="position:absolute; width: 10px; height: 10px">...</div>
とかで囲めば大きさが増えなくなるよね。
89 :
72 :2007/11/08(木) 22:40:20 ID:???
>>88 物理的?にサイズを小さくするわけですね。
有難うございました。助かりました。
文字列にオブジェクトとか代入しちゃったらどうなっちゃいますか?
漢字まちがえた
93 :
90 :2007/11/09(金) 09:27:44 ID:???
>>91-92 どうもです。なんて便利なんだ。スタティックなおれには気持ち悪杉w
スタティックなおれとか言う奴は気持ち悪杉w
テキストボックスの上にテキストボックスを、 次々と重ねて表示させたい場合にはどうしたらいいでしょうか?
>>95 document.write('<input type="text" value="tsugistugi8"><br>')
document.write('<input type="text" value="tsugistugi7"><br>')
document.write('<input type="text" value="tsugistugi6"><br>')
document.write('<input type="text" value="tsugistugi5"><br>')
document.write('<input type="text" value="tsugistugi4"><br>')
document.write('<input type="text" value="tsugistugi3"><br>')
document.write('<input type="text" value="tsugistugi2"><br>')
document.write('<input type="text" value="tsugistugi1"><br>')
>>96 いやいやいやいやw
こうだな
<html>
<style type="text/css">
.none {display:none;}
</style>
<body>
<input id="8" type="text" value="tsugistugi8" class="none" /><br />
<input id="7" type="text" value="tsugistugi7" class="none" /><br />
<input id="6" type="text" value="tsugistugi6" class="none" /><br />
<input id="5" type="text" value="tsugistugi5" class="none" /><br />
<input id="4" type="text" value="tsugistugi4" class="none" /><br />
<input id="3" type="text" value="tsugistugi3" class="none" /><br />
<input id="2" type="text" value="tsugistugi2" class="none" /><br />
<input id="1" type="text" value="tsugistugi1" /><br />
<script type="text/javascript">
function hyojiInput(id) {
if (id == 9) return alert('もう出きった');
var input = document.getElementById(id);
input.style.display = 'inline';
var input_id = parseInt(input.id) + 1;
var a = document.getElementById('hyoji');
a.href="javascript:hyojiInput("+ input_id + ");";
}
</script>
<a id="hyoji" href="javascript:hyojiInput('2');">表示</a>
</body>
</html>
function FuncN(a,b,c){......} っていう記述で、a,b,cの引数なんですが、idとかnameとかの変数名 は使えないですか?エラーがここらしいです。識別子がないって。
100 :
99 :2007/11/09(金) 19:40:03 ID:???
すいません。勘違いでした。エラは別の行です。解決しました。
スクリプトに値代入するためのinputでもformに入れなきゃダメってなにか理不尽ぽっぽ(*‘ω‘ *)
>>102 そんなこと誰が決めたんだ。そのinputにID振って
document.getElementById('ID名').value = ...
って皆やってるだろ。過去ログにも満載でそういうのがあるぞ。
br とか閉じてあるのに何の dtd に沿ってるのかわからない こだわってるのかこだわってないのか
105 :
Name_Not_Found :2007/11/09(金) 22:48:04 ID:pKWFYya2
setAttribureに関する質問です setAttribureを使って要素にid属性を付与したいのですが、 同じidを複数の要素に与えてもいいのでしょうか? 同じidを持つ要素は同時には一つしか存在しないようにする予定ですが それでも同じidがあっちこっちに移動するのは 何かの規約に反しているんじゃないかと不安なのです
あたりまえです。
108 :
Name_Not_Found :2007/11/10(土) 18:56:49 ID:c/vRsXp2
少しOTかも知れませんが、質問です。 よく質問者が「JavaScriptで開発しています」と言うことがありますが、こ の言い方は正しいのでしょうか。ぼくにはどうもJavaScriptの本体を作るよう な仕事のことを「開発」というような気がしてしかたがありません。もっと いうと、部品を並べるくらいで「開発」はないだろうと思うのです。技術の 人にとってはどうなのでしょうか。
JavaScriptはスクリプト言語。 その言語を使って作ってるんだから「開発」で何の問題もない。 これは技術者云々以前の問題だと思うよ。 たとえばゲームを「開発」するのも言語を使う。C言語でライブラリを使って 作ったら同じ様に部品を並べる作業はあるからね。
三省堂 大辞林より
(1)森林や荒れ地などを切り開いて人間の生活に役立つようにすること
「宅地―」
(2)天然資源を活用して産業を興すこと
「電源―」
(3)潜在している才能などを引き出し伸ばすこと
「能力を―する」
(4)新しいものを考え出し、実用化すること
「宇宙ロケットの―」
>>108 は多分(4)のイメージだけで開発を捉えてんだろ
document.domain などの便利なプロパティを任意の文字列から取得する方法はありますか?
お前は何を言ってるんだ?
任意の文字列をdocument.domainに置き換えると解釈するにはお粗末な質問文じゃね? var vName="dm";//任意の文字列 document[vName]=document.domain; document["d"];//任意の文字列から取得 ということかと思ったんだが、違うの?
>>113 ですよね。メソッドなら call でいけるんでしょうが。
ありがとうございました
だとしたら、勉強不足なだけだろ。ゆとりはなんでもかき回すからな
RFC 3986 Appendix B Parsing a URI Reference with a Regular Expression
>>108 JavaScript処理系を作る場合は「JavaScript*を*開発しています」だな。
JavaScript言語で色々作る場合が「JavaScript*で*開発しています」
JavaScript*の*質問用スレッド
121 :
ジャバジャバ :2007/11/10(土) 23:22:50 ID:/GlptZbu
こんにちは。 いつも参考にさせてもらっています。 javascriptでtextエリアやbuttonエリアを条件によって活性・非活性にするといった 処理をいれようとしています。 普通はdocument.formname.プロパティ名=disaled; 見たいな感じで書いていけばいいかと思いますが、 今回はプロパティが90個もあります。 なのでできればindexのようなものを使用して このtextエリアは1番目というようなものがわかれば、 for文で回して、コーディングしていきたいと思っています。 何か、index指定をいれていけるような方法をご存知の方は ご教授願います。 また、ほかにもっといいやり方があれば教えてください。 お願いします。 90個も、1個づつabel,disableをいれていくのは ちょっと、、、と思いまして。。。。
getElementsByTagName() とか
>>121 正しくは document.forms[n].elements[n]
>>121 WinIE独自だが、
http://msdn2.microsoft.com/en-us/library/ms533734.aspx の、Applies To に列挙してあるHTML要素オブジェクトのどれかが上手い具合に親要素にあれば、
まとめて一度に disabled を切り替えられる。
ただし、disabled = true であるコントロールのプロパティ名とプロパティ値は、
フォーム送信時に、クエリ(またはリクエストボディ)の一部として含まれたりしないが、
<input type="text"> と <textarea> は、編集可能なままになるから、
都合悪いかもしれないというか、都合悪いだろう。
(この場合、これら編集可能になってしまう物だけをループして、それぞれに、
readOnly = true すれば、気休め程度にループを減らすことができる。)
結局、編集不可能にしたければ、やはり、ループしてそれぞれを disabled = true するしかない。
そのインデックスどうこうであれば、
>>122-123 が回答している。
<img>要素にheightとwidthを動的に指定した後に、srcを動的に差し替えると 新しい画像のheightとwidthが取得できなくなって困っています。 具体的には以下のようなことを行っているのですが、 1回目のファイル選択では正しい画像のサイズが取得でき、 2回目以降のファイル選択では「100x100」の固定となってしまうのです。 function doPreview(path){ $('preview').onload = function(){ alert(this.width+"x"+this.height); this.width = this.height = 100; // これがなければ毎回取得できる }; $('preview').src = path; } <input type="file" onchange="doPreview(this.value)"> <img id="preview"> 表示用の<img>とは別に読込用の隠し<img>を用意したり、 毎回createElement('img')したりすると何とかなるとは思うのですが、 「元の状態」に戻す方法も知りたいのです。 widthとheightを指定する前と後では何が違うのでしょうか? 動作はIE6〜を想定しています。 よろしくお願いします。
>>125 > widthとheightを指定する前と後では何が違うのでしょうか?
widthとheightとが指定されているかどうかが違うでしょう。
srcを書き換える前に removeAttribute('width') とでもしてみるとか。
127 :
125 :2007/11/11(日) 03:30:03 ID:???
>>126 removeAttribute()で動きました。ありがとうございます!
初期状態でもwidthとheightを参照するとnumber型で27と30が取得できたので
widthとheight自体は変わってないと思っていたのですが、DOM的には別物だったのですね。
ありがとうございました。
128 :
Name_Not_Found :2007/11/11(日) 08:41:05 ID:sCuQ5sn0
基本的にvarで宣言された変数にはDontDelete属性がつくから、 どうしても参照切りたいならnullでも突っ込んどけ。 それから、JavaScriptのdeleteはC++やら何やらのdeleteとはまったくの別物だ。 プロパティを削除するだけで、そのプロパティの値に対して何かをする (そのプロパティの値に割り当てられているメモリ領域を開放するとか)わけじゃない。 「関数の中で自分自身をdelete」といってるが、 その関数オブジェクト自身をどうこうしてるわけじゃない。
>>129 あー
あー
多分分かりました。
ありがとうございました
行間いじってる?2chらしくないなあ。
132 :
128 :2007/11/11(日) 11:57:07 ID:???
ちょっとIEで実験してみたのですが 関数の定義で (1) function foo(){ … alert(delete foo); } (2) var foo = function() { … alert(delete foo); } (3) foo = function() { … alert(delete foo); } (1)、(2)の場合はfalse、(3)の場合はtrueが帰ってきました 関数だろうとvarで宣言していたらdeleteできないようです だから何だというわけではないのですが一応ご報告
133 :
ジャバジャバ :2007/11/11(日) 12:05:15 ID:YYBPYAzP
>122,123,124のご回答を頂きました方たち。。 どうもありがとうございました。 明日会社にいきましたら、さっそくいろいろ試してみます。 また何かありましたらよろしくお願いいたします。
textareaからinputに一度focusして、 inputで入力した値をenterの"keydown"時にtextareaにコピーしたいのですが、 textareaに改行も一緒に入ってしまいます。 改行抜きでtextareaにコピーするには、 コピーしてから改行を削除するようにプログラムを書くしかないのでしょうか?
>>135 書いてあるだろ。もし書いてなくてもすぐに試せる。
138 :
135 :2007/11/11(日) 15:45:16 ID:???
>>137 よくわからないので試した結果をここに貼ってもらえませんか?
図々しいお願いですみません。
139 :
135 :2007/11/11(日) 16:20:35 ID:BpMSxwFR
ID 出し忘れた自分が馬鹿でした
>>137 確かにおっしゃる通りですが、読んで理解できれば質問はしませんし、
これから書こうと思っているメソッドをどうやって試せばいいのやら。
思考がデッドロックしている
141 :
Name_Not_Found :2007/11/11(日) 16:43:08 ID:ibbKMxxG
質問です。Math.random()*9 のとき出現するminとmaxを求める方法ってあり ますか?仕様からそうなっているだろうことはわかるのですが、実際にコード で出して確かめたいです。
そりゃあまあ 0 < Math.random()*9 < 9 だろうな
>確かにおっしゃる通りですが、読んで理解できれば質問はしません 逆ギレか開き直りか知らんがこういう態度が一番腹が立つ
144 :
135 :2007/11/11(日) 17:00:36 ID:BpMSxwFR
>>143 普段はROMってるけどあんたはいつも上からものを言ってるよね
仕方なくFxインスコして試したよ。では
>>142 0 <= Math.random()*9 < 9
じゃないの?
>>141 試すってこういうの?でも「0きっかり」を観測するのはなかなか難しそう。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var v, s0, s1, s2, n = 9, max = -1, min = n+1;
function init() {
s0 = document.getElementById('s0'); s1 = document.getElementById('s1');
s2 = document.getElementById('s2'); setInterval(step, 100);
}
function step() {
s0.innerHTML = v = n * Math.random();
if(min > v) s1.innerHTML = min = v;
if(max < v) s2.innerHTML = max = v;
}
</script>
</head><body onload="init()">
<p>val = <span id="s0">???</span></p>
<p>min = <span id="s1">???</span></p>
<p>max = <span id="s2">???</span></p>
</body></html>
ふんとだ いままで Math.floor(Math.random()*10) で 0〜9 が Math.ceil(Math.random()*10) で 1〜10 が返ってくるもんだと思ってたわ
>>148 1〜10が欲しいときは Math.floor(Math.random()*10)+1 だよねー。
Math.random()は0以上1未満を返すから Y=Math.random()*Xとすると 0≦Y<Xだから、0からXを出力したいときには Y=Math.floor(Math.random()*(X+1)); で問題ないはず
質問 var A=[0,1,2,3]; A in 1;//true A in 4;//false になるんだが、これってどういう仕組み?
153 :
Name_Not_Found :2007/11/11(日) 18:09:15 ID:nYBl5JNH
質問させてください。 1つのページ内にnameもしくはidで複数のターゲットがあり、 それぞれの項目間を移動するnext、previousのリンクを書く場合に 統一的な書式ってありますか? 自分でも何を書いてるか分からないので、もうちょっと説明しますと、 単独のページ内に 1.はじめに 2.2006年度チーム成績 3.2006年度個人成績 4.選手名鑑 5.おわりに という項目があってそれぞれid=01とか割り振ってるのですが、 3.2006年度個人成績 4.2007年度チーム成績 5.2007年度個人成績 6.選手名鑑……… と、途中で項目が増えることになる場合、id等を書き換えることなくリンクが通用するような go to next targetみたいな書き方があるのかなと思った次第です。 なんか分かりづらい上にスレ違いかもしれませんが何卒よろしくお願いします。
>>153 HTMLの話だが、ID属性値の型はID・NAME型なので数字で始まれない。
テンプレから、「ことばでうだうだ書かずにコード書くかアップしろ」の注意書きが消えたんだな。とりあえず
>>153 、そういうことだ。
156 :
Name_Not_Found :2007/11/11(日) 18:55:14 ID:nYBl5JNH
やはりスレチっぽいんでこれ最後に別のとこで聞き直します。 <a href="次にID書かれてる項目に飛ぶ">NEXT</a> <a href="前にID書かれてる項目に飛ぶ">PREVIOUS</a> みたいのをイメージしてました。
>>156 以下のようにIDの数字部分を切り出して1増やす/減らすとかでどうかな。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function next(elt) {
var a = elt.parentNode.id.match(/^([^0-9]+)([0-9]+)$/);
location.href = '#' + a[1] + (Number(a[2])+1);
}
</script>
</head><body>
<p id="i1">1<a href="#" onclick="next(this);return false">next</a></p>
<p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p>
<p id="i2">2<a href="#" onclick="next(this);return false">next</a></p>
<p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p>
<p id="i3">3<a href="#" onclick="next(this);return false">next</a></p>
<p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p>
<p id="i4">4<a href="#" onclick="next(this);return false">next</a></p>
<p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p>
<p id="i5">5<a href="#" onclick="next(this);return false">next</a></p>
</body></html>
158 :
Name_Not_Found :2007/11/11(日) 23:34:40 ID:8Ri9E/lH
入力フォームで直近の3日が表示されるようにして、Valueにも選ばれた日付が表示されるようにしたいのですが、ホームページビルダーではエラーがでます。どこがいけないのでしょう。 <select name="お取引日"> <option OnClick="this.value=( ' ' + accessDate() );"><Script Language="JavaScript"> <!-- accessDate(); // --></script></option> <option OnClick="this.value=( ' ' + accessDate1() );"><Script Language="JavaScript"> <!-- accessDate1(); // --></script></option> <option OnClick="this.value=( ' ' + accessDate2() );"><Script Language="JavaScript"> <!-- accessDate2(); // --></script></option> </select>
ビルダーのエラーなんて知らんがな。ビルダースレへ行けば? アンタが貼った範囲にはJavaScriptエラーになる内容は見当たらない ようだし。そもそもエラーってJavaScirptエラーじゃないんでしょ?
>>158 HTMLの文法違反。
optionの中はテキストしか置けない。
HPBってこんなにひどいのか
いや、さすがに文法違反のコードは吐かないはず。 えらく遠回りなことやってる気がしてならない <select id="お取引日"></select> <script type="text/javascript"> function accessDate(passed_day); //実装省略 引数文の日数を追加 function CreateAccessDateList() { var oSelect = document.getElementById("お取引日"); for(var i=0; i<3; i++) { var oOption = document.createElement("option"); oSelect.options.add(oOption); oOption.value = accessDate(i); } } </script>
163 :
Name_Not_Found :2007/11/12(月) 01:18:30 ID:F/3atqxI
>>162 ありがとうございます。
で、実際にHTMLのタグはどのように書けばよいのでしょう。
お手数ですが、よろしくお願いいたします。
<!ELEMENT SELECT - - (OPTGROUP|OPTION)+ >
>>162 > いや、さすがに文法違反のコードは吐かないはず。
> えらく遠回りなことやってる気がしてならない
いやいや、あんたの文法違反もそうとうなもんだ。
仰向けに寝てつば吐いてるぞw
困るのは回答者じゃなく質問者なんだから gdgdえらそうな事言って自尊心満足させてる暇があったら 修正しろよカス
>>166 うるせえぞ低スキル。何でスレ違いのHTML修正を指示してんだドアホ。おどれはテンプレも読めんのか。HTMLのDTDくらい覚えてないやつはここには書きこめんのじゃ。わかったか。
そんなに悔しかったかw
>>163 options.add()はIE専であることは自覚しているな?
かつDOM-HTML(HTMLSelectElement#add)とは引数が異なることを分かって書いたんだな?
>>164 >>163 が自覚しているのかは知らないが
idに日本語を使ってるんだからXHTML以外にないということは分かるな?
何だこの低レベル
JavaScriptに関して質問です。
内容は
>>43 の継続です。よろしくお願いします。
環境
【OS】widows XP
【ブラウザ】FireFox2.0.0.9
クリックしたdiv要素の色が変わるのですが、ボタン操作によって、
色が変わっているdiv要素を移動させたいと考えています。
upで一行上downで一行下と指定行を交換、deleteで指定行を消去(行間詰め)
という操作を行おうと考えているのですが、上手く動作しなかったのでご教授いただけないでしょうか?
ソースは本文が長くなるとはじかれたので以下のレスに分割します。
どうかよろしくお願いします。
続き続きといって小出しに質問されるのが一番ダルいので とっとと最終形を言えよ
173 :
171前 :2007/11/12(月) 16:11:50 ID:???
<html> <body> <table border=1> <tr> <td width="200" height="400"> <div id="p1" onclick="Click_Sub(this)">テキスト1</br></div> <div id="p2" onclick="Click_Sub(this)">テキスト2</br></div> <div id="p3" onclick="Click_Sub(this)">テキスト3</br></div> <div id="p4" onclick="Click_Sub(this)">テキスト4</br></div> <div id="p5" onclick="Click_Sub(this)">テキスト5</br></div> </td> </tr>
174 :
171中 :2007/11/12(月) 16:12:20 ID:???
<script language="Javascript"> <!-- blue = 'blue'; white='white'; function Click_Sub(obj) { var objstyle = obj.style; if (objstyle.backgroundColor==blue) { objstyle.backgroundColor=white; } else { var objbrothers = obj.parentNode.getElementsByTagName('div'); var j=objbrothers.length; for(i = 0;i < j;i++){ objbrothers[i].style.backgroundColor=white; } objstyle.backgroundColor='blue'; } } //--> </script>
175 :
171後 :2007/11/12(月) 16:13:13 ID:???
<td width="200" height="200"> <input type="submit" name="cmdBtn" value="up"> </input> <input type="submit" name="cmdBtn" value="down"> </input> <input type="submit" name="cmdBtn" value="delete"> </input> </form> <% String str=request.getParameter("cmdBtn"); %> </td> </table> </body> </html>
176 :
171 :2007/11/12(月) 16:14:38 ID:???
>>172 現在想定しているのはこれが最終形です
スレ消費申し訳ありませんでした
どうかよろしくお願いします
177 :
Name_Not_Found :2007/11/12(月) 17:17:13 ID:OT/Z+gy/
複数のレコードを表示し、一件ごとに「修正」と「削除」というラジオボタンを表示させています。 (削除にチェックが入っているレコードは「実行」後に削除されます) この複数レコードの「削除」ラジオボタンに一括でチェックを入れられるボタンを作りたいのですが、以下のようにするとエラーが表示されます。 ●画面イメージ ┌─┬──┬──┬──┐ │ID│件名│修正│削除│ ├─┼──┼──┼──┤ │1│AB│○ │○ │ ├─┼──┼──┼──┤ │2│CD│○ │○ │ ├─┼──┼──┼──┤ (以下、30件ほど続きます) 削除の文字をクリックするとその下のラジオボタンに全てチェックが入る予定です。 ●エラーコード <HTML部分> <form name="SELECT"><table> <tr><td>ID<td>件名<td>修正<td><a href="javascript:CHK_DEL(30)">削除</a> <tr><td>1<td>AB<td><radio name="controll_0" value="1"><td><radio name="controll_0" value="2"> <tr><td>2<td>AB<td><radio name="controll_1" value="1"><td><radio name="controll_1" value="2"> 以下、30件続きます。 <Javascript部分> function CHK_DEL(num){ for(i = 0; i < num; i++){ var radio_button='controll_'+i; document.SELECT.controll[1].checked=true; } } ご教授ください。
178 :
Name_Not_Found :2007/11/12(月) 17:20:41 ID:OT/Z+gy/
すみません。 先ほどのJavascript部分で、 document.SELECT.controll と書いてあるのは、 document.SELECT.radio_button の書き間違えです。
>>177 FAQ
>>2 のQ8/A8は読んだかね。読んで分からないなら向いてない。
180 :
177 :2007/11/12(月) 19:06:03 ID:gfvwDWC7
失礼しました。解決しました。 ありがとうございました。 document.forms.SELECT.elements[radio_button][1].checked=true;
\u3042
182 :
Name_Not_Found :2007/11/12(月) 23:39:02 ID:COtpYvri
cookieというのはローカルでは使えないモノですか?
>>182 なぜそう思ったのかを簡潔に述べてください
でかいテーブルをつくりたいときはDOMでtrを挿入していくより ソースをまとめてinnerHTMLしたほうが早いでしょうか?
>>185 25回innerHTMLすりゃ遅いかも知れませんが
25回分のHTMLをまとめて一回で入れれば
ぜったいinnerHTMLのほうが早いですよ。
いや 事実だろ
何か言い返したいだけなのでは。
190 :
Name_Not_Found :2007/11/13(火) 09:55:22 ID:Y1CnL4lL
'a bac xaac'.match(/(a)/i); って a,a,a,a になりませんか?
gオプションつけないといかんよ
192 :
190 :2007/11/13(火) 11:42:40 ID:TRXseVU7
>>191 iとgまちがえてた。寝ボケっす。サンクス。
193 :
script初心者 :2007/11/13(火) 15:12:40 ID:WCR8EyUa
こんにちは。少し質問させてください・ innerHTMLに関してなのですが、 document.getElementById("cdGyoumuLabel").innerHTML="<font color='#00FF00'>*</font>" のような形で、javascriptでinnerHTMLにフォントをセットしています。 しかしながら、「未知の実行エラーです」というエラーがでてしまいます・ いろいろネットで調べていたら、HTMLがおかしいみたいなのですが、 <td class="itemStl1"><label id ="cdGyoumuLabel"></label>ああああ</td> innerHTMLを設定するところをdivに変えてしまうと、改行されてしまって、 *ああああ とならずに * ああああ となってしまいます。。。 どなたか、解決法をご存知の方がいらっしゃいましたらお教えください。 よろしくお願いいたします。。。。
divをspanに変えれば
フォームに入力した値を処理して表示させたいのですが、 ボタンクリックのほかにエンターキー入力でも可能にしたいと思っています。 submitボタンでonclick="func();return false"にするとFirefoxは上手く動作しますが IEだと自分自身に送信(URLがxxx.html?name=valueになる)してしまいます。 IEでエンター入力時に送信させずfunc()のみ動作させる方法あるのでしょうか? return falseはonclick内でもfunc()内でも変わりませんでした。 なおフォーム入力はキー入力の他、コピペの可能性もあります。
onsubmit
197 :
195 :2007/11/13(火) 16:47:00 ID:???
>>196 ありがとうございます。
formの方にonsubmit付けたら上手くいきました。
ボタンタグの方に付けることしか考えつきませんでした。
質問失礼します。 ローカルで実行するhtmlにjavascriptを埋め込む予定です。 その際データをcookieファイル、もしくはテキストファイルへ読み書きが できるようにしたいと考えています。 javascriptはサーバーからローカルへの読み書きはできないようですが ローカルからローカルへの読み書きはどうなのでしょうか? Web製作板で、板違いの質問ですが、教えていただければ幸いです。 どうかお願いします。
クッキーはできる ファイルアクセスは無理
絶対にローカルで、それもWindowsでしか使わないんだったら、 HTML ApplicationにしてFileSystemObjectを使うとか。
なんかさ最近ネットサーフィンしてると ランタイムエラーのサイトを見かける 高級言語なんだからw そこんとこ頼むぜよオマイラ
ランタイムはともかくエラー出るサイト多いな まともに動いてはいるようだけど
204 :
Name_Not_Found :2007/11/14(水) 07:40:20 ID:tMIBrzxD
illustrator10でjavascriptを利用しようと思っています。 function SOC() { 処理; } ID = setInterval(SOC, 10000); として、10秒ごとにillustratorに処理をさせたいのですが、 スクリプトを実行すると「setInterval is undefined」とエラーが出てしまいます。 setIntervalの記述の仕方のどこが間違っているのか分からなくて困っています。 どなたかよろしくお願いいたします。
>>204 イラレではブラウザとは使える関数がまったく違うので。
Web制作板じゃなくプログラム板へ行くのがいいかも。
198です。返答が遅くなり大変申し訳ありませんでした。
>>199 回答、ありがとうございます。
やはりファイルアクセスは無理なのですね。
少し苦手なのですが、cookieを扱えるように精進します。
>>200 回答、ありがとうございます。
HTAという選択肢は今までにありませんでした…。
使用について、検討してみたいと思います。
>>198 TiddlyWiki の loadFile saveFile あたりの関数見れ
208 :
Name_Not_Found :2007/11/14(水) 14:48:02 ID:wxkbCZHF
JavaScriptで8は2の何乗かを求めるにはどうすればよいですか? 答えは3です。
209 :
Name_Not_Found :2007/11/14(水) 14:59:27 ID:B06w/xrm
>>208 Math.log(8) / Math.log(2)
alert("答えは3です。")
211 :
208 :2007/11/14(水) 15:07:14 ID:wxkbCZHF
212 :
:2007/11/14(水) 16:46:49 ID:???
書いたタグがそのまま文章のように表示されてしまうんですが この場合はどういうエラーの確率が高いですか?
HTMLの文法違反とか preやtextarea内に書いていないか?
コードが気になるが本当に JS か?
217 :
Name_Not_Found :2007/11/14(水) 19:51:41 ID:lkdV6Lpq
質問です function test(){ document.body.innerHTML += '<div id="aiueo">test</div><style type="text/css">#aiueo{color:blue;}</style>'; }; というコードを実行すると IE , Firefox では test という文字が青い文字で表示されるのですが Safari 2.0.4 で実行すると 黒い文字で表示されます (スタイル記述部分が効いていない) Safariでもスタイルを効かせたいのですが、うまいやりかたないでしょかー?
>>217 style要素をそんなところに入れたら不正なHTMLでしょ。
ライン 15 文字 2 エラー オブジェクトでサポートされてないプロパティまたはメソッドです。 コード 0 こういった表示の時はどの部分がエラーですか? htmlからjsonを読み込んで、そこから2つのjsonを読み込み それぞれまたhtmlを読み込むようにしています
追記 上と同じエラーのウィンドウは2回表示されます
>>220-221 です
エラー箇所はコメントアウトでなんとか見つけることができたのですが
そこを何度書き直しても同じエラーになります
参考書通りにやって、正直これで治らないならお手上げ┐(´ー`)┌なのですが
行き詰ってしまいまいました…orz
>>222 そのエラーになってる部分のコードを見ないで分かる奴なんていないだろ。
糞な参考書なんて一杯ある(というか糞でないものの方が希少)。
>>223 これでおkですか?
GDownloadUrl( "mark1(3-9).json", addMarkerByJSON );
GDownloadUrl( "mark2(3-10).json", addMarkerByJSON );
>>224 釣りなら後にしてくれないか
まさか本気でそこだけを見直してたのではあるまいな
エラーが出た箇所だけかと思いました… こちらです var map; function startUp() { map = new GMap2( document.getElementById("mymap") ); map.setCenter( new GLatLng(35.6984, 139.7732), 13 ) map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl()); GDownloadUrl( "mark1.json", addMarkerByJSON ); GDownloadUrl( "mark2.json", addMarkerByJSON ); } function addMarkerByJSON(data) { var obj = data.parseJSON(); GDownloadUrl( obj.htmlfile, function(data) { var mk = new GMarker( new GLatLng(obj.lat, obj.lng) ); map.addOverlay(mk); GEvent.addListener( mk, "click", showInfo ); function showInfo() { mk.openInfoWindowHtml( data, {"maxWidht":200} ); } }) } onload = startUp; onunload = GUnload;
そもそもGMap2やらGMarkerがどうなってるのか分からないと答えられないだろ・・・常考 一応突っ込んでおくと、GEvent.addListenerは定義されてるの? GEvent側に用意されてなければaddListenerはIEだと使えないはずだけど
IE6でiframeのpdfファイルを印刷する方法ってある? FireFoxだとiframeの要素.contentWindow.print()で印刷できたんだけど…
230 :
204 :2007/11/15(木) 01:34:00 ID:???
>>205 返信が遅れましてすいません。
プログラム板へ行って聞きなおしてみます。ありがとうございましたm(_ _)m
>>224 たぶんエラーが出てるのは外部jsファイルじゃないのか。
>>226 は 3-13.js です
以下はhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"
http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd ">
<html xmlns="
http://www.w3.org/1999/xhtml " xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="
http://maps.google.co.jp/maps?file=api&v=2&key=** " type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" src="json2.js" charset=utf-8"></script>
<script type="text/javascript" src="3-13.js" charset=utf-8"></script>
</head>
<body>
<div id="mymap" style="width: 500px; height: 400px"></div>
</body>
</html>
keyは ** にしています
続けて他のファイルも貼ります
mark1(3-9).json
{ "lat": 35.658,
"lng": 135.745,
"htmlfile": "data1(3-11).html" }
mark2(3-10).json
{ "lat": 35.689,
"lng": 135.691,
"htmlfile": " date2(3-12).html" }
data1(3-11).html
<dl>
<dt><a href="
http:www.tokyotower.co.jp/ ">東京タワー</a></dt>
<dd>高さ: 333m</dd>
<dd>重さ: 4000t</dd>
<dd>正式名称: 日本電波塔</dd>
</dl>
date2(3-12).html
<h2>新都庁</h2>
<p>
東京都庁の高さは243mで、
竣工答辞は日本一の高さを誇るビルであった。
</p>
アフィがうざいのでIDを消すbookmarkletを書こうとしているのですがうまくいきません。 javascript:(function(){var k,x;for(k=0;x=document.links[k];k++){x.href.replace(/(ASIN\/[0-9]+\/).*/g,"$1");}})(); FireFox2.0.0.9で試していますが、どこがまずいでしょうか? 添削お願いします。
消したいアドレスの見本も書かないとわからんだろ
>>234 x.href = x.href.replace(....)
のように結果を入れ直さないと何の意味もないよ。
240 :
234 :2007/11/15(木) 17:11:52 ID:???
ちなみにアマゾン用です。x.href=x.href.replace()と代入文を入れて javascript:(function(){var k,x;for(k=0;x=document.links[k];k++){x.href=x.href.replace(/(ASIN\/[0-9]+\/).*/,"$1");}})(); となりました。
>>226 // var obj = data.parseJSON();
var obj = JSON.parse(data);
とりあえずこれで動く。
「json.js」が要るって書いてあんのに
無視して「json2.js」持ってきたのが原因。
json.jsは想像通りのurlに置いてある。
>>236 [sample.js]
× var obj = data.parseJSON();
○ var obj = JSON.parse( data );
もうその本のサンプル役に立たん予感
243 :
Name_Not_Found :2007/11/16(金) 17:54:43 ID:d3nuX0aO
すみません。JavaScriptでフォーム送信するまえにテキストボックスの 入力チェックをしているんですが、空文字の判定をする場合 document.toroku.name.value==""でif文で判定しているんですが(本の指示通り) これで正しいんでしょうか? 入力チェックで空文字をチェックする際の完全な方法はあるんでしょうか?
日本語 ^[\s\u3000]*$
245 :
Name_Not_Found :2007/11/16(金) 18:27:20 ID:d3nuX0aO
ゆに子
247 :
171 :2007/11/17(土) 02:34:10 ID:???
>>171 で質問をさせていただいたものですが、
DOMツリーをinsertBefore等を使って操作した結果実現することが出来ました。
お騒がせしてしまって申し訳ありませんでした。
248 :
Name_Not_Found :2007/11/17(土) 02:55:43 ID:OVRjkp3y
質問失礼します。 【やりたいこと】 テキストエリアにURL入力してボタンを押すとそのURLのページに含まれる文字"A"を"B"に書き換えてそのページを開く。 【問題】 以下のように書いてみたのですが、AがBに変換されません。ちゃんと入力したURLは開くのでそれ以下のコードが間違っているようなのですが、どこが違っているのか分かりませんでした。お力添えいただけると幸いです。 <body> <form> URL <input type="text" name="genurl" value=""/> <input type="button" onclick="send(this.form);" value="変換"/> </form> <script> function send(frm){ window.open(frm.elements["genurl"].value,"mywin"); d=mywin.document; a=String(d.body.innerHTML); r=a.replace(/A/,"B"); mywin.write(r); mywin.close(); } </script>
window.open() の直後にやったらダメじゃろね
基本的に、window.open()の質問はスルーするに限る。 しかも、イベント待ち以前に、こいつの間違いは、このメソッドの使用説明を読んでさえいないことを示す。
>>251 >このスレに書き込むことが許されるものは以下のとおり
>・JavaScriptとJavaの違いを理解する者
下はどうあがいてもJavascriptじゃ無理 上はY軸とX軸、座標表示部分を別々のオブジェクトにしてonmousemoveで動かせばいいんでないの?
>>248 そのURLは自鯖なんだろうな。FAQ
>>2 のQ1/A1 も読んでない
とかいうことはないだろうね。
自鯖ってなんですか?
>>255 アンタが作った(作ろうとしてる)ページを置く鯖と同一の鯖。
自鯖って自宅サーバーの略かと思ってた。
てか普通そうだろう。 同一サーバの意味で使ってる奴なんて初めて見た。
自宅サーバーだよな
自鯖!=同鯖
自分で管理してる鯖だろ?なんで自宅限定なんだよ
借りてるのはレン鯖と言う。
【自宅】(じたく) 自分の生活の本拠となっている家。自分の家。「―療養」「―サーバ」
今時自宅サーバなんて流行らないので 自分の鯖という意味で使うことはある
Vista、JITでもCLRでもJavascriptにアタッチできんのは既出?
root持ってたら物理的にどこにあっても自鯖でいいよ。
267 :
Name_Not_Found :2007/11/17(土) 16:17:43 ID:TQqQ2Kcv
オフセットって何ですか?辞書を引いてもネットで探しても頷けるものが ありません。どういうことなのでしょうか?
>>267 3000番地以下にB、W、Hの3つの数値が入っているとする。
ポインタで先頭を指させるとする。つまりポインタ値は3000。
で、Bの値は3000番地に入っているが、WとHは3001と3002番地
だから、先頭3000を指しているポインタに対して1番地と2番地
「ずらした」位置にある。これをオフセットが1とか2とか言うわけ。
269 :
javescript子 :2007/11/17(土) 17:53:09 ID:3VoYXLbm
こんにちは、いつも参考にさせてもらってます。 今日ご質問させていただきたいのは、javascriptで var input = new Object(); var aaaInfo = new Object(); input.aaa = aaa; var out = popupAAA(input); というソースで、確かに子画面はPOPUPしてきますが、 子画面の中のテキスト項目の初期値にundefinedと出てきてしまいます。 どこかで、初期値クリアのようなことをしなければいけないのでしょうか? 初歩的な質問で申し訳ありませんが、どうか力を貸してください。 お願いいたします。
>>269 そのpopupAAAのソースを書かずに想像しろと?
271 :
267 :2007/11/17(土) 18:48:46 ID:???
>>268 さん
ご説明ありがとうございました。おかげで理解できました。
272 :
Name_Not_Found :2007/11/17(土) 20:11:40 ID:OVRjkp3y
>>249 >>250 >>254 回答どうもです。Q&A見ました、open後のウィンドウが別鯖なら操作できないんですね・・・。じゃあ今見てるページをブックマークレットみたいなやつで文中の文字A→文字Bと変換するなんてことはできるのでしょうか?的外れの質問でしたらすみません。
>>272 だから mywin て何だ?ベンダーの使用説明を読んで真似することもできんのか?
ブックマークレットならできるよ 「みたい」ってのはわからんが
276 :
Name_Not_Found :2007/11/17(土) 20:59:44 ID:OVRjkp3y
277 :
Name_Not_Found :2007/11/17(土) 21:03:30 ID:OVRjkp3y
>>275 「ブックマークレット」です、曖昧な言い方をしてしまいました。ちこっと作るにあたってアドバイスをいただけませんか。単語など出していただければあとは出来る限り自分で調べてみますので・・・
>>277 仮にブックマークレットだとして
ウィンドウ開いて置換してすぐ閉じるんじゃ何もやっていないのと同じだと思うんだが?
開いたページの内容を書き換えたいのと違うの?
279 :
Name_Not_Found :2007/11/17(土) 21:21:48 ID:OVRjkp3y
>>278 開いたページの内容を書き換えたいです。本によると『firefoxではwrite()の後close()がないとページがずっと読み込み中になる』そうでclose()を入れてたんですが
万能オブジェクトかよ!
281 :
Name_Not_Found :2007/11/17(土) 21:26:59 ID:OVRjkp3y
?
282 :
Name_Not_Found :2007/11/18(日) 01:04:45 ID:rFist/U6
冗長だな。 javascript:with(document.body)void(innerHTML=innerHTML.replace(/。/g,'www'))
>>282 2・3年位前に同じことするスクリプトをコピペするのが流行っていたので
懐かしさを覚えた
286 :
Name_Not_Found :2007/11/18(日) 05:50:37 ID:cyUR334T
pc用サイトへinnerHTMLへなどを使ってるんですが、 携帯でみると、サイト全体が点滅してるように見えるんです。 多分setIntervalの間隔で書き換えが点滅してるように見えてると思うんですが。 これをどうにか直せないのでしょうか? //js testTime = { test_time : function(){ あれこれ document.getElementById("nowTime").innerHTML } } testTime.test_time(); setInterval("testTime.test_time()", 1000); //html <span id="nowTime">js time</span> <script type="text/javascript" src="/library/time.js" charset="utf-8"></script> 確認した携帯はsoftbank912Tです。
処理が重いんじゃネーノ そのコードじゃ書き換えてすらいないから何も起こらないはずとしか言えん
今の携帯ってJavaScript使えるのかあ すっかり時代に取り残されてしまった
289 :
Name_Not_Found :2007/11/18(日) 06:56:17 ID:cyUR334T
レスありがとう。 重いのかな。ずっとphpでやってたのを一部jsに簡易的に変えてみただけなので詳しくないので 無駄な部分とか多いのかな。 もう少し様子みてみますー
290 :
Name_Not_Found :2007/11/18(日) 10:00:22 ID:h7SiHUA9
JavaScriptを学ぶ上でのアドバイスお願いします。 検定とかはありますか?皆さんは何級くらいをお持ちなのでしょうか。
検定なんてない。だいたい他の言語のプログラマだって ほぼそんな資格と関係なくやってる。最後は「書けるか書けないか」 それだけでしょ。
意味のある資格なんてMSとかボラクルとかのメーカー公式資格くらいしかないだろ
>>291 そういう開き直りは低レベルしか招かない。
プログラミングがいつまでたってもレシピからエンジニアリングに昇華しない原因だ。
>>290 英語でもそうだが、検定などを持っているヤシで英語ができるのにお目に
かかったことがない。できるヤシは検定でお墨付きもらう必要もない。
検定なんて所詮役人の天下り先確保の団体だろ。
僕はJS検定108級です!
296 :
Name_Not_Found :2007/11/18(日) 10:50:07 ID:2EXwtrQO
誰が大文字の話してるんだ?
誰がと言われても匿名掲示板なので誰なのかわかりません 強いて言うと297あたりか
>>294 検定は、できなくはないことのアリバイだ。
全体の質が「飛躍的に」底上げされる。
役人の天下り?w
そこまで安定して大きな組織になれば大成功ですよ、僕ちゃんw
僕ちゃん!出た!僕ちゃん出た!得意技! 僕ちゃん出た!僕ちゃん!これ!僕ちゃん出たよ〜〜!
基本情報処理とか持っててもまったく書けない奴の何と多いことか。
>>302 具体的な言語の検定の話だろ。同じようで明らかに逸脱してるぞ。
ほんじゃ、2ch検定の問題を出そう。[制限時間3分で2級程度] 配列Nがあって、N=[1,2,3,4,5,6.... ,100]とするとき、この中から素数の 要素だけを取り出すにはどうすればよいか。そのコードを書け。
ソスーのソース
その問題の出かたが気に入らないね。なんで配列Nに1〜100のデータを 入れなきゃいけないの。「取り出す」ってことは別の配列に入れるとか 出力するとかするわけだよね。だったらNにデータが入っていることに 必然性がない。単に「1〜100の中から」でいいわけじゃん。 function isPrime(n) { for(var i = 2; i < n; ++i) if(n % i == 0) return false; return true; } for(var i = 0; i < N.length; ++i) if(isPrime(N[i])) document.writeln(N[i]);
>>304 難し過ぎるな。
時間も10分以上はかかるだろう。
というか、だれがその面倒そうな採点をするんだ?
てかアルゴリズム関係の本には必ず載ってるよな 自分で書くよりも間違いのなくて速いのが
別に難しくはないよ。でもさあ、3分で書けるような問題やらせて その言語でのプログラム能力が分かる気はしない。15分くらい掛かる 問題でないと分からないんじゃないのかな。
>>309 検定というものの目的を考えろよ。底辺の拡大と底上げだろ。
競技会か何かと勘違いしてるんじゃないか?
>>308 プログラミング言語で書く能力を見るんだから別にいいんじゃ
ないの?よく知られているアルゴリズムでもきっちり書ければ
その言語で書く力はあると考えていいように思う。エラトステネス
のふるいがいいかな?
var a = new Array(101); a[2] = true;
for(var i = 3; i < a.length; i += 2) {
if(a[i]) continue;
document.writeln(i);
if(i*i > a.length) continue;
for(var j = i*2; j < a.length; j += i) a[j] = true;
}
競技会だったら15分なんて短い制限時間のはまずないな。
>>311 だから、だれが採点するんだ?
形式は5択とかに決まってるだろ。
>>312 じゃあ、選抜試験な。
検定とは資格試験であって、全員合格してもいいわけだ。
能力なんて、学歴見てIQテストすればいいの。
むしろプログラム書かせるのは遠回り。
たとえば、このていどでいいのよ、検定なんて。
var a;
alert(a);
1. null
2. undefined
3. 0
4. エラー
5. false
選択肢問題というのはあんまり賛成できない気がしている。むしろ、 コード片を打たせてそれを実行させて評価とかがいいんじゃまいか。 CBTっていうか。ちょっと作ってみた。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> <script type="text/javascript"> var a, x; function test() { a = []; for(var i = 0; i < 1000; ++i) a.push(Math.random()*10000); eval(document.getElementById('t0').value); var result = '正解'; for(var i = 0; i < 1000; ++i) if(a[i] > x) result = '不正解'; alert(result); } </script> </head><body> <p>配列aに1000個以内の数値が格納されています。その最大値を 求め、グローバル変数xに格納するコードを書いてください。</p> <div><textarea id="t0" rows="5" cols="60"></textarea> <button onclick="test()">Test</button></div></body></html>
evalとか
317 :
まなみ :2007/11/19(月) 05:30:47 ID:???
<script type="text/javascript"> var str=document.getElementById("aid").firstChild.nodeValue; var rusolt= new string; for(i=0;i<str.length;i++){ if(str.indexof("hel",0)>-1){rusolt="succses"}; else if(str.indexof("you",0)>-1){rusolt="rose"};} document.write(rusolt); </script> <div id="aid">hellow world(任意の文章)</div> いつも参考にさせていただいてます。divタグのテキストをgetElementByIdで取得して 文章中に含まれる単語により処理を分けるスクリプトを書きたいのですが、上の スクリプトだとエラーになります。 どこかおかしい点があればご教授願います。
>>317 どの行でどういうエラーが出るかを書け、ボケ!
divより「前に」script置いてもまだaidというIDの要素が存在
してないだろ。後ろに置くか onload ハンドラの中で実行する。
320 :
Name_Not_Found :2007/11/19(月) 11:32:10 ID:p/W0/aL/
var a, x, m = 10000000*Math.random(); function test() { a = []; for(var i = 0; i < 1000; ++i) a.push(Math.random()*m); eval(document.getElementById('t0').value); var result = '正解'; if(x >= m) result = '不正解'; for(var i = 0; i < 1000; ++i) if(a[i] > x) result = '不正解'; alert(result); }
x = m;
x = m - 0.00000001;
>>321 やーいひっかかった。
>>322 それでは不正解になる確率がゼロでないよね。
ま,それくらい読める奴なら「正解」でいいと思うけどさ。
alert('正解'); (w
m = 0; for(var i = 0; i < 1000; ++i) a[i] = 0;
x = m = 100000000;
evalする前にmやaへの代入がないかどうか調べてはねる。
>>327 したら,mへの参照もはねたらいいじゃん。
もちろんエラーはtry-catchするとして。
m = Math.random()*1000000; だから,m自体が0.00000001以下である確率は0ではないな。
なる
おまえら質問スレで何やってんの?
「適切な検定とは」という質問なんじゃねーの。
だが、適切なJavaScriptの検定協会でも作って、JavaとかJAVAスクリプトとか JSとか書く奴をどんどん不合格にして正しい書き方を教えてもらいたいものだ。 あ、あと「教授」も。
きょうじゅ けう― 【教授】 (名)スル (1)0 1 (ア)児童・生徒に知識・技能を与え、そこからさらに知識への興味を呼び起こすこと。 (イ)専門的な学問・技芸を教えること。 「国文学を―する」「書道―」 (2)0 大学などの高等教育機関において、専門の学問・技能を教え、また自らは研究に従事する人の職名。助教授・講師の上位。
日本で教授と言えば、サカモトだろ
>>335 出典を明示のこと
特に(1)0 1 (ア)は怪しい定義だ
そんなことより問題集作ろうぜ
教授はおかしいおかしい言ってたキチガイの頭がおかしかったんですね
ということは、質問者はガキってことか
どういうことだよwww
質問者が児童・生徒の場合は(ア)、そうでない場合は(イ)を適用 すればいいんではないの。
>>338 良質なものなら俺も興味がある
だが世の中には言い出しっぺの法則というものがあってだな(ry
>>340 >教授はおかしいおかしい言ってたキ○ガ○の頭がおかしかったんですね
伏字は差別用語なのでご使用はくれぐれも慎重に
削除されることを希望します
教授とかどうでもいい 教 授 と か ど う で も い い 教 授 と か ど う で も い い
2ちゃんねるの削除ガイドラインは読んだかね。読んで通ると思うなら 削除板へどうぞ。
教授はへりくだった言い回しじゃないから、気分を害する人もいるかもね 教示という言葉があるんだから無理に使わなくていいでしょ
しっかし三省堂さんよ、 (1)0 1 (ア)児童・生徒に知識・技能を与え、そこからさらに知識への興味を 呼び起こすこと。 が、教授というなんて誰が使ってるんだ?こりゃないだろ。お子ちゃま相手 に教授とは。
今まで教授に突っ込んでた奴ら涙目wwwwwwwwww
>346 そのコード書いてみろよ。できねぇだろw
小学校の学習指導案のことを教授細目と呼んでいたらしいね。 きょうじゅ-さいもく けう― 4 【教授細目】 〔旧制度の、主に小学校教育における用語〕各教科目の教材を児童・生徒 の発達段階、地方の状況などに照らして各学期・各週に配当し、実際教授 の予定を示した細かな案。学習指導計画。学習指導案。
教授=教え・授ける 教授する=teach
>>334 JSはネットスケープ社が最初から使っている正統な略語だ。
大きな勘違いをしている馬鹿は世界中でお前だけかもしれない。
それほどお前は奇異な存在だから、精神科に行ってみてはいかがか。
>>349 教授=プロフェッサーという思い込みがあるから
そういう訳の分からん発想をするんだよ お前さんは
つまり、今は使わない誤用ということだろ
必死www
三省堂さんにご教授頂いたんだから素直に感謝しろよw リアルで恥かかなくてよかったなww そして文句があんなら三省堂に言えよwww っていうかこれ以上ここでやんなよwwww 見苦しすぎwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
おまえら他でやれよ。
とにかく教授は禁止だっ!わかったか!!ゴルァ!!
>>351 function mul(str,n){
var result='';
for(var i=0;i<n;i++)result+=str;
return result;
}
function shout(mes,n){
var a=[],result='';
for(var i=0,len=mes.length;i<len;i++)a[i]=mes.charAt(i);
for(var i=0;i<n;i++){
result+=mul('\n',i);
result+=a.join(mul(' ',i));
}
return result;
}
alert(shout('教授とかどうでもいい'));
やっぱ携帯で書くとダメだね。 alert(shout('教授とかどうでもいい'),3);
(ノ∀`) もうやめとこ
365 :
346 :2007/11/19(月) 22:47:08 ID:???
>>351 はアンカーミスかと思ってたよ。あまりに低レベル過ぎて。
function Message(text) {
var loudness = 0;
this.shout = function () {
var result = "";
for (var i = 0; i < text.length; i++) {
result += text.charAt(i);
if (i != text.length - 1) {
for (var j = 0; j < loudness; j++) {
result += " ";
}
}
}
loudness++;
return result;
}
}
var msg = new Message("教授とかどうでもいい");
while (true) {
alert(msg.shout());
}
洩れも書いてみますた。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> </head><body> <pre><script type="text/javascript"> var msg = '教授とかどうでもいい'; for(var s = ''; s.length < 5; s += ' ') document.writeln(msg.split('').join(s)); </script></pre> </body></html>
>>366 > msg.split('').join(s)
元ネタはともかく、勉強になりました。
質問失礼します。 別のHTMLで作成したcookieを、現在閲覧させているHTMLで呼び出すにはどうすればいいでしょうか? 仕様としては、別のHTMLで数値を入力させ、それをcookieに保存してから、ページ遷移を行い、 閲覧させているHTML(遷移後のページ)で反映させ、そこで先程入力した数値を使い、別の処理を行います。 別の処理を行った後、遷移後のページでcookieを作成し、保存させます。 現在、遷移後のページでcookieを呼び出した所、遷移後のページで作成したcookieしか呼び出すことができません。 同時に呼び出すにはどうすればいいでしょうか?
鯖が同じで 遷移後のページが 食わせたときの path に含まれていなければいかんよ
>>370 すみません。書き忘れが一つありました。
全部ローカルで動かす予定です。
この場合、同じサーバー扱いになるのでしょうか?
372 :
369 :2007/11/20(火) 06:32:03 ID:???
連投大変申し訳ありません。なんとか問題を解決することができました。 しかし、新たな問題が発生してしまいました…。 cookieと取ってきた際に、文字列として取ってきて、nameを取り去り、ある文字で区切って配列に入れる という風にプログラムを書いたのですが、一次元配列では上手く動作したのですが、多次元配列では上手く動作してくれませんでした。 何か解決策はないでしょうか?
動作しないソース
俺たちに超能力が備わる以外の解決策はない
375 :
369 :2007/11/20(火) 07:09:29 ID:???
arrayg = document.cookie.split("; "); strg = ""; while (arrayg[i]){ if (arrayg[i].substr(0,8) == "part001="){ strg = arrayg[i].substr(8,arrayg[i].length); break; } i++; } array = strg.split("%00"); arraygは一次元配列 arrayは二次元配列です。 cookieの中身はnameのあとにデータが入り、最後に期限が入っています。
いや、arrayは一次元配列ですよ。
>>375 アンタの動かないコードから文字列の仕様を逆算するのはごめんだ。
どういう文字列をどのように2次元配列に復元するのか日本語で書いたら
やってみてもいいよ。
ループが終わってるだけだろ あと i の宣言は?
379 :
369 :2007/11/20(火) 09:16:14 ID:???
>>376 一次元配列を定義し、その中で配列を定義しています。
>>377 書いてある内容が不十分でしたね。大変失礼しました。
文字列の中身は、name、データ、期限です。
>>375 のwhile文では、クッキーのnameを取り出しています。
文字列についてですが、格納してあるデータは、文字列%00文字列%00文字列%00文字列%00…文字列%00文字列%00という風に
文字列を%00で区切っています。最初の文字列に限っては先頭に%00はありません。
配列の大きさはarray[50][4]です。復元したい形としては、最初の4つを、array[0][0〜3]にデータを%00で区切りながら入れ、
次にarray[1][0〜3]に先程のデータより後のデータを格納…という風にデータを格納していきたいと思っています。
解りにくい文章で申し訳ありません。
>>378 ループ内では、cookieに書いてあるnameの部分だけを取り出すようにしています。残った部分を、strgに格納しています。
iに関しては宣言していません。
380 :
369 :2007/11/20(火) 09:21:48 ID:???
ああ、ごめんなさい。誤りがありました。 文字列についてですが、格納してあるデータは、文字列%00文字列%00文字列%00文字列%00…文字列%00文字列%00という風に の部分ですが、本当は 文字列についてですが、格納してあるデータは、文字列%00文字列%00文字列%00文字列%00…文字列%00文字列という風に です。間違えて最後に%00を書いてしまいました。
>>379 それなら、まず .split('%00') を使って1次元配列aに全部入れて、
それからそれを2次元配列arrayに入れ直す、みたいに分けた方が
トラブルがなくていいと思うよ。
array = new Array(50);
for(var i = 0; i < 50; ++i) array[i] = new Array(4);
for(var i = 0; i < 200; ++i) array[Math.floor(i/4)][i%4] = a[i];
382 :
369 :2007/11/20(火) 09:32:03 ID:???
>>381 なるほど…そういう方法があったんですね。
文字列のまま、2次元配列に格納しようとばかり考えていたので、盲点でした。
大変参考になりました。ありがとうございます。
>>379 だから strg の中身はなんなのさ?
ループが終わってるんだから1番最後の文字列が入ってんのは当たり前だろうが
384 :
369 :2007/11/20(火) 09:50:11 ID:???
>>383 あ…そこまで書いていなかったですね…orz大事な部分なのに大変申し訳ないです。
strgには…まず、arryagに、クッキーに書き込まれている内容を全て、name(というより各情報ごとに)配列に入れています。
その配列の中で、クッキーにあるほしい情報が格納された配列のうち、nameがpart001=となっている
cookieの情報をnameを抜かして入れています。
strgの中身は、文字列%00文字列%00文字列%00文字列%00…文字列%00文字列となっています。
有効期限のデータは入っていません。以上のデータのみが格納されています。
385 :
Name_Not_Found :2007/11/20(火) 09:50:21 ID:JtpTWUCR
"r" + "s"の「+」をグローバル変数に置き換えることはできませんか?
やっぱJavaScript(R)というのは名前が致命的に悪いな(独り言
>>385 op = '+'; // or '-'
result = eval(r + op + s)
だが警告しておくが、そんなことをしたくなるのは
プログラムの設計がよっぽどヒドい場合だと思うぞ。普通ならせいぜい
op = function(x,y) { return x + y; } // or x - y
result = op(r, s)
くらいだと思う。
388 :
385 :2007/11/20(火) 19:31:20 ID:???
>>387 ありがとうございます。ちょっと邪道でしたが感謝です。
389 :
Name_Not_Found :2007/11/20(火) 22:29:53 ID:8RoMuJlN
>>389 > 上のページで定義しているclosure()の
> 〜
> メモリリーク問題に引っかかりますよね?
引っかからない。過去スレ52の674〜あたりを読め。
> あと、prototype.jsはメモリリーク問題に対応済みと思ってましたが、
> 〜
> やはり循環参照を引き起こしてますよね?
その時点では循環参照があるが、unloadに参照を切ってる。
もっとコードをよく読め。
prototype.jsの軽量化とぬかしリーク処理部分を削除する輩がいる件
392 :
大学生 :2007/11/20(火) 23:17:34 ID:ehVrxowy
まだプログラミングは授業で習い始めたばかりなので、あまり難しい式は 使わないです。たぶんいままで習ったものだけで作成させようとしてるみたいです。 今までならったのは、四則演算、数学関数(べき乗・切り上げ・切り下げ・四捨五入・絶対値・最大値・ 最小値・平方根)、最大公約数、、for(繰り返し)、==、if、else、new Arrayです。 どうかよろしくお願いします。 【 課題 】配列Aに2進数列を、たとえば、11011をnew Array(1,1,0,1,1)のように設定し、それを10進数に直すプログラムを書きなさい。 さらに、任意の10進数を2進数の列に直すプログラムを書きなさい。 【 形態 】1. Javaアプリケーション 【 GUI 】 制限なし よろしくお願いします。
熊のAA禁止の方向で
最大の疑問はここがWeb製作板だってことだな
先生!熊のAA、我慢できそうにありません!!
>>392 >・JavaScriptとJavaの違いを理解する者
と
>>1 にあるんだが、テンプレも読めなかったのか?
適当にヒントやるからスレ違いのJava系スレに帰れ
・2進数で1、10、100、1000、10000はそれぞれ10進数にすると?
・つまり、2進数でn桁目が1なら10進数にすると?
・それを配列のn番目の要素にあてはめると?
398 :
Name_Not_Found :2007/11/21(水) 02:02:53 ID:PtsaPKa1
画像の背景に流れ星を降らせるジャバスクリプトを探していますがみつかりません。 どうか教えてください。<(_ _)>
399 :
Name_Not_Found :2007/11/21(水) 02:03:57 ID:RBe/eytW
>>390 > 引っかからない。過去スレ52の674〜あたりを読め。
ありがとうございます。目からうろこでした。
なるほど、obj = null だけで循環しないようになるんですね。
> その時点では循環参照があるが、unloadに参照を切ってる。
> もっとコードをよく読め。
すいません、こっちがまだ解りません。もう少し教えてください。
unloadで呼ばれるのはdestroyCache()という関数だけのようですが、
これだけで循環が切れるカラクリが解りません。
3861| function destroyCache() {
3862| for (var id in cache)
3863| for (var eventName in cache[id])
3864| cache[id][eventName] = null;
3865| }
3868| window.attachEvent("onunload", destroyCache);
>>398 なんでJavascriptに固執するのかな?
FlashでAs組めば、画像もキレイだし★なんて簡単簡単
とかも流れ星も出せますよ
もっとコードをよく読め。
>>400 Falshのソフトもってないからです。
手軽にできるのもうれしいのでJavascriptを探しております
どうか教えてください。
つParaFla、MTASC
>>403 ありがとうございます。
さっそく勉強してみます。フリーソフトがあるなんて知りませんでした。
感激です。<(_ _)>
406 :
Name_Not_Found :2007/11/21(水) 10:04:16 ID:A6tQsAJy
テーブルのセルの背景をあちこちランダムにパチパチと色を変えてみたい のです。さぞかしきれいでしょうね。
>>406 別に難しいことはないから勉強したらいいんじゃないでしょうか。
tableにID振って
document.getElementById('ID名').rows[i].cells[j].style.backgroundColor = 色指定;
iとjと色をランダムに変えるというのを数百ミリ秒間隔で実行とか?
>>406 綺麗と思うのは、本人だけ。
ユーザーにとったらウザイ以外なにものでもない。
例)
カーソルを強制的に変えられる。
スクロールバーが不気味なデザイン。
Hello 192.168.0.1 さん!
409 :
406 :2007/11/21(水) 13:30:51 ID:???
>>407 なるほど。やってみます。ありがとうございました。
まあ作ってみたけどー。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> <script type="text/javascript"> var tbl; function init(){tbl = document.getElementById('t0'); setInterval(step,20);} function step() { tbl.rows[Math.floor(Math.random()*6)].cells[Math.floor(Math.random()*6)]. style.backgroundColor = 'rgb(' + (200+Math.floor(Math.random()*56)) + ',' + (200+Math.floor(Math.random()*56)) + ',' + (200+Math.floor(Math.random()*56)) + ')'; } </script> </head><body onload="init()"> <table id="t0"><tbody> <tr><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td></tr> <tr><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td></tr> <tr><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td></tr> <tr><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td></tr> <tr><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td></tr> <tr><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td></tr> </tbody></table> </body></html>
>>398 画像の背景に流れ星を降らせても
どうせ画像で隠れてしまって見えないから
やめておいたほうがいい。
>>411 そりゃ透明GIFとかなら全然問題ないはず。
正規表現のパターンが「基本+可変」の時に可変部分に変数使いたいのですがどうすればよいでしょうか? str.match(/xxxx +ary[0]+ /) のようにしたいのですが・・・。 RegExp.$n で受けたものをifなどで分岐させるしかないのかな?
>>398 流星のアニメGIF作ってCSSで背景指定すればいいんじゃね?
多分一番手っ取り早いよw
>>413 str.match(new RegExp('xxx' + ary[0]))
>>414 それなら元画像を背景に流星が流れるアニメGIFに…
>>415 CSSのほうが位置決めしやすいかなとw
邪魔になりにくい場所に固定したり、重ねを使えば綺麗に仕上がるかなとw
重ウザいページになりそうだけどなwww
<TABLE> 要素の innerHTML に行 "<TR>...</TR>" を連結しようとすると 操作が禁止されてるとか何とかではじかれるんだけど、ひょっとして出来ないの? (IE6)
>>417 と同じ感じで詰まってました
ボタンを押下時、TABLEを一行増やし、追加された行の中に
テキストボックスを追加する動作を望んで居りました。
取り敢えず、テキストボックスを追加することは出来たのですが、
そのテキストボックスのname属性は、IEでは
cell.appendChild(document.createElement('input'));
cell.name = "name" + no;
では追加出来ないと知りました。
document.createElement('<input name="aa">')
で、強制的に書けば、何とかname属性も与えられるとは解ったのですが、
name部分には「"name" + no変数」を与えたいのです。
何とか、追加したテキストボックスのname属性に変数を与えたいのですが
どの様にすれば良いでしょうか
>>420 IEではcreateElementでinput作るのが駄目(無理に避けるとIE専になる)。
inputを入れる箇所をdivで囲んでIDをつけ、
document.getElementById('ID名').innerHTML = '<input name=" + 変数 + ">';
みたいにinnerHTMLで突っ込む。
422 :
420 :2007/11/22(木) 12:08:35 ID:???
>>421 望んでいた動作を確認出来ました。
本当に有難う御座いました!
423 :
406 :2007/11/22(木) 14:38:24 ID:???
>>410 407さんに「できました」のお礼とご報告をと思いましたら、作って下
さったのですね。ありがとうございました!
407さんはじめ410さん、ありがとうございます。
リアルプレイヤーの音楽をHPのバックミュージックに使いたいのですが、どうやったらよいでしょうか? 教えてください。
バックミュージックとか迷惑なだけだから
>>425 プラグインとはどうやって作ればよいのでしょうか?
各ブラウザの公式サイトに書いてあるんじゃね?
面倒だな mp3とかに変換すりゃあいいじゃん
430 :
:2007/11/24(土) 02:48:31 ID:???
<button>タグについてですが、<button…>テキスト</button>で テキストに当たる部分の値を読み出す方法ってobj.childNodes[0].nodeValue 以外にありませんか?
document.body.innerHTML = ''; これを DOM で実現するにはどうすればいいのでしょうか
removeChild
?
with (document.body) while (hasChildNodes()) removeChild(firstChild)
435 :
Name_Not_Found :2007/11/24(土) 07:28:40 ID:pUJegQf1
質問です。 HTML部 <input name="hoge[]"・・・ <input name="hoge[]"・・・ <input name="hoge[]"・・・ JAVASCRIPT部 function test() { n = ??? alert("クリックされたのは" + n + "番目です"); } ↑のHTML部のように名前が配列化された部品があり、クリックされると test()が呼ばれるものとします。その際、onClick="test(1);"のように 明示的にIndexを指定せずとも、クリックされた部品のIndexを取得したいのですが、 可能でしょうか?thisを使えば何とかなるかもとも思ったのですが、 解決までには至っていません。ご存知の方がいらっしゃいましたら宜しくお願いします。
onclick="test(this)" test(obj) { alert(this.name) } 確認してねーが
437 :
Name_Not_Found :2007/11/24(土) 08:10:39 ID:pUJegQf1
>>436 レスありがとうございます。早速やってみましたが、
どの部品を押しても「num[]」と出てしまい、期待した動作ではありませんでした。。
また、this.nameの箇所をthis.indexにもしてみましたが、その場合は
「undefined」と出てしまいました。
引き続き、宜しくお願いいたします。
>>437 >どの部品を押しても「num[]」と出てしまい、
って、本当にどの input の name にも "num[]" って入れてたのかい
それは単なる文字列だから配列にも何にもなってないよ
num1 num2 num3 って連番で name を入れるか、
上から順に連番の name を付けていく処理をしないと
あと DOM で無理矢理って手もあるが汎用性がなぁ
>>439 連休の朝から釣りか?
サーバー(たとえばPHP)が配列化する。
var i; var currentTarget = ???;//event.currentTarget, this, etc. //JavaScript1.6 i = Array.indexOf( document.getElementsByName('hoge[]'), currentTarget ); //DOM-Level-3-XPath i = document.evaluate( 'count(preceding::*[@name="hoge[]"])', currentTarget, document.createNSResolver(currentTarget), XPathResult.NUMBER_TYPE, null ).numberValue;
>>442 完璧に期待通りの動作をしました。
ありがとうございます。
>>434 お、with がメソッドまたはプロパティ探索をジグザグしない典型例だな。
//DOM-Level-2-Range
var range = document.createRange();
range.selectNodeContents(document.body);
range.deleteContents();// 保持:var documentFragment = range.extractContents();
range.detach();
//WinIE(JScript)
document.body.applyElement(document.createElement('div'), 'inside').removeNode(true);
446 :
Name_Not_Found :2007/11/24(土) 12:35:37 ID:4znaP5Jz
ウィンドウが×ボタンで閉じられたときにイベントは発生しますか?
>>446 概念的には発生すると思うけど、速攻でプログラム全部止められて
しまうので何らかの動作をする余裕はまったく無いと思われ。
448 :
Name_Not_Found :2007/11/24(土) 16:07:19 ID:M+6/oCOD
テーブルの幅をドラッグで変えるにはどうすればいいでしょうか? 教えてください
>>448 mousedragハンドラの中で現在位置を調べてそれに応じて幅を変える。
原理的にはそういうことだ。まあがんばって。
450 :
Name_Not_Found :2007/11/24(土) 16:45:29 ID:M+6/oCOD
>>449 なるほど。がんばってみます!ありがとうございます
ついでにもう一ついいでしょうか
ためしにテーブルを作ってみたのですが、普通に作るとドラッグできなかったです
ドラッグできるようにするにはどう作ればいいでしょうか?
初歩的な質問かもしれないですがよろしくおねがいします
>>450 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
#t0 { width: 200px }
#d0 { width: 20px;height:20px;position:absolute;top:0px;left:210px;background:blue }
</style>
<script type="text/javascript">
var div, tbl, drag = false;
function init(){
tbl = document.getElementById('t0');div = document.getElementById('d0');
if(div.addEventListener) {
div.addEventListener('mousedown', fdown, true); div.addEventListener('mouseup', fup, true);
div.addEventListener('mouseout', fup, true); div.addEventListener('mousemove', fdrag1, true);
} else if(div.attachEvent) {
div.attachEvent('onmousedown', fdown); div.attachEvent('onmouseup', fup);
div.attachEvent('onmouseout', fup); div.attachEvent('onmousemove', fdrag2);
}
}
function fdown() { drag = true; }
function fup() { drag = false; }
function fdrag1(e) {if(!drag)return; var w = e.pageX-20; tbl.style.width = w + 'px'; div.style.left = (w+10)+'px';}
function fdrag2() {if(!drag)return; var w = event.clientX-20; tbl.style.width = w + 'px'; div.style.left = (w+10)+'px';}
</script>
</head><body onload="init()"><div id="d0"></div>
<table border="2" id="t0"><tbody>
<tr><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td></tr>
</tbody></table></body></html>
452 :
Name_Not_Found :2007/11/24(土) 17:03:22 ID:M+6/oCOD
>>451 なんか全然ソースの意味がわからないけどSUGEEE1!
ありがとうございます。なんとかこれをもとに作ってみたいと思います!!
453 :
Name_Not_Found :2007/11/26(月) 00:13:05 ID:XvcH45OF
>>442 のをJAVASCRIPT1.5以下で動かすことはできますか?
>>453 自分でArray.indexOfを実装すればできる。
テンプレからたどっていけばアルゴリズムも載ってるし。
html5 html5 html5 ><
456 :
Name_Not_Found :2007/11/26(月) 02:49:33 ID:XvcH45OF
>>454 アルゴリズムが探し出せません。。
ヒントください
459 :
Name_Not_Found :2007/11/26(月) 05:18:27 ID:XvcH45OF
>>457 を実装した上で
>>442 を使ってみましたが、
IE6ではエラーが出てしまい駄目でした
Firefoxでは正常に動作するのでコードがおかしいというわけでなく、
Array.indexOfでコケているようです
Array.prototype.indexOfは定義したけどArray.indexOfは定義してないに3dent
461 :
Name_Not_Found :2007/11/26(月) 07:12:00 ID:XvcH45OF
>>460 仰る通り、参照ページのコピペをしたので
Array.indexOfにしていませんでした(恥
変えてみたところエラーは出なくなったのですが、やはりFirefoxでは
期待通り動く箇所がIEでは動いてくれませんでした。
Array.indexOfの結果が常に-1が返してくるので、検索が上手くいっていないようです。
>>457 で代替したものでは
>>442 のようなオブジェクトの検索はやれないんでしょうか??
>>462 のライブラリだと document.createNSResolver() が無いので、この引数は null 決め打ちだな。
464 :
Name_Not_Found :2007/11/26(月) 07:35:23 ID:XvcH45OF
465 :
大学生 :2007/11/26(月) 07:52:14 ID:RiVmHjzc
var a; document.write(undefined); var G=new Array({name:"taro",age:33},{name:"hanako",age:20},{name:"yoko",age:35},{name:"pokemon",age:12}); var size=G.length; var i; var key=20; for(i=0;i<size;i=i+1){ if(key>=G[i].age){ document.write(G[i].name,"<br>"); break; } } 上記のデータを元に、年齢に相当するkeyをプロンプトにより与え、その年齢以下の名前すべてを 印刷するプログラムを書きなさい。なお、存在しないときは、undefinedを表示すること。 どうかよろしくお願いします。
466 :
大学生 :2007/11/26(月) 07:52:51 ID:RiVmHjzc
var a; document.write(undefined); var G=new Array({name:"taro",age:33},{name:"hanako",age:20},{name:"yoko",age:35},{name:"pokemon",age:12}); var size=G.length; var i; var key=20; for(i=0;i<size;i=i+1){ if(key>=G[i].age){ document.write(G[i].name,"<br>"); break; } } 上記のデータを元に、年齢に相当するkeyをプロンプトにより与え、その年齢以下の名前すべてを 印刷するプログラムを書きなさい。なお、存在しないときは、undefinedを表示すること。 どうかよろしくお願いします。
ここは
>>1 にあるように自分で勉強する人のためのスレ。
で、具体的にどういう勉強をしてて何が分からないのかな。
全部書いてくれというのは断るから。
>>442 Array.indexOfがそういう風に機能する事ってMDCに載ってます?
探しても見つからなす・・・
470 :
Name_Not_Found :2007/11/26(月) 15:04:24 ID:gbAo6XsS
Firefoxで foo.bar と書くところを間違えて foo..bar と書いたら 「TypeError: XML descendants internal method called on incompatible Object」 って出たんだけどこれ何?
>>469 ES4への流れというか、ES4による後付けの正当化。
>>470 テンプレ外部リンクにあるE4X。
>>461 Array.prototype.indexOfをArray.indexOfに書き換えただけで
引数とかthisとかはまったく書き換えてないに30ペセタ。
>>462 名前空間を扱えないXPathには魅力がないな。
まぁDOM3-XPath自体が微妙な仕様(つかW3C WG Note止まり)なんだが。
ITERATOR_TYPEもちゃんと実装されてないのかな。
474 :
Name_Not_Found :2007/11/26(月) 17:11:10 ID:M+dxbs7N
indexページに多数のJPGサムネールを表示させ、 それをクリックでLightBoxにて拡大って事をやっているのですが サムネイルの画像が多すぎて読み込むまでに時間が掛かります。 出来ればサムネイル読み込み時にNow Loadingみたいなのを表示させたいのですが、 技術的に可能でしょうか?ASは多少使えますがjavaは全然使えません・・・。 宜しくお願いします。
そもそもindexページに大量のサムネイルを置くことが迷惑
DOM XPathはノード探索にXPathが使えること以外に 何もいいところがない
>>474 どうしてもJavaScriptでやりたいのね。
他に簡単な方法あるけど。というか普通はみんなそうするんだけどさ
>>477 ノード探索にXPathが使えること以外のDOM XPathの機能って何さ
>>474 イメージにonLoad設定して画像を読み込む度に進行度に+1するとか
>>479 XPathデータモデルとDOMデータモデルを相互変換するのがDOM3-XPath。
だが目的が壮大な割には全てにおいて中途半端なのは否めない。
XPath2の扱いをどうするかで仕様策定がストップしてしまったからな。
実用面から見れば、名前空間接頭辞と生きたNodeListを扱えるMSXMLのselectNodes()の方がマシとも言える。
483 :
469 :2007/11/26(月) 20:50:51 ID:???
484 :
Name_Not_Found :2007/11/26(月) 21:09:24 ID:gbAo6XsS
>>483 MDCにはStringとargumentsの例示しか載っていない。
だからこそ、HTMLCollectionやNodeListへの使用を疑問視したのではなかったのか。
>>476 Stringに対しては古いES3に対する一つの新たな独自解だろう。
ES3はメソッドとして語っているから、例えば、破壊的なshift()などがStringにも求められているはずだ。
argumentsに関しては、NN4時代のArguments:Arrayな実装の代替のように感じられる。
現在の
・lengthプロパティ
・[数字 or 数値(数字にキャスト)]
を持つオブジェクト一般にまで適用できる実装には拠り所がない。
だからES4で明確に正当化しているのではないかと思われる。
>>486 サンプルコードこそargumentsと文字列だけだけど、
Core JavaScript 1.5 Guideの本文中にはNodeListも
"objects ... look and behave like arrays"の
例としてして挙げられてるよ。それじゃダメ?
> オブジェクト一般にまで適用できる実装には拠り所がない。
Array.prototype.joinなんかにかに関していえば、ES3でも
「汎用的」であること、つまり { 0 : 'hoge', 1 : 'hage', length : 2 } といった
「配列のような」オブジェクトにも適用できることが明記されてるよね。
ただしそれが保障されてるのはネイティブオブジェクトに
対してのみで、ホストオブジェクトに関しては実装依存だ。
だから、Array.joinが「配列のような」ネイティブオブジェクトに
適用できるというのは、考え方としては十分正当性のあるものだと思う。
でも、FirefoxでArray.joinが「配列のような」ホストオブジェクトに
適用できるというのは「そういう実装になってるから」としか
言いようがないし、ES4でもホストオブジェクトに適用できるかは
実装依存のままじゃないかなと個人的には思ってる。
488 :
Name_Not_Found :2007/11/27(火) 11:19:36 ID:LNhWadf1
ブラウザの「表示→ズーム→%指定」をJavaScriptですることは可能ですか? もし可能でしたら良ければ教えていただけるとうれしいです。
490 :
Name_Not_Found :2007/11/27(火) 13:54:11 ID:LNhWadf1
ありがとうございます。 JavaScriptで 「<body onLoad="alert('aaa');">」 と書いたのですが、ページを開いてもアラートが表示されません。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> で作っているのですが・・・。 適当なサイトのJavaScriptは正常に動きます
491 :
Name_Not_Found :2007/11/27(火) 13:55:11 ID:LNhWadf1
ちなみにブラウザはIE7でテストしています
ページを削っていってできるようになった時に削ったとこが悪者。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> </head><body onload="alert('aaa')"> <h1>test</h1> </body></html>
493 :
Name_Not_Found :2007/11/27(火) 18:01:53 ID:n0OGryg/
494 :
Name_Not_Found :2007/11/27(火) 20:01:46 ID:iejjtXk2
javascriptについての質問です(↓のサイトを参考にしてます)
http://www5e.biglobe.ne.jp/~access_r/hp/javascript/js_010.html 2007年11月27日 19:17:37と表示されるローカルの現在時刻を
Tue, 27 Nov 2007 10:17:37とUTCから引っ張ってきたように表示させたいです
4段目を改変するのが良いかと思ったのですが上手くいきません・・・
function MTime(){
var date = new Date();
//曜日
//日
//月
//年
var hour = date.getHours(); //時間
var min = date.getMinutes(); //分
var sec = date.getSeconds(); //秒
//曜日に関するif文
//日に関するif文
//月に関するif文
//年に関するif文
if(min < 10){min = "0" + min;}
if(sec < 10){sec = "0" + sec;}
var time4 = hour + ":" + min + ":" + sec;
document.F1.T4.value = time4;
setTimeout(MTime, 1000);
}
宜しくお願いします
ほんとにテンプレのリンク先読んだのか? Dateオブジェクトのメソッドにそのまんまのヤツがあるから探せ
>>493 <ruby>関連要素を使えるようにして、アルファベットで読みを付加する。
HTMLで簡易的にやろうとするなら、title属性を使う。
時間制限を付けて、それが終わるまで次のページに行けないようにしたんだけど、 それを他人が、時間制限無視して次のページに行ったりする事って出来る? って、文章だけで伝えるのって難しい・・・
飛び先の URL が固定なら直接入力すりゃいいだろ。 そういのはサーバ側で防御しないと無理。
500 :
Name_Not_Found :2007/11/28(水) 19:27:03 ID:Eb7oE4Sr
('^ิ ౪ ^ิ)
>>498 ユーザサイドでの制限なら、いくらでも突破可能
>>499 も言ってるけどサーバ側で一定時間たたないと拒否とかしないと、知識のないやつにしか効かん
502 :
Name_Not_Found :2007/11/28(水) 23:51:55 ID:g+3w4u7o
チャットを作っています。 テキストフィールドを子フレームに送信すると、 テキストフィールドが消えずにそのまま子フレームにテキストが送信されます。 発言したらテキストフィールドの値を消そうと、 発言ボタンに「Clean()」 function Clean() { document.getElementById('text').value = ""; } のように、発言するとフィールドの値が消えるようにしてみました。 ですが、こうすると発言すると同時に値が消え、テキストが子フレームに渡りません。 (空のテキストが送信されてしまいます。) 送信されてから削除したいのですが、どうすれば良いのでしょうか。 子フレームから親フレームのdocument.getElementById(・・・).value = ""; を指定することはできるのでしょうか?
503 :
Name_Not_Found :2007/11/29(木) 00:03:49 ID:ptz9b1Da
まず、フレームを使うなと。
504 :
Name_Not_Found :2007/11/29(木) 00:05:32 ID:MSe2AKj/
>>503 いや、フレームを使ったチャットが作りたいのです
ブラウザゲーの一部にはめ込む感じのチャットなので・・・
つか POST したら勝手にリロードする(させる)と思うんだが
>>502 1. iframe 側の onload で親フレームの入力値を消すスクリプトを走らす。
2. フォームを post した 0.5〜1 秒後に入力値を消すようにタイマーを仕掛ける。
507 :
Name_Not_Found :2007/11/29(木) 01:30:21 ID:MSe2AKj/
>>505 フレームです。
>>506 1を試してみようと思ったのですが、親フレームの指定方法がわかりません。
↓現在の記述
document._top.getElementById('text').value = "";
どのように指定すれば良いのでしょうか
window.parent で親フレームになるんじゃないのか。
509 :
Name_Not_Found :2007/11/29(木) 02:10:10 ID:MSe2AKj/
うーん window.perent.document.getElementById('text').value = ""; と記述してみましたが、リロード時にクリアになりません。 上記にalertを書くとアラートは正常に表示されるので スクリプトは実行されているはずなのですが・・・
510 :
Name_Not_Found :2007/11/29(木) 02:14:19 ID:MSe2AKj/
・・・perentじゃなくてparentにすれば解決しましたorz ありがとうございました
511 :
ただの初心者 :2007/11/29(木) 15:08:14 ID:EaIlXv0s
金儲けの手伝いさせたいんなら金払って聞くべきなんじゃねーの? ってぼかぁ思うんですけど間違ってますかね あとここじゃなくPerlのスレで聞くべきだと思うんですけどね value.cgiのContent-type: text/plane; charset=shift_jisとか &jcode::convert(\$form{'value'}, 'sjis') あたり直せば?
513 :
ただの初心者 :2007/11/29(木) 16:14:36 ID:EaIlXv0s
Perlのスレで書くべきですよね。すいません。 またヒントありがとうございました。 でも・わからん・・・
いいなーこんなとこで聞かなきゃいけない程度の知識で金もらえるんですよ? すばらしい職場ですね。 うらやましいです。
質問です。 よく最近のWeb2.0と呼ばれるタイプのサイトで、 斜めの線や自由に回転出来る長方形など、 本来HTMLでは表現できない表現を行っているサイトを見かけます。 それらがFlashで実装されているならわかりやすいのですが、 Flashでないことも多々あるようです。 この場合、IEならVMLを使っているんだろうと想像できますが FirefoxやOpera、Safariなどではどのように実装しているのでしょうか? わかる方、よろしくお願いします。
516 :
ただの初心者 :2007/11/29(木) 17:05:13 ID:EaIlXv0s
今日仕事休みなので聞いているのですが、簡単でしたら教えてください!
>>515 そのサイトも教えずに我々に超能力を発揮しろと言うのですか
VMLときたらSVGじゃねーの?
_______ __ // ̄~`i ゝ `l | / / ,______ ,_____ ________ | | ____ TM | | ___ // ̄ヽヽ // ̄ヽヽ (( ̄)) | | // ̄_>> \ヽ、 |l | | | | | | | | ``( (. .| | | | ~~ `、二===-' ` ===' ' ` ===' ' // ̄ヽヽ .|__ゝ ヽ二='' ヽヽ___// 日本 ウェブ 画像 ニュース 地図 グループ more >>  ̄ ̄ ̄  ̄ ̄  ̄ ̄ ̄ ̄  ̄ ̄  ̄ ̄ ̄ ̄  ̄ ̄ ̄ ._________________ |Perl 文字コード .│検索オプション └────────────────┘表示設定 _______________ 言語ツール | Google検索 | I'm Feeling Lucky |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ○ウェブ全体から検索 ◎日本語のページを検索 広告掲載 - ビジネス ソリューション - Google について - 人材募集 - Google.com in English  ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ c2007 Google
質問です。 <TABLE> の onclick イベントで、クリックされた <TD> の行番号と列番号を取得するにはどうすればよいでしょうか?
TDに行番号と列番号入れたID振っておくとか previousSiblingがnullを返すまで繰り返した回数を数えるとか
rowIndexとかないっけ?
524 :
Name_Not_Found :2007/11/30(金) 03:10:27 ID:otPXWJV4
現在表示のページをフレームに入れるブックマークレットを作ろうとしてます。 フレームには問題なく入るのですが、表示したいページにアクセスしっぱなしになります。 全体をvoid()で囲っても変わりません。 何が原因なのでしょうか? エラー出力されないのでわからないです。 (別サイト扱いなら表示自体されない気もしますが…) ソース(1行) javascript:var l=location.href;var t=document.title;document.write("<frameset rows='35,*' border='1'><frame name='menu'><frame name='main'></frameset>");document.title=t;top.main.location.href=l; ソース(改行版) javascript: var l=location.href; var t=document.title; document.write("<frameset rows='35,*' border='1'><frame name='menu'><frame name='main'></frameset>"); document.title=t; top.main.location.href=l; 現在のページをmainフレームに入れてます。titleなし、menuフレームページを初期設定しても同じです。 Firefox2.0.0.10のエラーコンソールではJSのエラーは出てません。
document.close()
526 :
524 :2007/11/30(金) 03:31:46 ID:???
>>525 ああありがとうございます。m(_ _)m
上手く行きました。
HTMLベタ書きの時は何もせずdocument.writeしてたので初見でしたw
"aaa" bbb "cc ccc" dd ddddd を aaa bbb cc ccc dd ddddd と"も考慮して配列に分けるライブラリってかサンプルを教えてください
意味が分からん
529 :
困った>_< :2007/11/30(金) 20:36:07 ID:DQs/pApT
こんにちは。 お忙しいところ申し訳ありませんが、初歩的な質問をさせてください。 @ジャバスクリプトで時間が00〜23までの範囲のみOKというチェックを いれたいのですが、00とあるとどうやって比較していったらいいのかわかりません。 parseIntしたら0になってしまうし、01も1になってしまうしで、、、 Aジャバスクリプトで整数のみOKのチェックの仕方がわかりません。 ネットとかにありそうなもので、いろいろ探したのですが 探し方が悪いのかでてきません。 以上、初心者の質問で申し訳ありませんが、 教えてください、、お願いします。
00って数値じゃなくて、文字列じゃないの?
>>528 すみません
えーっと、コマンドラインのパラメーターってあるじゃないですか
そのパラメーターが"aaa" bbb "cc ccc" dd dddddみたいな"で括ってるのと括ってないのが混ざっていても
正しく配列に分解したいのですが、どうすればよいのでしょうか
って事です
パラメーターの数が可変なんで正規表現でギチギチに固めることも出来なくて
533 :
困った>_< :2007/11/30(金) 21:40:06 ID:DQs/pApT
>530さん そうです、、文字列ですが、時間(24時間)に使っているので、画面側では文字列扱いになっています。 でもジャバスクリプトで00〜23までの範囲のみOKのようなチェックをしたい場合は 数字に変換して比較しなくてはいけないかな、、と思いまして。。。 とても初心者の考えで申し訳ありません。。
>>531 たとえば、
str.match(/(?:".+?"|\S+)/g)
戻り値が配列。
あ、()はいらないね。すいません。 str.match(/".+?"|\S+/g)
>>529 0-9時は00-09と2桁で入力しなければいけないということ?
なら文字列としてもチェックしなきゃ。
if (/^(?:[0-1][0-9]|2[0-3])$/.test(str))
とか
var n = parseInt(str);
if (/^[0-9]{2}$/.test(str) && 0 <= n && n <= 23)
とか
537 :
困った>_< :2007/11/30(金) 22:22:06 ID:DQs/pApT
>536さん 画面で時間というテキストがあり 00〜23までを手入力可能です。 そしてそれは文字列扱いです。 そのproperty(たとえばaaaa)をジャバスクリプトで 00〜23までの間に本当に入っているかのチェックをしたいのです。 なので、1時は01,2時は02みたいな感じです。
>>529 A
(自分自身)から(自分自身を切り捨てした物)を引いて0になれば整数
こんなやり方も
if(a==~~a){
//整数ですよ
} else {
//整数じゃないですよ
}
>>531 あ、それ俺も欲しい。"aaa bbb"が1つの文字列として扱われ、且つ他の部分と別扱いされるヤツ。
「'func("文字列は\"でくくる")'」 の最初と最後の「"」だけエスケープ処理したいとか、
「str = "コメントは\"//\"で表示"; // コメント「//」は改行まで。」でコメントだけ削除とか。
正規表現で出来るの?
>>537 まずRegExpでマッチさせて数字2桁であることをチェックし、
一旦数字2桁であると確認できたら、あとは文字列比較で
'00' 以上 '23' 以下、で調べればよい。これら全ての
チェックを通る文字列はあなたが求めているもの以外にないでしょ?
>>527 仕様に不明確なところがある。
aaa"bbb" ddd
とかはどうするの。
>>539 動かしてないけどこんな感じ。
var ret = new Array();
str.replace(/"((?:\\.|[^"])*)"|([^ ]*)/g, function(s0,s1,s2){
ret.push( s1?s1.replace(/\\(.)/g, QQUnescape):s2 );
});
function QQUnescape(s0, s1){
swich(s1){
case '"': case '\\':
return s1;
//「\n」の展開とかするなら case 'n': return "\n";
default: return s0;
}
}
「\」の扱いは言語によって違うけど、無条件で消えていいなら
内側のreplaceのコールバック部分は"$1"で済む。
ダブルクオートがひとつ見つかったら後ろからひとつ検索すればいい /(?<!\\)"/ index と lastIndex が重なれば終了
>>542 スレ違い。
JavaScriptもJScriptも
(?<=…)
(?<!…)
(?>…)
は組み込まれていない。
なんだってー
どういうコードになるか分からんが、どのみち"\\"このパターンでコケそうだな
>>497 レス遅れて申し訳ないです。
再度コード見直してみたらソートの比較関数呼び出してるところあったので
そこを弄ったらきっちりソート出来ました。
547 :
Name_Not_Found :2007/12/03(月) 13:50:03 ID:OFTBTLf0
<input type="text" />に入力されている文字列の長さ(offsetWidthのような)を知るにはどのようにしたら良いのでしょうか?
549 :
Name_Not_Found :2007/12/03(月) 14:15:45 ID:OFTBTLf0
すみません。私の文章力不足でした。 文字列の文字数の数ではなく、普通のエレメントで取得できる offsetWidth や clientWidth のようなpxでの長さのことです。
>>549 visibility:hiddenでdivなりspanなりつくってoffsetWidthはかれば?
551 :
Name_Not_Found :2007/12/03(月) 17:49:10 ID:jjvi5ZbE
>>550 inputの中と外とで幅が同じとは限らない希ガス
552 :
:2007/12/03(月) 17:53:43 ID:???
Arrayを継承したクラスを作るにはfor-inでコピーすることはできず、 個別にメンバ、メソッドをコピーするしかありませんか?
553 :
こんにちは :2007/12/03(月) 17:54:22 ID:qu3rF4dh
こんにちわ。 ひとつお聞きしたいのですが、 現在金額計算を行っています。 テキストエリアが1,000などの場合、 ジャバスクリプトで値をGETしてきたら 1,000になってそれをつかって足したり引いたり した場合にparseIntすると値が1になってしまい計算がうまくいきません。 なんとかこのコンマを除去していく方法を教えていただけませんでしょうか・・・ お願いいたします。
eval最強伝説
こんにちは なのか こんにちわ なのか はっきりしたら教えてやる
質問失礼します。 javascriptを用いて、ページにリンクを貼りたいと思っています。 現在、以下のように書きましたが、ページの遷移が起こりません。 document.write("開始" .link("C:\mid\mid.html")); 開始、という部分をクリックすると、画面が真っ白になってしまいます…。 解決策を教えていただけないでしょうか?
557 :
:2007/12/03(月) 18:28:13 ID:???
>>553 var a = 100;
var b = "1,000,000";
a += eval(b.replace(/,/g,""));
alert(a);
558 :
こんにちは :2007/12/03(月) 18:36:39 ID:qu3rF4dh
こんにちは、、です、、すいません、、 >554,557 ありがとうございます、やってみます!
>>556 テンプレのFAQ
>>3 Q4/A4は読んだのかね?
>>557 阿呆か。質問者がparseIntって言ってるだろ。
parseInt(b.replace(/,/g, ''))
入力をそのままeval()するとか恐ろしいこと教えるなって。
>>551 テキストエリア内のフォントから何からきっちり設定すれば
まあ同じになるんじゃないかな
getBoundingClientRect()
562 :
:2007/12/03(月) 20:16:40 ID:???
>>559 うほっ、マジで知らなかったわw(^ω^;)。
eval("document.title = 'test'");
>>552 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<pre><script type="text/javascript">
function Test() { }
Test.prototype = new Array();
var x = new Test();
x.push(1); x.push(2); x.push(3);
document.writeln(x.join());
</script></pre>
</body></html>
>>563 alert(x.length); // 0 on IE
565 :
Name_Not_Found :2007/12/03(月) 21:57:24 ID:GAWpeXfR
特定のページ 例えばヤフーファイナンス等から 前日の株価の終値の数値を取得して 自分のホームページにそのデータを動的に反映させる 方法はないでしょうか?
サーバーサイドプログラムでやりましょう
テキストエリア等の内容がユーザーからの入力で変更した瞬間に特定の関数を呼び出したいのですが (onChangeはフォーカスが外れないと評価されないのでダメ) どうするのがスマートでしょうか? 今のところテキストエリアにフォーカスがあたったらsetIntervalを使って中身をチェックする関数を 繰り返し実行する(当然フォーカスが外れたらclearIntervalする)というのを考えているんですが どうも頭悪い気がしてなりません 良い方法があったら教えてください
>>567 それかonmouseupでチェックするかどっちかだと思うな。
>>565 あっちこっちで同じ質問をしないように。
するなら1つにしぼりましょう。
570 :
Name_Not_Found :2007/12/03(月) 22:52:26 ID:e+LTDIQL
どちらかというと onkeyup だと思うが 日本語入力時に問題が出るかもねえ
特別にフックしたい場合などを除けば onkeypress
573 :
:2007/12/04(火) 16:47:07 ID:???
>>563-564 トン!でけた。
function Test(number){
this.Array_push = this.push;
this.push = TestPush;
for(var i = 0; i < number; i++) this.Array_push(0);
this.member1 = 25;
}
function TestPush(number){
this.member1 += 100;
return this.Array_push(number);
}
Test.prototype = new Array();
Test.prototype.shuffle = function(){
return this.member1;
}
function test_Test(){
var t = new Test(10);
alert(t.length);
alert(t.push(5));
alert(t[10]);
alert(t.pop());
alert(t.shuffle());
}
test_Test();
>>573 alert(t.length); // IE6 は常に 0
575 :
Name_Not_Found :2007/12/04(火) 21:45:33 ID:v/5s44dM
ファンクションキーの押下をjavascript側で補足して色々と利用したいのですが、 使ってはまずいファンクションキーはありますでしょうか?(IE限定) 自分が実際に押下して調べたかぎりだと、 --------------- × F1 ヘルプ × F2 × F3 検索 × F4 アドレス履歴 × F5 再読込 △ F6 アドレス入力。onKeyPressでは補足できない。onKeyDownで補足後、return falseでデフォルトの動きは抑制できる。 ○ F7 ○ F8 ○ F9 × F10 メニュー × F11 全画面 ○ F12 --------------- このようになっていて、押下しても差し障りないキーは F7, F8, F9, F12 で条件付きで F6 かなという感じになりました。 このファンクションキーは使用しないほうがいいよ とかありますでしょうか?
慣例的に F1 はヘルプに F3 は検索に使うことが多いってだけで 各ファンクションキーをどんな機能に割り当ててもいいんです 逆に言うと ファンクションキーになんらかの機能が割り当られているかどうかは アプリケーションごとに異なっているおそれがあるので この場合 対象とするすべてのブラウザで実際に試すほかないと思います
577 :
Name_Not_Found :2007/12/05(水) 00:02:16 ID:HG1LPGwO
>>576 ありがとうございます。
対象となるブラウザで実際に全部試してみます。
ふと思ったんだけど A という名前のウィンドウが既に開いてたら閉じるときって window.open("about@blank", "A").close() で良いのかな? 名前からウィンドウの オブジェクトって取れないよね?
>>578 window.open()で取るのが正解。第一引数はnullか空文字列かだった
ような気がするけど。
580 :
Name_Not_Found :2007/12/05(水) 01:23:41 ID:5pA77tyt
jsファイルに以下の関数を用意しています。 function getdata(data) { for(i=0; i<data.length; i++) case[count][i]=data[i] count++ } caseとcountはグローバル変数で、関数を呼び出すたびに行が増えていくようにしました。 htmlファイルの方では <head><script type="text/javascript" src="q.js"></script></head> <body>中略 <script language="JavaScript"> <!-- getdata(Array('a','b')); --> </script> </body> この様に記述しています。が、うまく動作してくれていない様なのですがどこに問題があるのでしょうか? alertを使ってcase[0][0]を表示させてみようとするとNullまたはオブジェクトでない、と怒られてしまいます。 低レベルな質問であろうと思いますが、宜しくご教示下さい。お願いします。
ほう、caseとな
フォームに書かれた 文字を HTMLの中で検索して その場所を表示する <HTML> <A href="C:\Documents and Settings\bbs\デスクトップ\ディレクトリ登録.xls">ディレクトリ登録</A> <A href="C:\Documents and Settings\bbs\デスクトップ\sss.html">sss</A> <A href="C:\Documents and Settings\bbs\デスクトップ\システム登録3.doc">システム登録3</A> こんな感じになっている中から検索で文字を探して フォームに "システム” 入れると リンク先を表示する.... って どうやればいいのか リンク先の書かれているHTMLから文字を検索には どんな命令文がありますか 教えてください
583 :
580 :2007/12/05(水) 08:06:54 ID:5pA77tyt
>581 すみません、変数名適当に書いてしまいましたが実際のソースでは変数名に予約文字?は使っていません
>>583 実際に問題が起きているコードそのもの(もちろん全部では長い
だろうから最小限に縮小して、なおかつ問題がある奴)を見ないと
何ともいえないね。だが、一番怪しいのはそのグローバル変数
caseがちゃんと2次元配列の形になってるかどうかだと思うけどね。
>>582 アンタの考えている仕様が曖昧すぎて答えようがないよな。
そのフォームと探す対象のHTMLは同じHTMLファイルにあるの?
見つけたものをどういう形で表示するの?たとえばその内容を
含む1行とかだと、全部が長い1行になってるHTMLファイルも
あるわけで、じゃ全部見せればいいのかという話になるわけだが。
で、どうやって見せるの。alertダイアログでいいのかとか。
自分の注文がいかにいい加減か思い知れ。
586 :
Name_Not_Found :2007/12/05(水) 15:24:13 ID:a+dzfto7
動的に生成したデータをJSだけで左クリックダウンロードさせたいです 具体的にはCSV形式のデータを生成し、保存ダイアログを表示させて ダウンロードさせたいのですが・・・ よろしくお願いします
587 :
Name_Not_Found :2007/12/05(水) 15:34:50 ID:HG1LPGwO
以下のように、.submit()をしたときに <form> の onsubmit が動かないのですが、 なぜなのでしょうか? IE, Firefox, Operaで試して全部動かないので動かないのが正しいのだろうと 思いますが、onsubmit は submit 時に動くものだと理解していたのですが間 違っていますでしょうか? <form action="none.html" onsubmit="alert('onsubmit'); return false"> <input type="text" id="input" /> </form> <script type="text/javascript"> document.getElementById('input').form.submit(); </script>
>>586 「どこで」データを生成するの?ブラウザ上でJavaScriptで生成
するのなら、それを窓とかに表示して自分で保存さすとかしか
ないと思うけどなー。サーバ側で生成するならその生成コードの
返すMIMEタイプ次第でしょ。
>>587 ロードしてる途中にsubmit()がいけないのでは?全部表示し
終わったあとでそのinputに何か入れてEnterしたらalert出ない?
589 :
586 :2007/12/05(水) 16:48:57 ID:a+dzfto7
>>588 失礼、ブラウザ上で、です
矢張り無理ですか〜
Firefox等では出来たんですがIEでは中々事例も見つからず
>>589 また RFC2616 19.5.1 Content-Disposition の話か?
591 :
Name_Not_Found :2007/12/05(水) 18:28:51 ID:HG1LPGwO
>>588 ロード後に何か入れてsubmitする形にしてみましたが、同じようです。
<form action="dummy.html" onsubmit="alert('onsubmit'); return false">
<input type="text" name="test" id="input" />
</form>
<script type="text/javascript">
setTimeout(function(){
var io = document.getElementById('input');
io.value = 'aiueo';
setTimeout(function(){ io.form.submit(); }, 3000);
}, 1000);
</script>
594 :
Name_Not_Found :2007/12/06(木) 01:57:15 ID:bmMbMOtS
>>593 ありがとうございます。初見な関数ですのでちょっと調べて試してみました。
私のやり方が間違っているのかもしれませんが、onsubmitは動きますが、
form の onsubmit にtrueを返した場合に、
<form action="dummy.html" onsubmit="return true">
actionに飛んでくれません。
596 :
Name_Not_Found :2007/12/06(木) 17:31:56 ID:dhm2auD1
下記の例ですが IE で toString が呼び出されないのは何故ですか? function Test() { this.value = 'xxx'; } Test.prototype.toString = function() { return this.value; }; alert(new Test());
呼び出されてるやん・・・
質問です。 javascriptを用いて、htmlのbody内に記述してあるものを、遅らせて表示させたいのですが、どうすればいいでしょうか? bodyタグ内に、onLoad、settimeoutを用いる事でページ読み込み時から時間を空けてから処理を行えばいい…と考えていますが 処理の内容をどうしていいかが解りません。 解決策をご教授いただければ幸いですm(__)m
>>599 javascript sleep でぐぐってみ
setTimeout(function(){document.body.innerHTML="bodyの内容"}, 時間);
>>599 webデザなんだが
目的は何のためなんだ?
素早く表示させるように俺らは
必死扱いて無駄タグ省いてるってのに・・・ワケワカメ
>>600 ググってみましたが、自分が欲しい、といえるものを見つける事ができませんでした…。
しかし、javascriptにはsleepという命令はないのですね。知識を得ることができました。
>>601 その一文は、<body onLoad=>で使うものでよろしいでしょうか?
そうなると…innerHTMLのbodyの内容、となっていますが、かなり膨大な量になってしまうため、タグがかなり長くなってしまいます。
しかし、どうなるかまだ試していませんので、実行してからまた書き込みをさせていただきます。
>>602 目的は…友人と少し変わったwebページを作成することになりまして、表示を遅らせたらどうなるかな?
と思い立ち、表示を遅らせようと試みた次第です。
そんなもん表示/非表示を切り替えれば済む話だろう
605 :
Name_Not_Found :2007/12/07(金) 04:49:49 ID:FdaabxFR
すみません教えて下さい。 input type="button"タグのonmouseoverに記述して枠線のあるboxを マウス位置からの絶対値で出力したいんですが、スタイルに出力する記述が上手くいきません。 一から自分で書けるスキルはなく、拝借したものを組み合わせようとしています。 まず、 document.captureEvents(Event.MOUSEMOVE);〜 などでマウス位置を取得して function disp(x, y) { mx = x; my = y; } などとして、x, yの位置を、 function Ex(ID){ if (ブラウザ=="N6") myRet=document.getElementById(myID).style; などから X=x+25; Y=y+25; として function Style(){ Style=document.write('position:absolute; right:'+X+' top'+Y+'; z-index:3;'); } function Ex2( ID ) { myDisp(myID,"visible"+Style); } 〜以下略〜 などと書いたら全然ダメでした。 テンプレに「ムダに全部書くな」といった旨がありましたので端折って書きましたが これで伝わったかも自信ありません。 どうかよろしくお願いします。
>>605 めちゃくちゃすぎてアドバイスしようがないな。
まともな入門書を買って1冊ゆっくり読むことをすすめる。
IEでウィンドウの位置とサイズを取得することはできないのでしょうか。 moveTo(x, y)やresizeTo(w, h)で値を指定することはできるのですが、 現在の値を得るにはどうするのでしょうか。
bodyのサイズで・・・
>>609 >>610 が言う通り body の大きさを図って変数に入れて、resizeTo して変更前と後で大きさを比べて
計算して元の大きさに戻す
ってやってみた時期があったけどレイアウトが一度崩れるから正確には計れなかった
つ |iiiiliiii|iiiiliiii|iiiiliiii|iiiiliiii|iiiiliiii|iiiiliiii|iiiiliiii|iiiiliiii|iiiiliiii|iiiiliiii| . 0 1 2 3 4 &5 6 7 8 9 &10
テキストボックスにAのボタンを押すとAが入力され、Bのボタンを押すとBの が入力されるスクリプトを作るにはどうすればいいでしょうか?
次の質問どうぞ
クロージャのメリットがわかりません グローバル変数を使った方が遥かに簡単に感じます クロージャの素晴らしさや便利さを説くための例などありませんか
>>615 じゃあこれをクロージャ使わないで書いてみない? (innerHTMLもなしね)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function f(n) { return function() { alert(n); }; }
function init() {
var e = document.getElementById('d0');
for(var i = 0; i < 100; ++i) {
var b = document.createElement('button');
b.appendChild(document.createTextNode(String(i)));
b.onclick = f(i); e.appendChild(b);
}
}
</script>
</head><body onload="init()">
<div id="d0"></div>
</body></html>
619 :
Name_Not_Found :2007/12/07(金) 20:09:33 ID:LouJTiC6
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> <script type="text/javascript"> function f(n) { return function() { alert(n); }; } function init() { var e = document.getElementById('d0'); for(var i = 0; i < 100; ++i) { var b = document.createElement('button'); b.appendChild(document.createTextNode(String(i))); b.onclick = f(i); e.appendChild(b); } } </script> </head><body onload="init()"> <div id="d0"></div> </body></html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"><html><head><title>sex!</title></head><body onload="alert('sex!')"/></html>
<html/>
変なの書いてごめんなさい。降参します・・・。
addEventListener('load', { ID:'d0', SUP:100, CALLBACK:function (i) {alert(i);}, add:function (buttons, button) {return buttons[buttons.length] = button;}, onclick:function (e) { this.CALLBACK(Array.indexOf(this.BUTTONS, e.currentTarget)); }, handleEvent:function () { const BUTTONS = []; const SUP = this.SUP; const DIV = document.getElementById(this.ID); const add = this.add; for (var i = 0; i < SUP; i++) { add(BUTTONS, DIV .appendChild(document.createElement('button')) .appendChild(document.createTextNode(i)) .parentNode) .addEventListener('click', this, false); } this.BUTTONS = BUTTONS; this.handleEvent = this.onclick; delete this.ID; delete this.SUP; delete this.add; delete this.onclick; } }, false);
>>624 ボタンの番号とalertで出力する番号が対応してない場合は
どうするの。いや別に書かなくても方針だけ聞かせてくれれば。
誘導されて来ました、質問させて下さい マウスの位置によってリストの表示、非表示をしたく下記のようにしてみたのですがうまくいきません どうやらオンマウスで表示させようとしてもうまくいってないようなのですが原因がつかめず困惑しております 願わくば解決方法を教えていただきたいのですがよろしくお願いします <div id="menu"> <h2 onmouseover="document.getElementByID('pop01').style.visibility='visible'" onmouseout="document.getElementByID('pop01').style.visibility='hidden'"> <a href="index.html">目次</a></h2> <ul id="pop01" onmouseover="this.style.visibility='visible'" onmouseout="this.style.visibility='hidden'"> <li><a href="side.html">1</a></li> <li><a href="side.html">2</a></li> </ul> </div>
>>627 一体何がやりたいのか分からないんだが、とりあえず
getElementById
~~
>>628 一応組み方は本に書いてあるやつなんですけどやっぱりif文とかで組むべきなのでしょうか?
ちなみに上記のように試したらうまくいきました
有難う御座いました
>>629 どこにどうif文を使うっていうんだ。方針を説明してみなよ。
>>626 要するに、初期化時に任意の値を保持するには、ということだろう。
ユーザー設定部を
CALLBACK:function (i) {alert(this.VALUES[i]);},
createValue:function (i) {return this.VALUES[i] = Math.floor(i * Math.random());},
VALUES:[],
のようにして、初期化時の処理を
for (........) {this.createValue(i);.............}
のようにすればよい。
ところで、そもそも論を言えば次の指摘がある。
1. clickはバブルするイベントタイプなので一番外側で待てばよい(外人どもがevent delegationという言葉で語っている方法)。
2. onclick=関数名(または関数式)、という方法を取らざるを得ないブラウザは現在は実質的に存在しないから、忘れてよい方法である。
3. 使う値全てを初期化時に保持した方が効果的である場合を除いて、基本的に、必要に応じて求めればよい。
例えば、100個のボタンのうち数個しかクリックされない場合、初期化処理はほぼ無駄になる。
具体的にはイベントオブジェクト1個の引数に問い合わせる基本姿勢を貫けば良いのだが、
意外と難しく感じるようで、引数を要素オブジェクトや文字列(ID属性値)を渡す方向に流れるのが常だ。
だから、いじる部分はCALLBACKという名前のメソッドを用意したが、本来これは必要なくて、
onclickという名前で用意したメソッドだけで自由に中身を書け、と言うべきなのかもしれない。
イベントオブジェクトへの問い合わせに慣れれば、所謂event delegationをすらすら書けるようになる(だろうと思う)。
>>615 変数(または引数)のスコープが関数定義位置で決まる。
そして所謂スコープチェインで変数は探索される。
これは慣れれば空気のようなものであり、変数束縛だクロージャだという共通語は空気という名詞と相似であるとも言える。
裏を返せば、重要なのは、スコープチェインを理解する(理解を空気へと昇華させる)こと。
以上は、『On Lisp』の受け売りまたは独自解釈である。
その空気のメリットと言われても困るが、例えば、
function global() {return this;}
を使うグローバル関数が x, y の2つだけだと決定しているなら、globalをグローバルで定義するよりは、
次のようにした方が「気分的に」すっきりするかもしれない。
var x, y;
(function (global) {
x = function (...) {/* var lobby = global(); なんとかかんとか */};
y = function (...) {/* var lobby = global(); なんとかかんとか */};
})(function () {return this;});
クロージャが避けられない決定的な状況で真っ先に思いつくのは、
MSXMLのXMLHTTPの「似非イベントプロパティ」だ。
名前がonで始まるからイベントプロパティ(MS風にはイベントオブジェクトと呼ばれる)かと勘違いするかもしれないが、そうではない(なかった)。
attachEvent()など当然ないから、イベントオブジェクト引数問い合わせは使えない。
関数(関数式)割り当て時のレシーバを関数本体でthisによって参照することも不可能だ(不可能だった)。
これは素直にクロージャを使うべき例である。
難しいんだが。
>>631 いや、だから、ボタンの順序と表示すべき数の対応が
計算で求まらないときはどうするのかなと思っただけなんだけど。
635 :
Name_Not_Found :2007/12/08(土) 12:15:32 ID:mMimD0m1
クロージャは並大抵の苦労じゃ理解できない
636 :
Name_Not_Found :2007/12/08(土) 14:04:53 ID:Ffii9buT
l⌒l │ | /⌒) │ | / / │ | ./⌒) / (⌒ヽ、 / / / ⌒ヽ グワシ !! `ヽ `ソ ./ / / / .\ .丶ノ .ヽノ ヽ、 ノ `
>>632 後半についてなんだけど、
xmlhttp.onreadystatechange = function() {
…
};
ってやると循環参照ができてメモリリークするじゃない
どうやって回避してる ?
最後に参照切ればいいだけじゃね
>>634 番号がずれて困るようなものは、それこそHTML側にidでもclassでも持たせるべきだろ
うーん、あんまりそのことのためにHTML側を増やしたい気は しないけど、まあ作る人の選択だなー。 では、バラバラに持たせたいものが「番号」のような文字列に なるものではなくJavaScript側の一般のオブジェクトの場合は?
IEはJavaScript 1.3なので1.3の解説サイトを探しているのですが、見つかりません。 ここのテンプレも1.5のリンクしかありません。 IEを見捨てて1.5を勉強するべきなのでしょうか?
IEはJavaScriptじゃないお
>>641 IEのJScriptもだいたいECMA-262 ed.3に準拠してることに
なってるから。だから皆ECMAを参照してるんでしょ。
__proto__もないIEがJavaScript 1.xと申したか。 テンプレにJScript 5.6があるだろうが。
あと、イベントリスナーもないね。
>>646 それは言語の問題じゃなくDOM準拠の問題だから。
>>648 そんなファイルだれが解凍して見るんだ・・・
なんの罠ファイルだ?
>>649 ウイルススキャン済みのhtmlのみを入れたファイルをうpしてます。
解答してソースを見てもらえれば罠ではない事は分かると思いますが…
htmlをうpできるろだが見つけられなかったので(´・ω・`)
簡単なものなので、ソースを直に書いてみます。 <HTML> <HEAD> <TITLE> JavaScriptを使ったForm入力について </TITLE> </HEAD> <BODY> <TABLE BORDER="1" CELLPADDING="2" BGCOLOR="#C0FFEA" STYLE="font-size:11pt;"> <TR> <TD> <SELECT NAME="適当な"> <OPTION SELECTED>▼選択して下さい <OPTION VALUE="12000">12000 <OPTION VALUE="8500">8500 <OPTION VALUE="6500">6500 </SELECT> </TD> <TD WIDTH="200"> <INPUT NAME="適当な" TYPE="text" SIZE="12"> </TD> </TR> <TR> <TD COLSPAN="2"> OPTION項目で選んだVALUE値がTYPE="text"の領域に入力されるようにしたいんです </TD> </TR> </TABLE> </BODY> </HTML>
>>651 一番工夫のないのはこんなだな
<script type="text/javascript">
function displayValue(){
document.forms["form1"].elements["text1"].value=document.forms["form1"].elements["select1"].value;
}
</script>
<form name="form1">
<select name="select1" onchange="displayValue()">
<option selected>▼選択して下さい </option>
<option value="12000">12000 </option>
<option value="8500">8500 </option>
<option value="6500">6500 </option>
</select><br>
<input name="text1" type="text" size="12">
</form>
>>653 動作確認しました、本当にありがとうございました!
>>651 <SELECT NAME="適当な">
↓
<SELECT NAME="適当な" onChange="javascript:document.getElementsByTagName('input').item(0).value=this.value">
うーん、スマートじゃないな
document.addEventListener('change', function ({ target: t }) { if (t instanceof HTMLSelectElement && t.name == '\u9069\u5f53\u306a') { let d = t.ownerDocument, r = d.createNSResolver(d.documentElement), y = XPathResult.FIRST_ORDERED_NODE_TYPE; d.evaluate('descendant::*[@name="\u9069\u5f53\u306a"][2]', d, r, y, null).singleNodeValue.setAttribute('value', t.value); } }, false);
watch ってかなり楽しそうだけど IE という存在のせいで使えないよな
IEではselectイベントタイプはバブルしないから、<select onchange="処理"> という書き方が最も現実的だ。
658 changeイベントタイプ
660 :
605 :2007/12/09(日) 10:07:31 ID:???
>>605 です。
すみません。質問しといてしばらく覗けませんでした。
>>606 一体、どの辺がムチャクチャなのでしょうか?
>>607 >十年前
macIE5で動作できなければいけないんです。
・function dispのパラメタにどうやってマウス位置が入るのか疑問 ・ExのパラメタがIDでgetElementByIdに渡しているのがmyID ・大文字のX、Yと小文字のx、yは別の変数だがいいのか ・関数名とグローバル変数名を同一にすると干渉するがいいのか ・document.write()は値を返さないぞボケ ・document.write()したらページ真っ白に。テンプレに書いてあるぞボケ! ・Ex2のパラメタもIDでmyDispに渡すのはmyIDかよ とにかくあんた向いてないよ。テンプレ読めない奴は2度とくるな。
662 :
Name_Not_Found :2007/12/09(日) 23:00:02 ID:XHxRM1ct
∧_∧ ( ´・ω・) //\ ̄ ̄旦\ // ※\___\ <ブウッ! ブッブッ メリメリメリ! \\ ※ ※ ※ ヽ ∧_∧ (´・ω・`) ミが出たわぁ //\ ̄ ̄旦\ // ※\___\ \\ ※ ※ ※ ヽ ∧_∧ ( ´・ω・) とりあえず最後まで出そうかしらぁ…… //\ ̄ ̄旦\ // ※\___\ <ブリュリュリュリュッ ブニュッニュニュッ \\ ※ ※ ※ ヽ チョロロロロロ・・
663 :
605 :2007/12/10(月) 02:20:00 ID:???
>661 ありがとう! テンプレが理解すらできてなかったことが良くわかりました。 時間ができて書き直せたら迷惑でしょうがまた来させて下さい。 ってか、ほんとにありがとう。
664 :
:2007/12/10(月) 20:37:40 ID:???
<input type="button" name="hello" value="hello">のheightを スタイルで設定しない時の デフォルトのheightってどうすればわかりますか? alert(document.hello.style.height)してもundefinedって返されて。
<form><input size="20" type="text"></form> <script type="text/javascript"> var inputs = document.getElementsByTagName("input"); alert(document.defaultView.getComputedStyle(inputs[inputs.length-1], null).getPropertyValue("height")); </script>
>>664 FQA
>>4 のQ10/A10を10回音読しろ。そして立ち去って2度と来るな。
667 :
Name_Not_Found :2007/12/10(月) 23:34:09 ID:lfK/wSwU
>>664 clientHeightやoffsetHeightはどうかな
668 :
:2007/12/11(火) 00:06:54 ID:???
>>665 とりあえず、サンクス!
>>667 >offsetHeight
でいけた!ベリーサンクス!(b^ー゚)。
669 :
Name_Not_Found :2007/12/11(火) 01:03:44 ID:9WZBAj80
質問です。 JavaScriptではCのようにポインタでの演算できますか?
「Cのように」って具体的にはどのように?
おれは17歳でCは済ませた
672 :
Name_Not_Found :2007/12/11(火) 05:36:45 ID:DDUkeMjp
最近javascriptをはじめた者です。
メインウインドウをコントローラーとして、サブウインドウを切り替える、印刷する。
というプログラムを組んでいるのですが、
切り替えはできましたが、URLが切り替わると印刷ができません。
どうやればきちんと切り替わったサブウインドウを印刷することができるでしょうか??
<html>
<head>
<title>sample</title>
<script type="text/JavaScript"><!--
subWin = window.open("sub.html","sub","width=640,height=480");
function setParentWinURL()
{
subWin.location.href = '
http://ja.wikipedia.org/wiki/%E7%89%B9%E5%88%A5:Random ';
//document.write(window.name);
}
function pprint()
{
subWin.print();
}
// --></script>
</head>
<body>
<form>
<input type="button" value="切り替え" onClick="setParentWinURL()"><br>
<input type="button" value="印刷" onClick="pprint()"><br>
</form>
</body>
</html>
すみません質問させて下さい。 ラジオボタンのチェックをクリアするjavascriptで、 クリアボタンではなく、もう一度ラジオボタンにチェックすれば チェックが消えるような動作にしたいと思っています。 onclickをradioに設置すると、onclickが常に働いてクリックできない(?) 動作になってしまい、上手く動きません。 ご教授下さい。 <html> <head> <title></title> <script type="text/javascript" language="JavaScript"> <!-- function clear_rb(){ for(i=0;i<document.form1.rb1.length;i++){ document.form1.rb1[i].checked=false; } } // --> </script> </head> <body> <form name="form1"> <input type="radio" name="rb1" value="">選択肢1<br> <input type="radio" name="rb1" value="">選択肢2<br> <input type="button" onclick="clear_rb()" value="クリア">
>>672 FAQ
>>2 のQ1/A1は読んだのかね。テンプレ読めない奴は帰れ。
>>673 日本語が不自由なんでやりたいことがよく読み取れないが、
<input type="radio" ... onclick="this.checked=!this.checked">
こういうことかな。試してないけど。
>>673 checkboxにしちゃうという選択肢はない?
>>673 <script type="text/javascript">
function cb(n) {
for (var i = 0; i < 3; i++) {
if (n != i) document.getElementById("cb" + i).checked = false;
}
}
</script>
<input type="checkbox" id="cb0" onclick="cb(0)">
<input type="checkbox" id="cb1" onclick="cb(1)">
<input type="checkbox" id="cb2" onclick="cb(2)">
>>673 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var btnno = 0;
function f(b,n) {
if(n == btnno) { b.checked = false; btnno = -1; }
else { btnno = n; }
}
</script>
</head><body>
<form action="#" onsubmit="return false"><div>
<input type="radio" name="r0" onclick="f(this,0)" checked>
<input type="radio" name="r0" onclick="f(this,1)">
<input type="radio" name="r0" onclick="f(this,2)">
<input type="radio" name="r0" onclick="f(this,3)">
</div></form></body></html>
679 :
Name_Not_Found :2007/12/11(火) 22:48:16 ID:T815zwp3
すみません質問です。 複数画像ファイルが入っている特定フォルダから更新日が一番最新のファイルを 探して表示させたいのですが出来ますでしょうか? 尚、ファイル形式は不定です。 教えてください。 宜しくお願いします。
できません
681 :
Name_Not_Found :2007/12/11(火) 23:12:03 ID:T815zwp3
>680 ありがとう御座います。 条件を変えてもダメでしょうか? ファイル形式を統一するとか・・・。
鯖側でやるのが吉
>>679 ローカルファイルならWSHスレへ行けばいいのでは。
鯖内だったら無理だな。そもそも更新日時がJavaScript
では取れない可能性が大。
XHRでも使ってLast-modifiedを見りゃいい。 ファイル名を知っていることが前提だが。
>ファイル形式を統一するとか と言っているのだから、少なくともURIは全て分かっているわけだろ。 つまり、未知のサイトにある画像一覧をメクラ打ちしているわけではないことになる。 だったら、Last-Modifiedレスポンスヘッダーを出力していれば、できなくはない。 しかし、あまりに遠回り過ぎるがな。 URIの一覧をJSに渡せるなら、mtimeの一覧も渡せるわけだから。
その画像全てが一つのディレクトリにまとめられている(かのようにURIにマッピングされている)とすれば、 ディレクトリインデックスを出力させて、そのHTMLを取得すれば、軽量にできるな。 Apacheなら、 ?C=M;O=D というURIクエリで新しい順にソートされて出てくる(と期待される)。
いつも楽しく拝見してます 同一ページの下部に設置し、下のようなソースで簡易テキストナビを ブログに設置しています。 <h4><a>記事タイトル1</a></h4> <h4><a>記事タイトル2</a></h4> <script type="text/javascript"> <!-- var uli = document.getElementsByTagName('h4'); var length = uli.length; for (var i = 0; i < length; i++) { var txt = ""; txt += uli[i].innerHTML; document.write(txt+"<br>");} //--> </script> これを同一ドメイン(自ブログ内)の別ページのH4も同様な方法により javascriptで取得させ非同期的に表示させたいのですが、ローカルにいったん落としてやるとか も考えましたがそれは非効率な気がしますし、RSSフィードもトップページの新着記事以外は 取得できないそうです。などなど、色々検索してみましたが 有用なメソッドが見つからなかったので質問です。 私がやりたい処理はjavascriptで可能でしょうか、可能でしたら方法を 教えていただけるとありがたいです。
>>687 その別ページのURIが分かってるのならXMLHttpRequestで
取って来て加工すりゃいいんじゃないの。
689 :
687 :2007/12/12(水) 20:19:46 ID:???
>>688 さん
ありがとうござます。
教えていただいたXMLHttpRequestでやってみます。
690 :
大学生 :2007/12/12(水) 23:54:44 ID:LIbChI/n
関数のコードを利用することで、年齢と名前を、年齢の小さい順に出力するプログラムを 作りたいのですが、エラーがでてうまくできません。 以下のプログラムでどこが間違っているのか、指摘していただきたいです。 <script> function bsort(A){ var i, size=A.length; for (i=0; i<size; i=i+1){ for (j=size-1; j>i; j=j-1){ if (A[j-1].age >A[j].age){ /*小さい順に並び替え*/ x = A[j-1] ; A[j-1] = A[j] ; A[j] = x; /* 入れ替え */ } var i; var A=new Array({name:"taro",age:33},{name:"hanako",age:20},{name:"yoko",age:35},{name:"pokemon",age:12}); bsort(A); for(i=0; i<A.length; i=i+1){ document.write("名前=",A[i].name, "年齢=",A[i].age,"<br>"); } </script>
>>690 何でデバッグしてるか知らないけど
IE のステータスバーに黄色い三角が表示されてるでしょ?
それをダブルクリックしてごらんよ
ていうか メチャクチャだろw
「{」の数と「}」の数が同じでない。
あ…ありのまま 今 起こった事を話すぜ! IEだけエラーを吐くもんだから試しにDebugBarを入れたんだ そしたらエラーが出なくなった な… 何を言ってるのか わからねーと思うが おれも何が起こったのかわからなかった…
bsortってbogosortの略称かね
んなわけないだろ。名付けるなら入替過多低速挿入ソートだな。
//JavaScript1.8 document.write( Array.join((function (arrayLike, age, cmp, s) Array.map(Array.sort(Array.map(arrayLike, age), cmp), s))( A, function (o) { const age = new Number(o.age); age.o = o; return age; }, function (a, b) a - b, function ({o:{name:name, age:age}}) '名前=' + name + '年齢=' + age), '<br>')); 配列A次第ではこちらの方が速いかもな。メモリー喰いだが。
698 :
:2007/12/13(木) 17:05:04 ID:???
>>690 つhxxp://www.javascriptlint.com/online_lint.php
700 :
Name_Not_Found :2007/12/14(金) 09:08:18 ID:M8xJAbS4
8bisの単キャラたとえば「a」は文字列と呼べますか。複数連結文字列のみ が文字*列*ですか。2byte単キャラたとえば「あ」は文字列と呼べますか。
function Show(){ var menuobject = document.getElementById("popup"); menuobject.style.left = 75 + "px"; menuobject.style.top = 15 + "px"; menuobject.innerHTML = '<p>testtext</p>'; menuobject.style.display = "block"; } function Hide(){ var menuobject = document.getElementById("popup"); menuobject.style.display = "none"; } <div id="popup" style="position: absolute; display: none;"></div> <p><a href="#" onclick="Show()">テスト</a></p> <div onmouseout="Hide()"><p>line1</p><p>line2</p></div> アンカーをクリックしてtesttextを表示させた後にline1に触れ、次にline2に触れようとすると testtextが消えてしまいます。IE6.0とfx2.0共に同じ動きでした。 div要素にカーソルがある内はonmouseoutを適用させたくないのですが どのようにすれば解決できるでしょうか?
>>702 function Hide(){
var menuobject = document.getElementById("popup");
//追加
var div;
if (window.event) {
div = event.fromElement;
while (!div['on' + event.type]) {
div = div.parentElement;
}
if (event.toElement && div.contains(event.toElement)) {
return;
}
} else {
try {
div = arguments.callee.caller[0].currentTarget;
if (arguments.callee.caller[0].relatedTarget
&& (arguments.callee.caller[0].relatedTarget == div ||
0 < (8 &
arguments.callee.caller[0].relatedTarget
.compareDocumentPosition(div)))) {
return;
}
} catch (ex) {
}
}
//追加終わり
menuobject.style.display = "none";
}
おお、答えそのものをありがとうございます。 もしよろしければ後学のために簡単な解説も頂けるとありがたいです。
>>704 DOM-Level-2-(Core|HTML)までで書ける部分を残してある(空のcatch節)。
向学心があるなら、そこを自分で加筆して使え。
一つ決めておいて良いルールは、イベント処理では、イベントオブジェクトを引数にとるように関数を作れ。
そうすれば、callerなどというレガシープロパティを引きずり出す必要はなかった。
わかりました。 javascriptにtry-catchを使えることも知らなかったくらいなので これを参考に考えてみます。
<form> <fieldset id="AddFiled"> <fieldset> <label> <input type="text" class="text" name="" id="" value="" /> </label> <label> <input type="text" class="text" name="" id="" value="" /> </label> </fieldset> <fieldset> <label> <input type="text" class="text" name="" id="" value="" /> </label> <label> <input type="text" class="text" name="" id="" value="" /> </label> </fieldset> </fieldset> </form> <INPUT TYPE="button" VALUE="行追加" onclick="addRow()">
↑の続き <script language="JavaScript"> function addRow() { var inp = document.getElementById("AddFiled").firstChild; if (!inp.tagName) { inp = document.getElementById("AddFiled"); } var fieldset = document.createElement("fieldset"); var label1 = document.createElement("label"); var property1 = document.createElement("input"); property1.setAttribute("type","text"); property1.setAttribute("class","text"); property1.setAttribute("name",""); property1.setAttribute("value",""); label1.appendChild(property1); var label2 = document.createElement("label"); var property2 = document.createElement("input"); property2.setAttribute("type","text"); property2.setAttribute("class","text"); property2.setAttribute("name",""); property2.setAttribute("value",""); label2.appendChild(property2); fieldset.appendChild(label1); fieldset.appendChild(label2); inp.appendChild(fieldset); } </script> これでinputの行を追加しようとしているのですがFirefoxでは最後の行から追加されるにもかかわらず IE6だと2行目から追加されてしまいます。どなたか原因はわからないでしょうか? よろしくお願いします。
>>708 > var inp = document.getElementById("AddFiled").firstChild;
> if (!inp.tagName) {
> inp = document.getElementById("AddFiled");
> }
これはどんな意図で書いたのかな。
MozではfirstChildがElementでなくText Nodeだからじゃん?
710 :
Name_Not_Found :2007/12/14(金) 22:17:29 ID:meEK+eyA
WEBプログラム板に書いてしまったのですが、板違いのスレッドだと 気付いたのでこちらでも質問させてください。 下記のようなプログラムを作ったのですが、valに値が戻ってきません。 どうにかonComplete処理内の変数をreturnさせたいのですが、 その方法がわかりません。初歩的なことだと思うのですが、 どうやったら値を戻せるでしょうか?よろしくお願いします。 val = hoge(url); function hoge(url) { var xml; new Ajax.Request(url, { method: 'get', onComplete: function(request) { xml = 何らかの処理(request); } }); return xml; }
>>710 Ajax.Requestってきっと非同期型でしょ。
どうしてもreturnしたいなら同期型でやる。
>>711 なるほど、非同期だからですか。
言われてみればもっともな気がしました。
ありがとうございました。
>>709 javascriptは今日初めて触れたので少々戸惑いましたが無事解決できました。
参考プログラムから作ったのでfirstChildの意味を知りませんでした。。
ありがとうございました。
>>710 ちょっと危険だけどwhileでxmlに値が入るまで待つとか
ねぇ、PHP全盛の時代に なんでJSなんて必死で守ってるわけ? 意味ワカンネw
2点 次はがんばりましょう
こういうお遊びはPHPだとどう書くのかな。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> <script type="text/javascript"> function rnd(n) { return Math.floor(Math.random()*n); } function step() { document.getElementById('t0').rows[rnd(4)].cells[rnd(4)].style.backgroundColor = 'rgb(' + rnd(256) + ',' + rnd(256) + ',' + rnd(256) + ')'; } </script> </head><body onload="setInterval(step,200)"> <table border="2" id="t0"><tbody> <tr><th>□</th><th>□</th><th>□</th><th>□</th></tr> <tr><th>□</th><th>□</th><th>□</th><th>□</th></tr> <tr><th>□</th><th>□</th><th>□</th><th>□</th></tr> <tr><th>□</th><th>□</th><th>□</th><th>□</th></tr> </tbody></table></body></html>
>>717 こう書きます
<?php
$width = 4; $height = 4; $total = $width * $height;
function randomRGB(){
$code = mt_rand(0,255);
return $code < 16 ? "0" . dechex($code) : dechex($code);
}
$cell = array();
foreach($_GET as $key => $color){ $cell[$key] = $color; }
$cell[mt_rand(1,$total) - 1] = randomRGB() . randomRGB() . randomRGB();
$reflesh_url = array();
foreach($cell as $key => $color){ array_push($reflesh_url,$key . "=" .$color); }
$reflesh_url = implode("&",$reflesh_url);
?>
<html><head>
<meta http-equiv="refresh" content="2;url=<?php echo $_SERVER['PHP_SELF'] . "?" . $reflesh_url;?>" /><body><table border="1">
<?php
$html = "";$key = 0;
for($i = 0; $i < $height; $i++){
$html .= "<tr>";
for($j = 0; $j < $width; $j++){
if($cell[$key]){$html .= '<td style="background : #' . $cell[$key] . '">□</td>';}
else{$html .= "<td>□</td>";}
$key++;
}
$html .= "</tr>";
}
echo $html;
?></table></body></html>
久しぶりにPHP書いたら、めんどくさすぎてワロタw
>>718 スレ違い甚だしい。気でも狂ってんのか?
>>718 スゲー!
いるんだなこういうできる人って。
わざわざ PHP を宣伝しに来る馬鹿のほうがよっぽど浮いてるけどな
document.body.innerHTML=''; もしくは同じようなDOM操作でメモリリークを解消できますか?
726 :
Name_Not_Found :2007/12/15(土) 21:03:04 ID:piOjSUrS
インタプリタの実装がまともなら何をしてもメモリリークはしないはず
>>726 もちろんIEの場合のみです・・・
こんな簡単な方法で解消できるとは思いませんが、もしやと思いまして
>>727 古いマシンがないから試せないが、解消できそうな気がするね。
しかし、あまりに根本的過ぎて、参照した要素オブジェクトがスクリプトから見えなくなってしまうよね(笑)
>>728 試したいのですが、確認できるほどの大きなリークを起こすにはどうすればいいのでしょうか
>>725 まあ普通に考えればリークするでしょうな。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>Memory Leaks in IE</title>
</head>
<body>
<script type="text/javascript">
function createLeakableElement() {
var div = document.createElement('div');
div.attachEvent('click', function(){ alert(div); });
return div;
}
window.onload = function () {
var i = 10000;
while (i--) document.body.appendChild(createLeakableElement());
setTimeout(function(){ document.body.innerHTML = ''; }, 3000);
};
</script>
</body>
</html>
onclick
732 :
Name_Not_Found :2007/12/16(日) 16:04:08 ID:w8jzKhUg
質問です tagNameプロパティは読取専用とのことですが、何らかの方法でtagNameを 変更することは可能でしょうか? 具体的には、例えば条件によって <img src="...を <embed src="... に 変えたいのです。 よろしくお願いします。
要素を入れ替えればよい
734 :
Name_Not_Found :2007/12/16(日) 18:08:27 ID:w8jzKhUg
replaceChild?
ここでAjaxのことを聞くのはスレ違い?
おk
Ajaxで表示したページ内にJavaスクリプトいれると動作しないのだけどこれは何故? いろいろ調べて試してみたんだが、どれもだめだった。 画像をランダムに表示させるような簡単なスクリプトなんだが。
状況がよく分からんが、ページの表示方法がinnerHTMLなら<script>は動作しなかったはず
>>738 うまく行かないと言われてもアンタが何やってるか分からないんでねえ。
たとえばAjaxで持って来たHTMLをinnerHTMLで突っ込む文字列の中に
<script>...</script>が埋めてあるとか?それは確かに動作しないものらしい。
>>739-740 そうだったのか・・・。動作しないんじゃどうしようもないなぁ。
ありがとうございますた。
>>741 だからさあ、一緒に埋めるんじゃなくHTMLとJavaScriptを分けて
取ってJavaScriptの方はeval()すればいいんじゃね?
フレームを使い、一方のフレームにローカルのHTML、他方にWeb上のHTMLを表示し、 ローカルのHTML中のJavaScriptからWebのHTMLをDOMを用いて取得・操作したいのですが、 uncaught exception: Permission denied to get property HTMLDocument.getElementsByTagName というエラーが出てしまいます。 特権の問題かと思ったのですが、UniversalBrowserRead・UniversalBrowserWrite を与えても変わりませんでした。 どうすればいいのでしょうか。
>>744 FAQ
>>2 のQ1/A1を嫁。FAQの先頭だぞ!! テンプレ読めない奴は2度とくるな!!!
すいませんでした
ありのままに今起こったことを話すぜ IEで elem.childNodes.length == 1 なのに elem.firstChild != elem.lastChild になっていた 何を言っているの皮からねーと思うが俺も何をされたのかさっぱりだった
>>747 そういうのをbugというのでは。再現するコードきぼん。
function checkValue(){ var kennmei = document.form1.kennmei.value; switch(kennmei){ case 1: alert("東京が選択されました"); break; case 2: alert("大阪が選択されました"); break; case 3: alert("京都が選択されました"); break; default: alert("選択されていません"); break; } } <form name="form1" action=""> <select name="kennmei"> <option value="1">東京</option> <option value="2">大阪</option> <option value="3">京都</option> </select> <input type="button" value="確認" onclick="checkValue()" /> </form> switchの使い方で質問です。上記のソースで、どれを選択しても defaultのケースが実行されます。 分岐させるためには、どう記述すればいいのでしょうか。
>>750 ありがとうございます。
助かりました。
>>749 みたいなとき
<option value=1>にするのと
JavaScriptで代入するときに数値化するのとどっちがいい?
755 :
747 :2007/12/17(月) 15:44:06 ID:???
elem.innerHTML = '<b><i></b></i>'; alert(elem.childNodes.length); alert(elem.firstChild != elem.lastChild);
>>755 validでないHTMLを与えたら何が起きても不思議じゃない。
そんなもの扱うプログラム書いても無意味でしょ。
757 :
Name_Not_Found :2007/12/17(月) 17:24:11 ID:wnBe26og
<html> <head> <title></title> </head> <body> <form> 下のボタンを押すと、背景と文字の色が変わります。<br> <input type="button" value="背景が青で文字が黄色" onClick="document.bgColor='blue'" onClick="document.fgColor='#ffff00'"> <br> <input type="button" value="背景が黒で文字が赤" onClick="document.bgColor='blue'" onClick="document.fgColor='#ff0000'"> </form> </body> </html> 一つめのボタンを押して青しか反映されないんですけど どう間違っているんでしょうか。
onclick が二つある
759 :
Name_Not_Found :2007/12/17(月) 17:33:53 ID:wnBe26og
>>758 有難うございます。
一つにまとめて書く方法が解らないんです。。
ぐぐって調べてるんですけど・・
>>2 Q3/A3
そういや、テンプレではQ3もA3って書いてあるね。
761 :
Name_Not_Found :2007/12/17(月) 17:56:42 ID:wnBe26og
>>760 セミコロンですか。
解決しました有難うございます。
762 :
Name_Not_Found :2007/12/17(月) 17:59:38 ID:wnBe26og
<html> <head> <title></title> </head> <body> <script type ="text/javascript"> <!-- var score = prompt("成績は?",""); if (score != null && score % 1 == 0){ if(score >= 0 && score <= 49){ alert("追試!"); document.write("Dランクです。"); }else if(score >= 50 && score <= 69){ alert("追試!"); document.write("Cランクです。"); }else if(score >= 70 && score <= 85){ alert("追試!); document.write("Bランクです。"); }else if(score >= 86 && score <= 100){ alert("追試!"); document.write("Aランクです。"); }else{ document.write("そんな成績はありません。"); } }else{ document.write("数値が正しくありません。"); } //--> </script> </body> </html>
763 :
Name_Not_Found :2007/12/17(月) 18:00:17 ID:wnBe26og
↑の間違っている箇所が解らないんですが。。 何度も質問申し訳ないです><
>>763 どんな動作をさせたくて、現状どんな動作になってしまっているかを説明したほうが
回答を貰いやすいと思います><
765 :
Name_Not_Found :2007/12/17(月) 18:13:49 ID:wnBe26og
>>762 入力ダイアログを表示させ入力した点数によって
if文で分岐させ文字列を表示させるという動作なんですが、
ブラウザで確かめても真っ白な状態です。。
説明不足で申し訳ございません。
引用符
767 :
Name_Not_Found :2007/12/17(月) 18:47:49 ID:wnBe26og
"が一つ抜けてましたね・・・・。 どうもありがとうございます。
エディタ使おうぜ
JavaScriptに最適なエディタってどんなのがある?
JavaScriptというか、html,php,perlいずれも mi しか使ったこと無いな。
>>771 そうだよ。あんたがOS指定しないから悪い。
みんながウインを使ってると思うドザ特有の思い込みだな。
>>769 フリーウェアならAptanaはどうよ
俺はPHP、HTML、CSS、JavaScriptすべてEmEditorでやってるが
言い忘れてた デバッグはFireBugでやってる
メモ帳
notepad++
エディタスレ無くなったんだな
メモ帳がsimpleで一番使いやすい。
Mac信者きもーい
メモ帳は文字コードの扱いがどうも
メモ帳と言っているPC初心者がこの板には少なからず存在する。 あえて口を挿むが、メモ帳だけはやめておけ。 恐ろしく時間を浪費するだけだ。 70歳くらいまでコードを書けるとして、メモ帳を使い続けたら、数万分の一くらいの量も書けないだろう。
786 :
Name_Not_Found :2007/12/18(火) 14:15:24 ID:Z2rdXdDt
メモリ消費量、文字コードを考えたらメモ帳は5年前に終わってるよな
え、文字コードで?
おらはユニコード扱えれば、メモ帳でも何でもいいよ
Win9x時代の容量制限ともおさらば。 気が付けばUTF-8もサポートされてる。 メモ帳の未来は明るいな。 なんて思ってるとBOM付きコード書いて他の言語スレで馬鹿にされるみたいな。
otbedit
BOMなんて、ありでも無しでもどっちでもいいよ
それを判断するのは人間じゃない
いや、普通どっちでもいけるコード書くだろ?
そうだといいんだけどね
emacsとxyzzyしか使えない俺が言うのもなんだが、 このスレ的には、komodo edit や、もえでぃた(?)みたいな、JavaScript, JScriptでマクロを書ける物がいいと思う。
XPになる前のメモ帖は最高だった。F2を押すと西暦がポンと出たっけ。
>>795 xyzzy使いだけど、萌ディタのjavascriptオートリロード機能を
初めて見た時は乗り換えようかと思った
798 :
Name_Not_Found :2007/12/18(火) 18:01:37 ID:Q8iMN8oR
盛り上がっているところすみません。 if(i>5)ですと、... という説明なのですが、こういう言い方というのは50代の方でしょうか。
閏年の件。 y % 100 != 0)) || (y % 400 == 0ってやるよね。これって、 y % 100 != 0)) || (y % 400 == 0 じゃないのかなあ。100で割り切れなくて且つ400で割り切れる年 じゃないと洩れちゃうんじゃないかな。おれ頭悪い?
801 :
800 :2007/12/18(火) 18:33:58 ID:???
ごめん。コピペしっ放しだったorz y % 100 != 0)) || (y % 400 == 0ってやるよね。これって、 y % 100 != 0)) && (y % 400 == 0 ってことね。
>>796 F5でカーソル位置に現在の日付が表示されるけど、それとは違うの?
>>801 400で割り切れる数は必ず100で割り切れるんだが…
(100で割り切れなくて且つ400で割り切れる数は存在しない)
(y % 4 == 0 && y % 100 != 0) || y % 400 == 0
でいいんじゃない?
var txt = document.getElementById('txt').firstChild.nodeValue; function checkText(){ alert(txt); } <p id="txt">テスト</p> <input type="button" value="確認" onclick="checkText()" /> 変数のスコープについて教えてください。 関数内でtxtを宣言するとテストと表示するのですが 関数外で宣言するとundefinedが表示されます。 関数外で宣言すると、グローバル変数として どこでも使えると理解しているのですが、 どこが間違えているのでしょうか。
スコープの話じゃなくて実行される順番の話
>>805 ありがとうございます。
JavaScriptは次の順番で実行されます。
(1)文法チェック
(2)HEAD内の関数以外を実行
(3)BODY内のJavaScript(関数以外)を実行
調べてみるとこういうことのようですが、
ページを読み込んだ時点では、
txtにはアクセスできていないということでしょうか?
これからjavascriptを使用したwebページを制作しようと考えています。 javascriptを無効に設定している人って大体何%程度なんでしょうか?
だって getElementById() した時に id="txt" の物はまだないでしょう? ないものの firstChild とったって何それ?ってことになる
>>808 やっと理解できました。
ありがとうございます。
>>807 何%かは知らないけど、少なくともjavascriptが有効じゃなければ見れないようなサイトはよくない、
うちはjavascriptと同じ内容をPHPで使って表示できるようにしてある。
例えば時計だとjavascriptなら1秒毎に時間が変わるがPHPだとリロードしなきゃ時間が古い。
でもjavascriptだけだとそのふるい時間も全く分からないし。
ブラウザーの設定で常にjavascriptをオフじゃなく、
firefoxのアドオンのようにページ毎でオンオフできるのがあるので
あまりにも面倒なjavascriptのサイトならそのページではjavascriptオフだな。
>>807 自分でアクセス解析を工夫して調べろよ。
サイトによって異なるとしか言いようがないから、一般論は意味がない。
812 :
Name_Not_Found :2007/12/19(水) 10:37:39 ID:vDQMd2GJ
こんにちは。JavaScript始めたばかりです。 JavaScripでは「再帰呼び出し」はできないんでしょうか。どうも やってみると、そうらしいんですけど何か代替案ありますか? 僕の書き方が悪いのかもしれませんが。よろしくお願いします。
ブログパーツなどに、関係の近いキーワードをマップのように表示するものがありますが
ttp://bkv.so-net.ne.jp/ (ブログキーワードビジュアライザーなど)
データ分析に使いたいのですが、こうした要素間の距離をマップ表示できて、
自分で要素間関係を設定できる素人にも使えるものはありますか?
ウェブ上のサイトでも良いです。
よろしくお願いします
815 :
Name_Not_Found :2007/12/19(水) 12:22:35 ID:BRoDgdy9
すみません。javascriptで聞いたほうが良かったと気づきました。 簡単なプルダウンメニューの作り方を教えてください。 □■ ■ ■ ■ □■ ■ ■ ■ こんな感じのを作りたいのですが。
>>815 プルダウンメニューでググッたら12万4千件。他の似たキーワードで
ググッたら53万5千件あったけど、それじゃ不足ですか。
フォームのクリアで、下記のようにしてるんだけれど <form id="formBtn"> <input type="text" name="hoge" > <a href="javascript:void(0);" onclick="javascript:formBtn.hoge.value = '';">クリア</a> </form> Fxだけクリアされないんだけれど どうしてなのか教えてください
[進む] [戻る] ボタンで画像を切り替える JavaScript 作ったんだけど、画像の連番に 一部歯抜けがあって 404 になる奴がいくつか混じっています。それで歯抜けの番号を 記憶しておいて次には表示しにようにしたいんですけど、今表示示している画像が 404 Not Found かどうかを確かめるにはどうしたら良いでしょうか?
>>817 onclick="document.forms.formBtn.elements.hoge.value=''"
アンタが書いてる書き方はIE専だ。IE専は改めた方が身のため。
あとonclickの中に書くものはJavaScriptコードに決まってる
のだから「javascript:」スキームは不要。それがついてるのを見る
とうげーとか思う(よっぽどスルーしちゃろかと思った)。
>>818 Imageオブジェクトにonerrorハンドラをつけてそれが呼ばれたら
ナイということでどうかな。試してないけど。
C言語からです。JSだと'\n'はちがうんですか?
JSってなに?
823 :
817 :2007/12/19(水) 15:00:09 ID:???
>>820 <pre><script type="text/javascript">
document.write('aaa\nbbb\nccc')
</script></pre>
とかやってみ。HTMLではpre要素の外では改行は無視されるでしょ?
pre要素の外で改行したければ '<br>' を書け。
826 :
Name_Not_Found :2007/12/19(水) 15:37:21 ID:NQQXAtFJ
フォームに入力した数字を加えてリンクを作りたいんですがPS3で動作しません
IE7とモジラでは動きました
<FORM NAME="psdivxform1" onSubmit="hyouji()">
<INPUT TYPE="text" NAME="st6u" SIZE="30">
<INPUT TYPE="submit" >
<INPUT TYPE="reset" VALUE="RETRY">
</FORM>
<SCRIPT LANGUAGE='JavaScript'>
function hyouji(){
msg1 = document.psdivxform1.st6u.value;
document.write('<html>')
document.write('<a href="
http://video.stage6.com/ ');
document.write(msg1);
document.write('/.divx">');
document.write('
http://video.stage6.com/ ');
document.write(msg1);
document.write('/.divx');
document.write('をPS3で再生する');
document.write('</a>');
document.write('<br><a href="stage6divx-ps3.html">戻る</a>');
document.write('</html>')
}
//--></SCRIPT>
ここにあるのはPS3でもうごくんですが仕組みを教えてください
http://k-chscarlet.hp.infoseek.co.jp/stage6/
JavaScriptでHTMLを動的に複数箇所書き換える場合に 書き換え開始前に描画を中止して 書き換え終了後に描画を再スタートして 処理速度をUPすることは可能でしょうか?
828 :
827 :2007/12/19(水) 15:55:41 ID:???
あ。できるならIE6.0以上限定でもいいのですが。
IE6と言うかIE7含めIEなんてブラウザーの中で底辺の底辺だからな
だがIEのシェア率のおかげでwebデザは苦労しちょるわけだが
>>830 IEがまともに勧告にそったブラウザーなら
WEB製作者は人並みに夜眠り事が出来るんだろうね。
IEにあわせる時間で後2〜3サイト作れそうだし。
>>826 document.writeするのではなくbodyの内側のHTMLを全部1個の文字列にして
document.body.innerHTML = 文字列
で一気に書くのがいいんじゃないだろうか。PS3のブラウザ知らないけど。
>>827-828 意外とその期待に沿った実装になっているような気がする。
有意な差を出せた記憶が無いがdocument.createDocumentFragment()でも使ってみてはどうか。
window.HTMLElement.prototype.test=function(){alert(this.innerHTML)}; こういうのを IE ではどう書けばいいんですか?
>>827 それをやって速く見せかけているのがIEのinnerHTMLだろ。
それ以外なら一度ドキュメントツリーから切り離すなりして
ノードを突っ込んでいる最中に描画させないようにしろ。
>>837 <PUBLIC:METHOD name="test" />
<SCRIPT language="JScript">
function test() {
alert(innerHTML);
}
</SCRIPT>
<script type="text/javascript">
/*@cc_on @if (1)
document.createStyleSheet().addRule('*', 'behavior:url(test.htc)');
@end@*/
</script>
ただし、HTCがキャッシュされるとは限らないから、HTML要素の数だけ読み込まれる場合がある。だからこんなCSSセレクタを書くやつはアホ。
Safari3.0でなんですが、まったく同じ内容のJavaScriptを <script type="text/javascript"> <!-- ... --> </script> と直接書いた場合、動作するのですが <script type="text/javascript" src="hoge.js"> と別ファイルにした場合、動作しません。 ためしにOperaで試したところ、両方動作しました。 SafariのJavaScript ConsoleによるとLine: 1で"SyntaxError: Parse Error"となっています。 Safariでjsファイルをロードして実行するにはどうすればよいでしょうか?
たぶん一行目に問題があるのかと
Mac,WinのSafari,FireFox,OperaとIE6,IE7いずれも同じ xx.jsで動いてるけどな。 差し支えない程度のソース出せば詳しい人が見てくれるかもよ。
>>838 それ全部 HEAD 要素に突っ込めばいいんですか?
ロード後
document.body.appendChild(document.createElement('<div id="D">')).test;
document.getElementById('D').test
どっちも undefined になります
test.htcを用意せんとあかんよ
>>842 createElementの使い方が違うだろ。
>>839 1行目に<!-- があるんでしょ。それを取る。それはJavaScript
じゃないんでね。
846 :
839 :2007/12/20(木) 16:02:47 ID:???
ソースはこんな感じです。
(1)外部jsファイルをロード
・cntdwn.js
window.onload = function startCountDown(){
elem=document.getElementById("cntdwn");
interval=window.setInterval(function(){
if(elem.innerHTML==1){
stopCountDown();
}
elem.innerHTML--;
},1000);
}
function stopCountDown(){
clearInterval(interval);
}
・test.html
<html><head /><body>
<script src="cntdwn.js" type="text/javascript"></script>
<span id="cntdwn">5</span></body></html>
(2)scriptタグに直に書く
<html><head /><body>
<script type="text/javascript">
<!--
cntdwn.jsの中身を書く
}
//-->
</script><span id="cntdwn">5</span></body></html>
>>845 それはない
>>846 文字エンコードを調べるとか、SCRIPT要素のCHARSET属性を試してみるとか、何かやれよ。
javascriptでアドセンスみたいな広告を自作で作成してるんだけど なかなか難しいですね。 事前に登録した広告をランダムで呼び込んで表示させるようにしたんだけど、URLと宣伝文句を 統一させて呼ぶのが無理だ>< どっかサンプルないですかね。 ランダム相互リンクとして紹介すればリンク先にもアクセスが多数のびると思って考えた案なんだけど、 頭がついていかねww
そうですか
うーん。どう見てもCGIがよいような。
853 :
Name_Not_Found :2007/12/21(金) 10:14:22 ID:E1vQ2DIJ
HPのトップページにスクロールバー付きの小さなフレームを載せたいのですけど やり方がわかりません。毎日、画像と文章を更新したいのですけど java scriptを使うんですか?インフレームというヒントもいただきましたけど どうしても方法がわかりません。よろしくお願いします。
いいえ使いません
>>853 あんたまだ出来ていないのか。大変だな。
あまり背伸びしないで一からhtmlを勉強したほうがいいよ。
phpでもjavascritpでも出来るけどhtmlだけであんたのやりたい事は出来るけど
基本分からないのなら無理だし。
まずはインフレームをぐぐるとこからだな。
858 :
Name_Not_Found :2007/12/21(金) 12:16:13 ID:eTpan+id
はい、853です。携帯からです。 なんとか簡単に小窓を作りたいんです。 できたら今日中に。htmlの知識はありますよ。 phpとcgiとjavasはわかりません。 856さんのサイト、今外だから見れないけど、家に帰ったら見ます。 明日の朝までPCに張り付きますから、みなさんご指導よろしくお願いします。 ちなみにドリームウィーバー8は持ってますが、これで作れませんか?
>>853 <iframe style="width:100px; height:100px" src="中身のURI"></iframe>
860 :
Name_Not_Found :2007/12/21(金) 12:28:18 ID:eTpan+id
付け足し。 フレームといっても中身のページは分割してなくてもいいのです。 画像と文章が載せられるページ1枚とスクロールバーが付いていればいいんです。
なんかPHP覚えたての奴が必死になってるなぁ。 フレームで表示させたいっつってんのにwww
>>853 インフレームじゃなくてインラインフレーム
HTMLの知識があるならそれくらいわかるでしょうよ
>>861 どこにphpのソースとかかいてあるの?
上のはhtmlだよ?
864 :
861 :2007/12/21(金) 12:34:19 ID:???
>>863 859の事言ってる訳じゃなくて、もっと上の方ねw
865 :
Name_Not_Found :2007/12/21(金) 12:37:45 ID:eTpan+id
859さん 家に帰ってやってみます。
池沼ども釣られすぎ
このスレIQ低すぎだろw
特に
>>862 こいつ
ここなんのスレだと思ってんだ
脊髄反応する前にクスリ飲んどけ
>>867 池沼とか謎言葉使ってる君の方がIQは低そうだけど。
もう冬休みか。また始まるな
853==867
僕冬は大好きなんだ
じゃわたしは秋にする
更新情報を人力で編集することと、直にHTMLを編集することとを比較して、労力に大差が無い。
>>875 ぉぃぉぃw突っ込んじゃいかんだろ
とことん泳がせてマターリ楽しまなきゃw
878 :
Name_Not_Found :2007/12/21(金) 16:35:08 ID:KHnqqNl1
>>853 はoverflowをautoで良いんじゃないか?
php話はどうでもいいよ
>>878 みたいにHTMLで解決してスレ違いで終わらすとか
RSSとかをjavascriptで無理やりパースして出力とかがこのスレの流れじゃないの?
880 :
Name_Not_Found :2007/12/21(金) 16:57:35 ID:lhzqWsmM
>>880 FAQ
>>2 のQ1/A1を読め!絶対に不可能!!
FAQも読めない奴は2度と来るな!!!
882 :
Name_Not_Found :2007/12/21(金) 17:06:28 ID:lhzqWsmM
ブックマークレットというのでできませんか
できますが自分しか使えませんよ
GreaseMonkey とか UserJS でもいい
>>875 やったことないけど、Cできりゃ良いんでしょ?
じゃあたぶん大丈夫だと思うよ
いちいち「出来ないの?」とか聞く方も糞だし、 ざっと言語の概要すら調べられない方も糞。
君らたかがJavaScript組む程度で HTMLは悲惨だろうなw まさかJavaScriptも、他者の改造だけってことないよねないよねないよねw
>>887 お前じゃあるまいし、ある訳ないだろ。
そういう発想が出てくる時点で、自分自身はそうだったりしてwwwwwww
俺はJSなんてとっくに卒業してるよ 今はFlash+VBに夢中
最近ネットを始めた同僚が匿名掲示板で 自分の苗字を当てられてびびってた。 彼の名は「池沼」。
892 :
889 :2007/12/21(金) 19:08:21 ID:???
>>890 ネタだろ?
言語なんてケースによって使い分けるのが普通。
個人的にFlashサイトはWebと認められない。ゲームとかならいいけどね。
通っぽく見せかけといてVBをチョイスしているあたり、ロクなコーディングスタイル
じゃないんだろうな。
Web と認められるような(笑) システム UI のほんの上っ面で動く申し訳程度のレイヤーを作る人間にも 何かに認められたいという気持ちがあるんですなぁw
所謂高級言語族の反乱
ネタだろ? ゲームならいいとか言っちゃってるし。
VB(笑)
すごい色んな人が書き込んでるように見えるけど、実際は僕含めて3人くらいの自演とみた
ってか粘着 PHP と同じ ID の奴がいっぱいいるんだけど ●使えば全部丸見えになるってこと知らないんだね
>>899 俺の出ない
値切ったからだな
中尾いい加減にしとけw
902 :
FOX :2007/12/21(金) 20:32:56 ID:???
^^:
粘着PHPは良い命名wwwww
テンプレ論議あれば今どうぞ。
とりあえずいいかげん
>>2 A3
A3
を直してくれ
懲りずに再び。 >厳密な言語仕様はECMA-262.ed3 ECMA262は言語仕様では無い。
>>906 改善案をどうぞ。
「厳密な言語仕様はECMA-262.ed3という規格で定められている」ならOKですか?
「厳密な言語仕様はECMA-262.ed3で定められている」は?
>>907 厳密な言語仕様は、各ブラウザの製造元の情報が正しい。
Fxなら、Mozilla。IEなら、MSDN。既にテンプレにリンクもある。
そもそも論として、ECMA262は言語仕様では無い。
ECMA262準拠を謳える為の実装仕様だ。
Standard ECMA262の題名は「ECMAScript Language Specification」 だけどこれをどう和訳する?「ECMAScript言語仕様」と訳すのが 素直だし世の中の常識にかなっていると皆思ってるんじゃないかな。
>>909 JavaScriptにも、JScriptにも、ECMA262外の仕様がある。
だから、ECMA262は厳密な各言語の"言語仕様"では無いし、
ECMAとは違う!とか言われても、それが、"言語仕様"だ、としか言えない。
うちの IE6 がまたやらかしやがりました function start(){} <form action=""><input type="button" value="START" onclick="start()"></form> クリックしたら error: このオブジェクトではサポートされていない操作です この子は何を言ってるんですか?
912 :
911 :2007/12/21(金) 22:49:35 ID:???
今は window['start']() で動作しています
913 :
Name_Not_Found :2007/12/21(金) 22:53:40 ID:iu/2StPH
>>859 853です。ようやくトップページに小窓サイズのフレーム完成しました(涙)
本当にありがとうございました。
しかしPHPだのJava Scriptだの適当なこと言ってた人は冷やかしだったんだね。
WEB業界もクズ人間が多いのかなwww
>>910 なんだそういう話か。じゃあテンプレ該当箇所の代案:
(GuideをReferenceに→Netscape版言語仕様。多くの実装が準拠するのはECMA-262.ed3)
なんだかごまかしぽいけどこれくらいが落しどころ?
>>915 正直言って、Web製作板のこのスレでは、ECMA262は、参考程度の役割しかない。
>>1 じゃ無く、テンプレの最後程度にあれば良い内容だと思う。
元々
>>1 にGuide入れようと言った、言いだしっぺだが、その主旨は簡単だ。
ここでの質問の多くは、Guideに答えが載っているからだ。
つまりだ、質問する前に、Fx、IE、その他関係なく、Guide読めって事を協調したかったのだ。
と言うのもだ、判ると思うが、そのGuideは、系統立っていて、明快で、しかも正確で、
たとえIEしか使わない人でも、初心者が読むのに相応しい文書だからだ。
いや、JScriptもNetscapeの文書も厳密なとこが書いてないんで、 ECMAを読むことは欠かせないと思うね。。 (初心者にECMAを読めということじゃなく、共通部分はこれね という準拠の対象だから挙げておきたいというか。) まあいいや、ECMA262をもっと軽視しろという意見が多いか どうか待ってみよう。
はっきり言って初心者にNetscapeのGuideを読めというのは 効果ないと思うな。FAQのQ1/A1でさえ読まない奴が何と多いことか… で、質問を受けてわれわれ言語屋が特定事項を調べるのなら ECMAの方がコンパクトで厳密だから使いやすいんだよな。
>>918 >われわれ言語屋
要するに今流行の乞食か?www
言語じゃなくて落書きスクリプトだろw
まーた池沼PHPか
>>891 ふいたwwwwwww
これ、どこのコピペ?
もちろんJavaScriptの質問スレだよ。でもJScript、Netscape JavaScript、 その他のブラウザ上の実装が準拠してるのがECMAだから。
つか、ECMAなんてただの後付けだろ。
もちろん後づけだけど、複数のブラウザで共通に準拠する標準は
これしかないから。過去スレを見てもReferenceとして最も多く
参照されているでしょ。それを
>>1 から落せというのは納得しない。
MDCのリファレンスは標準・非標準・非推奨の線引きがはっきりしてるので、
これを
>>1 にのっけるんなら、ECMA262の記述は要らん気がする。
むしろ
>>6 の方にECMA262の簡単な説明が要ると思う。
意識の高い奴にはそれで十分だし、見ない奴はどうしたって見ねえよ。
$(...)とか使って喜んでいるアフォはECMA262を読んでない。
これはガチ。
931 :
Name_Not_Found :2007/12/22(土) 10:32:57 ID:U7Ay96B/
初心者ですがECMAがあってもこの惨状ですので、勝手に独自の拡張がな されるとジャバスクリプトは近日崩壊するのではないかと不安です。 せっかく覚えたので時間関数くらいは自由にあやつりたいと思っています。
日本語で
933 :
Name_Not_Found :2007/12/22(土) 10:41:43 ID:Lp1cIEzK
ECMAに準拠してないブラウザなんてないんじゃね? バグがあるという意味なら昔のオペラ(オブジェクトに数値を入れると挙動不審)と Safari(名前付き関数式を認識できない)などがあっただけだろ ECMAのおかげで少なくとも文法は完全な互換性があるんだから ECMA262-3rdはそうとう意義があると思うぞ。 ちなみに文法の機能拡張という意味では全てのブラウザがやっている (function() {}←厳密には構文違反だが通らないブラウザを知らない) しかしJavaScript2の普及は現状ではもう無理だなw
innerHTML はブラウザ判別なしで使って大丈夫ですか?
>>934 ちょっと古いバージョンになるとIE以外使えなくなるお
>>935 ありがとうございます。
何年ほど前ですか?
シェアがあまりに少ないなら無視しようと思います
>>936 innerHTMLが使えないNetscape系のブラウザというのはN4?
N4は対応しないでいいと思うけどね。ちょっと古いっていつよ ^_^;
>>931 ECMAが規定してるのは「言語」部分であってDOMとかブラウザ
を操作する部分は別だから。で、ECMAがあっても惨状というのは
具体的に言語のどの部分がどう互換性無いと言う話なわけさ。
939 :
>>938 :2007/12/22(土) 13:25:18 ID:U7Ay96B/
931です。初心者が口出しして申し訳ありませんでした。私は自慢ではない のですが、ECMAというのはちゃんと読んだことは一度もありません。 理由は難しくて何ともさっぱりでした。あれを書いた日本人は偉いですね。 ですので、人から聞いた話ですがアウトルックエクスプレスはECMAをちゃん と守っていないということでした。なんでも一部の関数配列を使ったもの もまともに値を返さないのだとかです。モジラはいいといっていました。 僅かな知識からですが、お知らせまで。ご返事ありがとうございました。
日本語でおk
言語部分については独自の拡張があってもECMA-262 ed.3に準拠 して動作することが維持されればいいんでないの。その部分だけで コード書けば互換性は保てるわけだから。
>>939 その文体、なんていうソフトで生成したか教えてくれ
板によっては小魚を一網打尽にできるほどのクオリティだぞ
>>942 ム板見てるとVC6でboost使っちゃってコンパイルエラーとかたまに見るNE☆
>>937 Mozilla 0.Xあたりは未サポートだったはず。もともとIEの独自機能だし。
>>944 なるほど。だがMozilla使いは順調に新しいブラウザに入れ替える
と思われ。古いまま使うのは「IEそのまんま」が多数派だよね。
藤田さんになら掘られてもいい
藤田さんの存在が便利すぎるような気が おもしろかったからいいけど
限界と言いつつ書いてる奴の精神が全然追いつめられてないのが 嘘くささを増すのに貢献している
新スレは975超えたら。テンプレ論議はまとまらなかったので 明らかなエラー訂正等以外は現状のままということで。
952 :
906 :2007/12/22(土) 21:17:17 ID:???
結局、難癖付けられてうやむやになるんだよなぁ…。
そんなのお互い様じゃん。皆が納得するだけの説得力があれば テンプレってちゃんと改訂されてるでしょ。過去スレ全集見ると 変遷があって面白い。だからこうして毎回議論するのはいいこと だと思うよ。NetscapeのGuideを入れたのもわりと新しいよね。 個人的にはECMAがなかったら何に準拠して書けばどのブラウザでも 動くと信じられるのかすごく不安。Netscapeの文書じゃNetscape 独自の部分もわけへだてなく書いてあるし、MSのはさらにひどいし。
954 :
Name_Not_Found :2007/12/23(日) 00:10:10 ID:ObFUiyH+
以下のように document に onkeypress をして、<input>をクリックして十字キー を押下した場合に、Firefoxでは上下の十時キー押下が拾えません。 Operaでは上下キー押下拾えました。Netscape6でも拾えました。IEは除外。 私の環境だけでしょうか? Firefoxでは十字キー押下は×なのでしょうか? 宜しくお願いします。(Firefox 2.0.0.11) ------------------------ <script> document.onkeypress = function(){ window.status = new Date().getTime(); }; </script> <input type="text" />
>>954 Firefox の設定に
ステータス欄の書き換えを無効にするオプションがある
Opera も同じく
956 :
Name_Not_Found :2007/12/23(日) 00:20:05 ID:ObFUiyH+
ちょっと間違えました。 ^Netscape6^Netscape7
>>954 keypress は拾えないな。
keydown, keyup は拾えた。
<input>に直接割り当てればイベントタイプ関係なく拾えたし、bubbles==trueだった。
958 :
Name_Not_Found :2007/12/23(日) 01:15:45 ID:ObFUiyH+
>>957 ありがとうございます。onkeydown,upでは拾えています。
safari(win)でも同様出来ました。Firefoxだけが onkeypress で上下キーがダメです。
IEは別として、Opera,NN7,Safariでは出来るのにFirefoxだけ出来ないのですが、仕様という
ことなのでしょうか?
windowでイベントを取らないといけないやつとかあるから面倒なんだよな。
>>958 俺のでは普通に拾える(Firefox2/MacOS X)
textareaにすれ
962 :
Name_Not_Found :2007/12/23(日) 03:03:25 ID:Zc+M+Wm1
mootools の smoothscroll を試してるんですが、 xpsp2 ie6 でローカルで動かないです。 <!-- saved from url=(0014)about:internet --> とかインタネオプション->アクティヴコンテンツ云々等は 設定してみたんですがダメみたいです。 サーバーに置いたら動作しますし、他のエフェクトについては 特に問題ないようなのですが、これは仕様なのでしょうか。 回避方法がありましたら教えてください。
>>952 難癖つーか、その主張を受け入れればどういう風に幸せになれるのかが分からん。
仕様の仕様を何と言うか。その程度の、あまり本質的ではない議論にしか見えん。
JISに則れというなら、まだ話は分からなくもないが。
テンプレに、ぐだぐだ言葉で書かずにコードを書くかアップしろ、を復活させろ。
>>962 IE以外の何か(firefoxとか)を使ってjsファイルをダウンロードし直してみたまえ
966 :
Name_Not_Found :2007/12/23(日) 09:59:42 ID:ObFUiyH+
>>960 ありがとうございます。Mac版Firefox では動くのか。
IE版もいつか直るのかな・・・。
>>964 それ賛成。現スレ立てた人がなぜか勝手に消したので。
コードを書いて、積極的にこーどーしろと
前からちょっと気になってたけど、現スレ立て人というのは、このスレの 最初の頃のスレ立て人とはちがうの?一時存亡の危機に陥ったとき投げた スレを拾ったとか?
タグを5個書いてゴタク並べるな、と
>>969 スレ立て人ですが、それはですね。立てようとしたらスレ立て規制
になってたので、誰か立ててとお願いしたら立ててくれた、その
人がそうされたようです。しょうもないよねー。
勘違いされそうなので再度補足です。現スレにはFAQその1が 2回貼られてます。つまりその親切な方が立ててくださったの だけど、旧スレの2を貼るところを間違えて3(FAQその1)を貼った ため旧スレの2(質問を書く上で)が紛失したわけです。単純な マチガイと思われます。というわけで、またスレ立て規制に 遭遇したらどなたかにお願いするつもりですが、よろしこ。
973 :
Name_Not_Found :2007/12/23(日) 21:12:33 ID:3kQV3Ria
初心者質問させてください form内にテキストボックスが複数あり、名前がinput_0〜となっています。 PHPと連動してボックスの数は変わります。 この中には数字のみ入力され、 値が変更された時にその変更を反映して全ボックスの合計を表示したいのですが、 どうもうまく動かず困っています。 お知恵をお貸しください。 以下、試したスクリプト その1 function sum(){ Sum = 0; var sumArray = new Array($num); //配列の要素数はPHPから出力 sumArray[0] = document.form.input_0.value; sumArray[1] = document.form.input_1.value; ・・・ //$num個代入 for (i=0; i < $num; i++) { Sum += sumArray[i]; } sum.value=Sum; }
974 :
973 :2007/12/23(日) 21:13:16 ID:3kQV3Ria
その2 function sum(){ Sum = 0; for (i=0; i < $num; i++) { Name = "input_" + i; Number = document.form1[Name].value; Sum += Number; } sum.value=Sum; }
質問にその関数sumの実行部分が見当たらない。
976 :
973 :2007/12/23(日) 21:44:28 ID:???
<input type="text" name="input_1" id="input_1" value="1" onchange="sum()"> という感じで、 ボックスの値の変更時に実行されるようにしています。
遊園地の券の料金の計算で 大人:1500円-2 老人:1000円-1 子供:500円-1 合計:4500円-4 こんな感じで選択した料金の合計と人数の合計を表示するにはどうすればいいでしょうか
sum.valueって関数オブジェクトのプロパティになっちゃうんじゃないの?
parseInt、parseFloatするとか その前に変数sumって何?
>>979 多分sumってID振った合計値を表示するための要素じゃねーの
>>977 小学生の算数問題をここで聞いているわけではないでしょ?
何が知りたいのか具体的に書くべきだし、その程度のことも出来ないのは勉強不足
勉強不足って言ってあげるあたり優しいよね。 「才能ないからやめろカス」って書きそうになってた。 俺心狭すぎワロタ・・