+ JavaScript の質問用スレッド vol.57 +at HP
+ JavaScript の質問用スレッド vol.57 + - 暇つぶし2ch1:Name_Not_Found
07/06/11 15:17:38 UHVvomrF
━━━JavaScript質問スレ道場訓━━━
 一、礼節を重んじ常に努力精進すること
 一、ブラクラに打ち勝つ精神力を持つこと
 一、心身の優れたJavaScriptを学ぶこと
 一、雑草の如く生涯JavaScriptを貫くこと
 一、感謝と反省を忘れないこと
 以上
━━━━━━━━━━━

このスレに書き込むことが許されるものは以下のとおり
・テンプレ/FAQ/過去ログ/関連資料を読める者。とくに>>2-10は必須!!!
・JavaScriptとJavaの違いを理解する者
・スクリプトを組むための最低限のHTML・CSSを理解する者
・ユーザーに迷惑となるスクリプトを書かない者
・「初心者です」を振りかざさず、質問を分かる日本語で説明できる者
・対象環境や使用技術は質問者の裁量であることを理解する者
 (質問/回答時はなるべく環境明記。WinIE5.5/N6未満と希少ブラウザは必須!)

前スレ スレリンク(hp板)l50
[必読]過去スレ全集 URLリンク(web1.nazca.co.jp) (臨時)
[必読]ガイド URLリンク(developer.mozilla.org)
(GuideをReferenceに→Netscape版言語仕様。厳密な言語仕様はECMA-262.ed3)
FAQ・注意・過去ログ・仕様書・関連資料・関連スレ>>1-10

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

3:まず >>2-5 読め! 続いて過去スレ全集を検索!
07/06/11 15:22:09
【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']」は同じ意味です。

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

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

6:まず >>2-5 読め! 続いて過去スレ全集を検索!
07/06/11 15:26:05
【標準規格・リファレンス】
規格を読まずにどうなってるか分からんとか質問しないこと!

まとめサイト
URLリンク(web2ch.s31.xrea.com) (消失中)

ECMA-262 ed.3
URLリンク(www.ecma-international.org)
URLリンク(www2u.biglobe.ne.jp) (和訳)

W3C Document Object Model Technical Reports
URLリンク(www.w3.org)

JavaScript 1.5 ガイド / リファレンス (Netscape/Mozilla)
URLリンク(developer.mozilla.org) (和訳)
URLリンク(developer.mozilla.org)
URLリンク(developer.mozilla.org) (和訳)

E4X (ECMAScript for XML)
URLリンク(www.ecma-international.org)
URLリンク(www.ne.jp) (和訳)

Mozilla Gecko DOM Reference, Netscape devedge
URLリンク(developer.mozilla.org)
URLリンク(developer.mozilla.org) (和訳)
URLリンク(devedge-temp.mozilla.org)

MSDN Library JScript / DHTML (現在日本語版は古杉)
URLリンク(www.microsoft.com)
URLリンク(msdn2.microsoft.com)

7:まず >>2-5 読め! 続いて過去スレ全集を検索!
07/06/11 16:51:44
【チュートリアルサイト・サンプルサイト】
規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。
(とほほは間違いが多いためこのスレでは批判的意見が多い)
(以下は精選すべきとの議論あるが進んでいないので玉石混淆)

MetaGraphic Cell
URLリンク(www2u.biglobe.ne.jp)

どら猫本舗のリファレンスカウンター
URLリンク(www.doraneko.org)

はぎさんちのページ Mozilla's DOM Sample Project
URLリンク(cgi.din.or.jp)

オブジェクトなJSの基礎講座
URLリンク(chaichan.web.infoseek.co.jp)

Dynamic Scripting (Internet Archive)
URLリンク(web.archive.org)

JavaScript深層 (Internet Archive)
URLリンク(web.archive.org)

8:まず >>2-5 読め! 続いて過去スレ全集を検索!
07/06/11 16:53:24
【検索】
キーワード『…』で検索しろ」「ぐぐれ」と言われた場合はこちらへ
URLリンク(www.google.co.jp)

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

Webサイト制作初心者用スレ Part 184
スレリンク(hp板)l50

CSS /* CSS・スタイルシート質問スレッド【66th】 */
スレリンク(hp板)l50

CSS/DHTMLバグ辞典スレッド 【第5版】
スレリンク(hp板)l50

役に立つ書籍は? 4冊目
スレリンク(hp板)l50

9:Name_Not_Found
07/06/11 16:54:45
さて、前スレ 9 の人また貼りにくるかね。××の1つ覚えー。粘着ー。

10:Name_Not_Found
07/06/11 17:12:22


11:Name_Not_Found
07/06/11 18:05:16
>>9
逆に俺はお前が粘着気味だと思うんだが
スルーしとけよ

12:Name_Not_Found
07/06/11 22:57:55
>>11
zipでくれ

13:Name_Not_Found
07/06/12 01:50:29
>>4
結局A10は

A10. IEはe.currentStyle、Gecko/Safariはdocument.defaultView.getComputedStyle()使用。

に修正、ということでいいのかな?

14:Name_Not_Found
07/06/12 09:35:16
やべえモンキタ━━(゚∀゚)━━ !!
URLリンク(gigazine.net)

15:Name_Not_Found
07/06/12 10:12:26
ないす情報。またサポートしなきゃいけないブラウザが一つ増えやがった

16:Name_Not_Found
07/06/12 17:26:27
onClick絡みの質問です。

onClickを仕込んだタグ全文を引数として渡したいのですがどのようにすればよいのでしょうか?


実現したいことをそのまま書くとこんな感じです。

-----js部-----
function test(str) {
alert(str); // <input onClick="test(this)" value="アラート">
}

-----html部 -----
<input onClick="test(this)" value="アラート">

どうぞよろしくお願いします。

17:Name_Not_Found
07/06/12 20:49:08
var clone = str.cloneNode(true);
var div = document.createElement("div");
div.appendChild(clone);
alert(div.innerHTML);

試してないけどこんな感じか?

18:16
07/06/13 00:34:52
>>17
うまくいきました!
まったく、自分の辞書にない方法だったのでたいへん勉強になりました。

いやあ、js楽しいです。ありがとうございます!


19:Name_Not_Found
07/06/13 01:22:28
単なる興味で質問します。
普通のやり方ではドメインをまたでクッキーのやりとりは出来ませんが、googleはこれを実現していると聞いたことがあります。
これは本当なのでしょうか?

20:Name_Not_Found
07/06/13 01:26:51
>>19
ツールバーとかでなくて?

21:Name_Not_Found
07/06/13 01:39:50
何故、ドメインをまたげないのかと言ったらセキュリティ上の理由からなわけで
またげてしまったら、それはセキュリティホールのような気が。

22:Name_Not_Found
07/06/13 02:59:02
>>13
A10. IEはe.currentStyle、Gecko/Opera/Safariはdocument.defaultView.getComputedStyle()使用。
(Gecko/Operaはwindow.getComputedStyle()も可)

が現状に近いんだが、Safari3を試した人でwindow.getComputedStyleを持ってるか確認した人いない?

23:Name_Not_Found
07/06/13 07:30:13
>>19
<script>うめこみのサービスを使ってくれさえすれば簡単に抜けるわな。
言うまでもないと思うが、純粋にクッキーだけではむりだが、得た情報を送れるのはクッキーだけじゃないから。
ただし、グーグルが嬉々としてやってたらそりゃまじで笑いものなわけで、そうとう痛い人じゃなきゃこんなバレバレなことをしないだろ。

24:Name_Not_Found
07/06/13 08:19:19
F11キーをJavaScriptでおしたいのですが、どうかけばいいのでしょうか?

25:Name_Not_Found
07/06/13 08:29:32
>>24
押せないと思うな。または alert('F11キーを押してください');

26:Name_Not_Found
07/06/13 08:57:08
オブジェクトのプロパティについて質問
以下のオブジェクトがあった場合にnot_propertyはオブジェクトの中でどんな扱いになるの?
for in でオブジェクトの中身覗いてもproperty1とmethodしかないから
プロパティではないことはわかるのだけど、位置づけがわからない
javaで言うところの何になりますか?それともjavaで考えちゃダメ?

var obj = function(var1) {
this.property1 = var1;
var not_property = "プロパティじゃないよ";

this.method = function () {
alert(property1);
alert(not_property);
}
}

27:Name_Not_Found
07/06/13 08:59:53
宿題の質問もおkですか?

28:Name_Not_Found
07/06/13 09:36:45
>>26
javaで考えちゃだめ。[[Scope]]のプロパティ

29:Name_Not_Found
07/06/13 10:25:38
>>27
かまわんが、丸投げはやめとけよ。

30:Name_Not_Found
07/06/13 10:41:24
Firefox や Opera で ロード時 (あるいは任意のタイミング) に
マウスカーソルの位置を取得する方法があったら教えてください。

31:Name_Not_Found
07/06/13 10:43:57
>>30
イベントオブジェクトから取ったらあかんの?

32:Name_Not_Found
07/06/13 10:48:00
前スレの<NOSCRIPT>問題を検証してみました。当方はMac。

<noscript><p>test</p></noscript>

を getElementsByTagName で取得してみる。

FireFox
 … NOSCRIPT要素の取得は出来るが、firstChild は TextNode となり、中味は
 CDATAのように扱われている。(NOSCRIPT要素内部の構文解析はしない)
Opera
 …NOSCRIPT要素の取得は出来るが、firstChild は null で、中味は完全に空。
BODY要素のinnerHTMLを見ても、<noscript></noscript> になっている。
Safari
 …NOSCRIPT要素自体取得出来ない。BODY要素のinnerHTMLを見ても、
 NOSCRIPT要素自体が取り除かれている。

IEでどうなるかは分かりませんが、現実問題としては使えないですね。うーん、
NOSCRIPTにページ内容を書いて、script でその内容を加工して表示とか
考えてましたが、これはダメだ。

しかし、DOMの仕様書には、NOSCRIPT も HTML Element のオブジェクトだと
書いてあって、構文木から取り除けとはどこにも書いてないんだがな。HTMLの
仕様書にも表示しないとあるだけで、取り除けとは書いてないし。

33:Name_Not_Found
07/06/13 11:10:20
>>28
ありがとう。
そこはスコープで考えるから外から取れないのか。

34:Name_Not_Found
07/06/13 11:42:53
>>31
カーソル位置を持ったイベントオブジェクトって任意に作れるんでしょうか?

35:Name_Not_Found
07/06/13 13:17:38
画像を先読みしてキャッシュに入れるには new Image() の src にセットすれば
いいようですが、では、HTMLを先読みしてキャッシュに入れるにはどうすれば
いいのでしょうか。次のページを先読みして即座に表示出来るようにしておきたい
のです。

36:Name_Not_Found
07/06/13 13:37:13
>>35
document.createElement('iframe')のsrcにセットするのかな。
試してないけど。

37:Name_Not_Found
07/06/13 13:59:38
>>34
onloadの話だろ?

>>35
36で出来るけど、やらないほうがいいんじゃないかなぁ

38:Name_Not_Found
07/06/13 14:08:17
>>37
firefox と opera の onload のイベントオブジェクトには clientX とかが無いようなんですが。

39:Name_Not_Found
07/06/13 14:16:38
>>38
それ最初に書けよ

40:Name_Not_Found
07/06/13 17:35:25
onloadで関数を呼べばぁ?

41:Name_Not_Found
07/06/13 18:03:54
>>40
だからonloadで「何を」呼べばマウス位置が取得できるのさ。
取得する方法、ないでしょ?
マウスイベントが来るまで待つしかないんじゃないの。

42:Name_Not_Found
07/06/14 00:35:41
待てばいいじゃん

43:Name_Not_Found
07/06/14 09:46:28
>>42
元質問者の役に立たない投げやりな回答、いくない。
結局、元質問者の要求を満足する方法はない、でFA?

44:Name_Not_Found
07/06/14 11:45:02
>>43
あるけど自作自演で答えを求めてるのがいやらしいから俺は教えない
マウスイベント待てばいいんじゃねw

45:Name_Not_Found
07/06/14 12:45:12 wbYEaN+7
入力フォームを作っているのですが、必ず入力しなければならない所を
入力してない場合、JavaScriptを使用してそのフィールドのバックグラウンドと
テキストフォントを違う色にしたいのですが、バックグラウンドの色を変更するにはどうすれば良いのでしょうか?

今、自分で組んでいるJavaScriptとしてはこんな感じです。

checkLength(field){

if(field.length==0){
//フィールドのバックグラウンドの色を現在とは違う色に変更し、falseを返す
return false;
} else {
//問題ないので、現在のフィールドカラーである白にそのまま設定し、trueを返す
return true;
}


46:Name_Not_Found
07/06/14 12:49:23
style.backgroundColor="#FF0";

47:Name_Not_Found
07/06/14 13:08:55 dYrf5482
以下のようなソースで、ラジオボタンを動的に生成した場合、
IEでラジオボタンを選択できません。
FireFoxやOperaでは動くのですが、
バグなのか、ソースに問題があるのかわからず困っています。
調べてみたところ、
URLリンク(www.gac.jp)
と同じ現象だと思うのですが。

どうすればIEでラジオボタンが選択できるようになるのでしょうか。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "URLリンク(www.w3.org)
<html xmlns="URLリンク(www.w3.org)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<title>無題ドキュメント</title>
<script language="javascript" type="text/javascript">
<!--
var number = 0;
function addItem() {
number ++;
var elem = document.createElement('input');
elem.id = 'radioId' + number;
elem.setAttribute("type", "radio");
elem.setAttribute("name", 'radioName' + number);
elem.setAttribute("value","VALUE");
document.getElementById('thisForm').appendChild(elem);
}
-->
</script>
</head><body>
<form id="thisForm" ><input type="button" value="追加" onclick="addItem()" /></form>
</body></html>

48:Name_Not_Found
07/06/14 13:23:17 XpKBq37J
>>47
>IEでラジオボタンを選択できません
setAttribute() の IE の bug 仕様のせい.
どうしても setAttribute() を使いたいのなら UA 振り分けを迫られる.
しかし, 見たところ使わなくてもうまくいきそうだけど.

49:Name_Not_Found
07/06/14 13:28:11 XpKBq37J
>>47
禁断の "とほほ" でも見てくで ! :
www.tohoho-web.com/js/form.htm#name2

50:47
07/06/14 13:31:07
>>48
ありがとうございます。
バグなんですね。。。

それから、すみません。
見たところうまくいくとはどういうことでしょうか?

51:Name_Not_Found
07/06/14 14:50:26
クロスブラウザ依存にならない方法あったよ確か
defaultSelectedとか、確かそんな名前のプロパティをセットする方法

52:Name_Not_Found
07/06/14 15:14:25
選択済みかどうかはdefaultCheckedでいけるけど、
IEはname属性を動的に設定できないからね。
URLリンク(msdn2.microsoft.com)

53:Name_Not_Found
07/06/14 17:48:30
DOMで位置を指定して表示させたいですがうまくいきません。IE6です。
elem.setAttribute("style", "position:absolute;left:900px;top:0px;");
のようにJavaScriptでノードにstyleで指定しても正しい位置に表示されません。
HTMLで同様の指定をするともちろんうまくいきます。

DOMでどんな風に座標を指定したら良いのでしょうか?

54:379
07/06/14 18:10:42 XpKBq37J
>>50
>>49 を書いた意味が通じなかったのかな ?
要するに setAttribute()を使わないように工夫すれば良いってこと.
まあ, >>52 によれば name attribute の設定はできないらしいけど.
となると UA 振り分けで対処するしかないだろうね.

Example (IE) :
 elem.setAttribute('name',new Function('radioName'+number))
Example (Moz etc.) :
 elem.setAttribute('name','radioName'+number)

これらを UA 振り分け で使い分ける.
UA 振り分けについては色々あるけれど "MSIE" が含まれるかを調べる手もある.
ただし, UA 偽装されれば ただちに動かなくなるのが欠点.
(それと無意味に複雑になるのが最大の問題点) <- M$ のばか~ !!!

>>53
どうして setAttribute() を使いたがる人が多いのかしらん ?
(かく言うワタクシメも ついさいきんまで... w)
IE で setAttribute() は鬼門なのだ.
対策は 上に書いたのと同様のはず.

55:Name_Not_Found
07/06/14 18:31:16
>>53
setAttribute()を使うのをやめるのが一番簡単だって。今すぐ忘れろ。
elem.style.position = 'absolute';
elem.style.left = '900px';
elem.style.top = '0px';
を実行すればいいだけでしょ。過去スレ検索すればサンプルが山ほど
ある。何が問題なんだか…

56:Name_Not_Found
07/06/14 18:44:26
どうせ親要素になんも指定してないんだろ

57:379
07/06/14 18:59:06 XpKBq37J
>>54 を記述は間違えているかも ? (申し訳ない)
(new Fenction() を使う訳だけど 度忘れ w)

58:Name_Not_Found
07/06/14 20:58:02
>>53
(get|set)Attributeは属性値を文字列として扱う。

setAttribute('style', '...')はstyle属性の文字列値を変更するだろう。
だが、それがレンダリングエンジンに渡される保証はない。

setAttribute('onclick', '...')はonclick属性の文字列値を変更するだろう。
だが、それがスクリプトエンジンに渡される保証はない。

なぜ上記の属性がDOM-HTMLでHTMLElementのプロパティになっていないのかを考えろ。
スタイルを設定したければDOM-CSSのAPIを通せ。
スクリプトを実行したければDOM-EventsのAPIを通せ。
DOMが嫌いなら昔ながらのelement.style.position=...、element.onclick=...を使え。

URLリンク(burstproject.org)

59:Name_Not_Found
07/06/14 21:41:34
>>58
いや、その論法はおかしいだろ。
それだと極端な話setAttributeは呼び出しても
表示及び動作を変えない、まったくの無意味ってことになるぞ。

これはただ単にIEのsetAttributeがくそで
styleとかonclickとかを設定できないという話だろ。

60:Name_Not_Found
07/06/14 22:04:51
>>59
> 表示及び動作を変えない

その通り。もう一度言うが、setAttributeは属性内容の文字列値を変更するにすぎない。
属性値の変更に伴う表示や動作の変更は、HTMLDOMやSVGDOMなど個々の言語規定に従う。
そして、DOM-HTMLにはstyleとかonclickに関する規定はない。
# と言うかわざわざ分離させたわけだが。

DOM-Coreによるnode.setAttribute(attr,value)と、DOM-HTMLによるnode.attr=valueは全く別物。
例えば前者は文字列のみだが、後者はそれなりにデータ型に応じた扱いができる。
IEの実装は糞だが、少なくともsetAttribute('style|onclick', ..)に関してはIEに非はない。


61:Name_Not_Found
07/06/14 22:29:38
>>60
前半はいいが後半の最後、IEのsetAttributeは明らかにおかしくね?
elem.setAttribute('style', 'foo'); elem.getAttribute('style');
で'foo'ではなくCSSStyleDeclarationっぽいオブジェクトが返ってくるんだよ。
elem.setAttribute('onclick', func)
でクリック時にfuncが実行されるんだよ。
どう見てもfuncを文字列化なんてしてないでしょ。

62:Name_Not_Found
07/06/14 22:34:04 XpKBq37J
よのなかに~
たえて あいい~
なかりせば~
よの こころは~

63:Name_Not_Found
07/06/15 00:44:54
>>61
そもそもIEのスタイルシート回りのDOM実装は標準から逸脱してて糞。
だからstyleをgetattributeしたものが何だろうとへーそうですか
って感じ。

64:Name_Not_Found
07/06/15 08:08:29
IEはコアから腐ってて
elem.getAttribute("foo") == elem.foo
elem.setAttribute("foo", "bar") == (elem.foo = bar)
だからなあ(だからonclickとかが動く)

styleは設定できない(無視する)ようになってるんじゃないかな

65:53
07/06/15 09:01:28
>>55他の方々
ありがとうございますです。うまくいきましたです。

66:Name_Not_Found
07/06/15 13:52:14
>>58
element.style.positionとかはDOM CSS(DOM CSS2)で
定義されてるよ

67:Name_Not_Found
07/06/15 13:52:41 5/+Mv2sM
<a>タグを使ってフォームをPOSTで送信したいのですが、

<form action="a.php" name="hoge" method="post">
<input type="submit" value="a.phpへ">
</form>
<a href="b.php" onClick="....">b.phpへ</a>

<input>を押すと a.php へPOST
<a>を押すと b.php へPOSTっていうのができるのでしょうか?

68:Name_Not_Found
07/06/15 14:00:55 j54CzVg3
質問があります。現在、情報を入力してその情報を送信するフォームの雛型を作っているのですが、
どうもうまくいきません。 赤いフォントで* とある所は必ず入力しなければならない箇所なのですが、
そこを入力していなくても、送信ボタンを押すと普通に次の画面へ進んでしまいます。
後、使用した金額を入力する箇所で交通費、食費、宿泊費を入力した場合、自動的にその右側のフィールドで
合計金額を表示させ、その下にある総合合計金額のフィールドにも表示させたいのですが、どうも上手くいきません。

URLリンク(www4.50g.com)

途中まで作ったやつなのですが、ここが悪い、というのがありましたらご教示よろしくお願いします。

69:67
07/06/15 14:01:13
解決しました。
<script language="JavaScript">
  function form_submit(task_name){
    document.form.action = task_name;
    document.form.submit();
  }
</script>
で action 先を渡してやればできました。

70:68
07/06/15 14:04:45 j54CzVg3
後、社員No、所属部署、プロジェクトナンバーは
それぞれ、ACT番号、DEPT番号、PROJ番号という風に入力しないと
エラーを返すように設定しているのですが、これも上手く動作しません。

71:年金返せ
07/06/15 14:09:49 4rdsrApR
ifで空欄判断。onblurで自動加算。

72:68
07/06/15 14:41:38 j54CzVg3
>>71
ifで設定もして、onblurで自動加算するようにしてあるのですが、
どうも上手くいきません・・・。
URLリンク(www4.50g.com) にどのように動いているのか、
コメントを書いているので、よろしければ見てみてください。

後、実行環境を書き忘れたので書いておきます。

OS:WindowsXP ブラウザ:IE7とFirefox2.0
OS:WindowsMe ブラウザ:IE6

73:Name_Not_Found
07/06/15 17:14:26
とりあえずエラー出てる
alertで値をチェックしたら良いんでは
nullチェックは要らない?

74:68
07/06/15 17:57:36 j54CzVg3
>>73
Webメールの登録欄のように送信ボタンを押して、正しくない箇所がある場合は
そのフィールドの色を変更して修正しなければならない箇所が一発で分かる、
という風にしたいのです。入力する箇所が多いので、値が間違っているたびに
アラートを出していくと、使用者もうざく感じると思ったので。

75:Name_Not_Found
07/06/15 18:15:00
>>74
ともかくJavaScriptエラーを全部取れ。
根本的な勘違いを指摘してあげよう(親切だな洩れって)。
submitを止めたいのならformのonsubmitにreturnつきで書かないと。
<form ... onsubmit="return validateForm()">


76:68
07/06/15 18:28:54 j54CzVg3
>>75
ありがとうございます。
return を追加しても同じ結果なので、とりあえずエラーを取り除く所からやってみます。

77:Name_Not_Found
07/06/15 18:40:16
>>76
勘違いしてそうだから言っておくが
>>73の「alertで値をチェック」ていうのは
動かないならalertでチェックしたて修正したら?てことで
最終的にalertを出す仕様にと言ってるんじゃないと思うぞ。

とりあえず「}」閉じ忘れ2箇所見つけた。
それ修正しても動かないだろうけど。

78:Nenkin_Not_Refund
07/06/15 20:09:26
そんなチマチマしたチェックは自分でやってくれ。デバッガあるだろ。


79:Name_Not_Found
07/06/15 23:26:19
>>78
お勧めのデバッガを教えてくれ

80:Name_Not_Found
07/06/15 23:32:21
>>79
今回の程度のエラーだったら、
FFxのJavaScriptコンソール(エラーコンソール)で十分でしょ。

81:Name_Not_Found
07/06/15 23:45:41
マジレスするとFireBug

82:Name_Not_Found
07/06/16 06:54:58
>>68
かなりたくさん間違いがあるような気がするよ。

暇で暇で死にそうだったので勉強がてらちょっといじってみたよ。
URLリンク(uproda11.2ch-library.com)
数値合計とかのとこは意図が良くわからないので、ぜんぜんいじってない。

ちなみに元のやつだと、関数単独でもひとつも動くのがなかったよ。
一気に書かないで、やりたいことを分解して少しずつ書いては
試していったほうがいいと思うよ。alertとかコメント化とかで。

僕も初心者なのでひどいコードかもしれないけどねー

83:Name_Not_Found
07/06/16 07:00:38
あれ、IEでばけるや・・・orz

84:Name_Not_Found
07/06/16 10:12:06
Dreamweaverで出来れば作りたいのですが
URLリンク(www.freetemplatesonline.jp)

小さい画像をクリックすると同じページにデカクうつるという
やり方わかる肩いますか?

それとURLリンク(www1.kcn.ne.jp)
このページの画像クリックすると左からウィンドウが来ると
思いますがそのやり方とそのウィンドウに画像の大きさを
合わせる方法を教えていただけないでしょうか?


85:ぼけなす
07/06/16 12:08:22 P+YI6MXb
さて, これから先の流れは? (ワクワク)

86:Name_Not_Found
07/06/16 12:30:44
もちろん華麗にスルー(マルチ乙)

87:84
07/06/16 12:52:51
ここの人は馬鹿な人ばかりなんですか。
Dreamweaverで出来れば作りたいので宜しく御願いします。
>>85-86はもう結構ですので、二度とコメント市内で下さい。
よくそれで恥ずかしくないですね。こんな天気のいい日に
パソコンに向かってるのは友達いないんでしょうね。

88:Name_Not_Found
07/06/16 12:56:47
>>87
阿呆か。煽って答えさせようたって無駄。過去スレでそれやった
奴が何人いたと思ってるんだ。おとなしく自分で勉強しろボケ。さいなら。

89:Name_Not_Found
07/06/16 13:03:28
まずテンプレ読めよ低脳

90:Name_Not_Found
07/06/16 14:11:37
いい天気だなぁ(シミジミ

91:Name_Not_Found
07/06/16 14:36:03
>>74 ちょっと書いてみた。設計方針次第できれいに書けると思う。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function check_number(fname, ename) {
var e = document.forms[fname].elements[ename];
if(!e.value.match(/^[0-9]+$/)) { e.style.background = 'pink'; return false; }
e.style.background = 'white'; return true;
}
function check_nonempty(fname, ename) {
var e = document.forms[fname].elements[ename];
if(e.value == '') { e.style.background = 'pink'; return false; }
e.style.background = 'white'; return true;
}
function check() {
var result = true;
if(!check_number('f0', 't0')) result = false;
if(!check_nonempty('f0', 't1')) result = false;
return result;
}
</script>
</head><body>
<form name="f0" action="#" onsubmit="return check()"><div>
数字のみの欄: <input name="t0" type="text"><br>
空でない欄: <input name="t1" type="text"><br>
<input type="submit"></div></form>
</body></html>

92:Name_Not_Found
07/06/16 14:43:53 P+YI6MXb
今更な疑問なんだけど XMLHttpRequest で
/director/ 内の file list を得ることって できるのかしらん ?
(これができると面白いと思う半面, security 上の問題が あるような ないような...)

僕が見つけた例では CGI に post していた...
(しかし, このやり方では XMLHttpRequest を利用する意味が...)

93:Name_Not_Found
07/06/16 14:50:46
>>92
xmlhttp以外で出来ないのなら不可能だ

94:Name_Not_Found
07/06/16 15:14:20 P+YI6MXb
僕が見つけたページ:
www.openspc2.org/JavaScript/Ajax/Ajax_study/chapter04/001/index.html

95:Name_Not_Found
07/06/16 15:24:33 P+YI6MXb
もう一つの例:
homepage3.nifty.com/aokura/jscript/get_file_list.html
しかし, これは IE 專

96:Name_Not_Found
07/06/16 16:37:43
かしらん? オカマ野郎。こういう言い方する男はムカつく。
僕じゃなくて「あたい」だろ。

97:db Shi~t !!!
07/06/16 16:50:19 P+YI6MXb
>>96 みたいな書きこみを見ると茶目っけを出したくなる.
でも... やめといた方が良さそう...

98:Name_Not_Found
07/06/16 17:23:04
Javascriptで
「かもめかもめかちんかちん」-「か」
はできますか?

99:Name_Not_Found
07/06/16 17:29:15
>>98
javascript: alert('かもめかもめかちんかちん'.replace('か',''))

100:Name_Not_Found
07/06/16 17:30:42
>>98-99
javascript: alert('かもめかもめかちんかちん'.replace(/か/g,''))

101:68
07/06/16 17:55:59 Kkagn9lQ
68ですが、レスを下さった方々、ありがとうございました。
>>82、91さんのコードを参考にして一応、完成する事が出来ました。
本当にありがとうございました。

URLリンク(www4.50g.com)

102:Name_Not_Found
07/06/16 21:39:44 lPJ0IrD6
jQueryについて質問があります。

------------
<div class="box">
 内容
</div>
<script language="JavaScript" type="text/javascript">
$(".box").prepend("<div class='inner'>上部に追加");
$("box").append("下部に追加</div>");
</script>
------------
上記のスクリプトで

------------
<div class="box"><div class="inner">上部に追加
 内容
下部に追加</div></div>
------------
ということをやりたいのですが、

------------
<div class="box"><div class="inner">上部に追加</div> ←自動的に閉じてる?
 内容
下部に追加</div></div>
------------
みたいな動作を引き起こしています。
任意のタグの内側に要素を追加するにはどうしたらいいでしょうか?
wrap() の逆があるといいのですが。

103:Name_Not_Found
07/06/16 21:41:11 lPJ0IrD6
>>102
$(".box").append("下部に追加</div>");

「$(".box")」のドットが抜けていました。すいません。
実際のスクリプトではもちろん書かれています。

104:Name_Not_Found
07/06/16 22:31:09
<div class="box">
 内容
</div>
<script type="text/javascript">
value = $(".box").html();
$(".box").html("");
$(".box").prepend("<div class='inner' style='border:1px;' >上部に追加" + value);
$(".inner").append("下部に追加");
</script>

こういう風にやるのはだめですか?

105:Name_Not_Found
07/06/16 23:19:18
>>104
なるほど、一時的に保存しておくのですね。
安全のために each使って実現できました。ありがとうございます。

$('.box').each( function(){
 var tmp = $(this).html();
 $(this).html('<div class="inner">'+tmp+'</div>');
});


106:Name_Not_Found
07/06/17 14:19:23
AJAXについての質問です。
リンクAをクリックしてAJAX処理中に、他のリンクBやCをクリックすると
期待した場所に結果が表示されなくて困っています。

AJAX処理が始まると他の箇所をクリックできないようにすることは可能でしょうか?
一般的な対応の仕方や、その他の色々な方法を教えてもらえるとうれしいです。
どうぞ宜しくお願いいたします。


107:Name_Not_Found
07/06/17 14:54:39
AjaxのAはAsynchronous(非同期)だしねー。

108:Name_Not_Found
07/06/17 14:57:39 wyysTZsh
AのリンクをクリックしたときにB、Cのリンクをdisableにして
結果が返ってきたらenableにしれば?

109:Name_Not_Found
07/06/17 14:59:23 d6ePygVI
>>106
Ajax と一言で言っても 使われ方は色々.
通常は "処理中" が そんなに長いことはないと思う.
(言い換えると "他のリンクBやCをクリック" する隙などない)
取り合えず, どういう目的で利用しているのか またはソースを提示...

110:106
07/06/17 15:56:34
>>108
画面内にたくさんのリンクがあるため最終手段として使わせていただきます。 ありがとうございます。

>>109
AJAXでCGIにパラメーターを渡し、スクレイピングさせた結果を表示させようとしています。

こういった処理はAJAXには不向きなのでしょうか?

URLリンク(www.openspc2.org)
こちらのAJAX一連の処理を呼び出す関数を自作しており、
引数は(テキスト挿入先ID,パラメーター)となっています。

function getText(id,param){
$id = id; //上記ページのcheck()の "result"部を$idに変えてあります。
xmlhttp = createXMLHttp();
if (xmlhttp) {
xmlhttp.onreadystatechange = check;
xmlhttp.open('POST','test.cgi',true);
xmlhttp.send(param);}}
という流れになっています。グローバル変数の使用がかなり怪しいのですが、
このような形でしかid部を可変にできないためそうしています。
長文失礼しました。

111:Name_Not_Found
07/06/17 16:07:42 d6ePygVI
>>110
普通に text file を読み込みに言ってるだけに見えるけど ?
物のついでだからサンプル作って見るかな ?
それを見て比較してみてはいかが ?

112:Name_Not_Found
07/06/17 16:15:36 d6ePygVI
>>110
訂正:
cgi に post してたのね.
ならば response が返って来るまで時間が掛ることもあり得る.
となると >>108 のやり方が有力になって来ると思う.
単に text file を読み込みに行くのがもっとも適した使い方じゃないかな ?

113:106
07/06/17 16:25:22
>>112
手間をかけていただきありがとうございます。
responseが返ってくるまで"読み込み中"と表示してなんとかごまかしています^^;
あらかじめサーバー側でテキストを作成しておくような仕様も検討してみます。
レスサンクスでした!

114:Name_Not_Found
07/06/17 16:31:24
すいません。
初心者ですが、よろしくお願いします。

java scriptで配列を用意して
formでそれをCGIに送って
テキストファイルに書き出すようにしたのですが、
配列
a[0][0]
の [ と ] が
%5Bと%5D%に文字化けしてしまいました。
HTMLのmetaでcharset変えたり
formのenctype変えたりしてみましたが、
どうにもうまくいきません。

どなたか、解決法ご存知ありませんでしょうか。
どうぞよろしくお願いします。

115:Name_Not_Found
07/06/17 16:33:57
開いているテキストエディター自体のエンコードはあってる?

116:Name_Not_Found
07/06/17 16:35:38
レスありがとうございます。
HTMLはdreamweaverで
CGIはterapadつかってますが、
ちょっと調べてみます。

117:Name_Not_Found
07/06/17 16:37:38 d6ePygVI
>>144
JavaScript の array をデータにするのではなく,
CSV か TSV に変換して送り出す
(CSV よりも TSV の方が扱いやすい)

118:Name_Not_Found
07/06/17 16:41:30
>>115
今HTMLのほうをEUC日本語にしてやってみましたが、
結果は同じでした。
他も試してみます。

>>117
レスありがとうございます。
CSVもTSVも知りませんでしたが、
あわせて調べてみます。


119:Name_Not_Found
07/06/17 17:04:25
もしかしてapatchが悪さしてるような気がしてきた…

120:Name_Not_Found
07/06/17 17:52:24
null 臭がする
また適当なことを言ってやがる

121:Name_Not_Found
07/06/17 18:08:39 NuImnqXC
なんだとおぅ

122:Name_Not_Found
07/06/17 18:26:11
URLエンコードされてんじゃね?

123:Name_Not_Found
07/06/17 18:36:35 d6ePygVI
>>120
聞き捨て なりませんな.
そもそも どの発言に対して言ってるのか ?
根拠のない当て推量をやってるのは むしろ おめ~さんだろ ?

124:Name_Not_Found
07/06/17 18:46:16 d6ePygVI
>>122 の言ってる通り.
ただ, JavaScript の array のまま CGI に送っても使い物にならない.
それならば TSV に変換しておけば
server side でも client side でも処理することが可能となる.

125:Name_Not_Found
07/06/17 19:07:47 d6ePygVI
>>120 が どう出て来るかが楽しみ. (くけけけけ)
この際, 荒れようがなんだろうが放置する訳にはいかないぜ !
null ちゃんの恐ろしさを思い知れ !

126:Name_Not_Found
07/06/17 19:20:55
ちっとも面白くない。ひっこめ。書くなら有意義なことを書け。

127:Name_Not_Found
07/06/17 19:23:46
>>106
素朴な疑問なんだが、別のリンクをクリックするということは
そのリンクをたどって別のページへ行くわけだろ?だったら
全部中止とかでいいんでないの。もしもそうじゃない
リンクの使い方をしてるんだったらまさかFAQ>>4 のQ9/A9を
読んでないわけじゃないよな?

128:Name_Not_Found
07/06/17 19:35:36
>>114
配列を「そのまま」CGIに渡すことなどできない。アンタが
できると勘違いして勝手に四苦八苦してるだけ。実際には
渡せるのは文字列だけ。

129:Name_Not_Found
07/06/17 19:42:35
>>122
ありがとうございました^^;
それでございました~!!!orz

130:Name_Not_Found
07/06/17 19:43:22
>>106
document.addEventListener('click',...)
Event#preventDefault()

131:Name_Not_Found
07/06/17 21:13:22
addEventListenerはいつになったらIEでも使えるようになるんで
ございましょうか。

132:Name_Not_Found
07/06/17 21:20:40
急に実装されても互換性のために誰も使わない

133:Name_Not_Found
07/06/17 21:24:17 d6ePygVI
>>131
IE の share が劇洛したとき.
言い換えると誰にも見向きされなくなった日.
Web に詳しい人なら IE のダメっプリは身にしみているけれど,
なにぶん OS デフォなので そのまま使い続けなければならない人達も...
(企業だとか, 官公庁だとか, はては漫画喫茶など)

じつは
on***=function(){f(x)}
形式なら IE でも Mozilla でも きちんと動作する.

134:Name_Not_Found
07/06/17 21:32:26 d6ePygVI
訂正:
elm.onclick=function(){f(x)}
elm.onmouseover=function(){f(x)}
elm.onmouseout=function(){f(x)}
---
など

135:Name_Not_Found
07/06/17 22:29:07
プルダウンメニュー(ボタン付)を数個作って、
それを組み合わせることで様々なページを表示させたいんですけど、どうすればいいでしょうか?

136:Name_Not_Found
07/06/17 23:33:45
>135
マルチ乙

137:Name_Not_Found
07/06/18 00:02:28 Fsxm7vxe
質問です。
「'[string]'に割り当てられません」というエラーは、どういうことが
原因で起こっているのでしょうか?

138:Name_Not_Found
07/06/18 00:03:26
>>137
"" = 0;

139:Name_Not_Found
07/06/18 00:14:45
>>135
プルダウンを組み合わせるとは具体的に? ソースは?

>>136
nullの野郎がヨソで暴れてたんだからさ。

140:Name_Not_Found
07/06/18 03:00:22 al450GnW
<div id="test">てすてすてす</div>

これの中心の座標が欲しいからstyleで
left + width/2
top + height/2
みたいにしてみた(parseInt済み)んですが、
これだと初期値を設定しておかないとNaNになるわけですが、
設定すると"てすてすてす"ぴったりの大きさにならないので困ってます(確認は背景色を付けてしました)。
ぴったり中心を取得する方法があれば御教示お願いします。

141:Name_Not_Found
07/06/18 03:39:34 25gWeDPo
>>139
"ヨソで暴れてた" たぁ以下のことか ?

429 :Name_Not_Found:2007/06/15(金) 23:56:03 ID:???
プルダウンメニュー(ボタン付)を数個作って、
それを組み合わせることで様々なページを表示させたいんですけど、どうすればいいでしょうか?

433 :Name_Not_Found:2007/06/16(土) 14:30:18 ID:P+YI6MXb
>>429
>プルダウンメニュー(ボタン付)を数個作って
"数個" って ああた !
使う物の身になって考えれば せいぜい 3 段が限度ですよん.
まあ, この手の物は 探せば いくらでも見つかるはず.

なんならサンプル作りますぜ. だんな~.
------------------------------------------------------
どういうものか返答はなかった.
そして, 同じ内容で こちらに...
これをマルチと言わずになんと呼ぶ ?

142:Name_Not_Found
07/06/18 03:44:13
>>140
elem.offsetWidth,elem.OffsetHeight,doc.getBoxObjectFor(elem),elem.getBoundingClientRect(),
doc.defaultView.getComputedStyle(elem,s),elem.currentStyle(s)

143:Name_Not_Found
07/06/18 03:52:44
>>140
ブロック要素の中央と "てすてすてす" の中央とは
一致しないと思うんだが

144:Name_Not_Found
07/06/18 08:14:49
>>141
だからその言い訳とかウダウダとした役に立たない解説
とか内容のない(有用でない)アドバイスとかが嫌われるんでしょ。
簡潔に的確なアドバイスできるようになったらまたおいでよ。

145:Name_Not_Found
07/06/18 09:32:15
>>142
ありがとうございます。
帰ったら試してみます。

>>143
大体中心ならおkです

146:Name_Not_Found
07/06/18 09:36:06 EEdpsv6u
質問です。
同じメソッドが3つ使われるようなとき、まとめて書く方法って
ありますか。つまり、
obj1.meso() + obj2.meso() + obj3.meso() ;
で、( obj1+ obj2+ obj3 )meso();
みたいに書けないかなと。
宜しくお願いします。

147:Name_Not_Found
07/06/18 10:19:49
ない。

148:Name_Not_Found
07/06/18 10:50:49
>>145
特に工夫してない限り,だいたい中心ですらない。CSSのボックスモデル
の勉強してから来い。つかもはやここではスレ違いだからよそ行け。

149:106
07/06/18 12:00:06
>>127
さきほど解決しました!レスありがとうございます!
xmlhttp.onreadystatechange = function(){
 if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
  document.getElementById(id).innerHTML = text;
 }
}
と、できることが分かり、セット先IDが狂わないようになりました。

>>130
ぼくとっては、マニアックすぎです!

150:Name_Not_Found
07/06/18 12:08:03
>>146
試したことがないからできるのかわからないけど、
複数のオブジェクトを管理するクラスを作ってみてはどうでしょう?
オブジェクトを追加していくメソッドを作って、
あとは全要素に対して処理をする関数をいくつかつくればスッキリしそう。

151:Name_Not_Found
07/06/18 17:13:48
URLリンク(www.colorjack.com)

これをフォームをクリックした時に表示されて、HEXをそのフォームに入力されるようにしたいですが、index.htmlを開き、保存したらピッカーが表示されなくなります。

編集しようにもできなくて…、誰か助けて下さい。

152:Name_Not_Found
07/06/18 17:27:41
>>151
外部CSSとか必要なファイルを持ってきてないんじゃない?

153:Name_Not_Found
07/06/18 17:40:52 h7JWkuIm
悪いんだけどちょっと教えて。

外部Javascriptファイルから別のJavascriptファイルをincludeするのってどうやるの?
検索キーワードが思いつかない。
include をキーワードに入れてもダメみたい。

154:Name_Not_Found
07/06/18 17:45:52
>>153
基本的には出来ない。
動的スクリプトローディングとかで検索したら出てくるかも。

155:Name_Not_Found
07/06/18 17:51:48 h7JWkuIm
>>154
うわ!すごい早い!
ほんとありがとう。すごく助かるよ。
匿名掲示板じゃなかったら御礼送りたいくらいだよ。

156:Name_Not_Found
07/06/18 18:07:05
>>153
amachangが外部jsの依存とか色々考えて断念してたよ
URLリンク(d.hatena.ne.jp)

157:154
07/06/18 18:10:07
>>155
いいんだよ。悪いな。
東京三菱銀行 池袋支店 普通 2045253 キタノモトフミ

158:Name_Not_Found
07/06/18 18:55:46
ワラタ
URLリンク(www.google.co.jp)

159:Name_Not_Found
07/06/18 19:43:39 h7JWkuIm
>>156
ありがと。参考にする。
>>157
了解。

160:Name_Not_Found
07/06/19 15:36:50 l9K4kB9E
質問させてください。
クッキーを使うユーザー登録フォームを作っているのですが、
エラー連発でどのようにして良いのかさっぱり分かりません。
とりあえずフィールドに適当な名前(デフォルト名を設定してあります。)を入力して、
送信ボタンを押すと、あなたのユーザー名(email)は: の部分に入力していたメールアドレスを表示させ、
クッキーにそれぞれの情報が記録(日付、名前、苗字、住所、メールアドレス、銀行名、銀行口座、支店番号)され、
クッキーの期限を1年で切れるように設定しているのですが、まったくうまくいきません…。
よろしければご教示お願いします。

製作中のフォームのHTMLです→ URLリンク(www4.50g.com)

161:Name_Not_Found
07/06/19 16:03:37
>>160

ソースをみると、日本語がエンティティ化(?)されてるのはナゼ?

162:Name_Not_Found
07/06/19 16:11:49 l9K4kB9E
>>160
英語版のWindowsで作っているので…

163:Name_Not_Found
07/06/19 16:20:58
クッキーに口座番号覚えさせるのか…

164:Name_Not_Found
07/06/19 16:30:15
>>160
まずmerchant.jsをちゃんとインデントして{}の数を合わせるのはどうだろうか?

165:Name_Not_Found
07/06/19 16:40:29 l9K4kB9E
>>163
セキュリティ上はたしかに問題なのですが、実験で作っているので…。

>>164
分かりました。ちょっとやってみます。

166:Name_Not_Found
07/06/19 16:45:06 HshXe65d
質問です。
1 2 3
4 5 6
7 8 9
のように出力させたいん
ですがどうloopを組めば
よいですか?
お願いします。

167:Name_Not_Found
07/06/19 16:48:45
>>166
ヒント:n%3==0;

168:Name_Not_Found
07/06/19 16:51:43
>>166
for (i=1; i<=9; i++) document.write(i+(i%3?" ":"<br>"));

169:Name_Not_Found
07/06/19 17:05:00 oGe4OuQK
同じ鯖にあるテキストファイルをJavaScriptで読み込んで表示させたいのですが
どのようにしたらできますか?

170:Name_Not_Found
07/06/19 17:08:40
>>169
XMLHttpRequestで読めるよ。(ブラウザで直に開けるとこにある
テキストファイルなら。) XMLHttpRequestの使い方は勉強すれ。

171:Name_Not_Found
07/06/19 17:14:52 oGe4OuQK
>>170
サンクス!調べてみる

172:Name_Not_Found
07/06/19 17:17:00 L0MUUMKY
>>170
ここで解決せれば それも良し.
よろしければ...
スレリンク(hp板)l50
 (Web Page Work Shop : 丸投げ上等 !)

173:Name_Not_Found
07/06/19 17:27:09 oGe4OuQK
var textload;
textload = new XMLHttpRequest();
textload.open("GET", "test.txt", false);
textload.send(null);
document.write(textload.responseText);

これだけでできました。(一応報告として
>>170さんありがとう


174:160
07/06/19 19:32:10 x0fcowHj
日本語版Windowsからです。

とりあえずクッキーの前に、送信ボタンを押したら、
次の画面にメールアドレスが表示されるようにしたいのですが、
どうすれば良いのでしょうか…。

ずっとやっているのですが、まったく表示されずどうしようもない状態に陥っています…。

175:Name_Not_Found
07/06/19 19:42:41 b4dmfCpZ
>>174
メアドをGETで渡して、location.hrefから抜き出すとか

176:166
07/06/19 19:44:31
>>167さん
ありがとうございました。
>>168さん
具体的にありがとうございました。
なるほど、勉強になりました。

177:Name_Not_Found
07/06/19 20:07:17 47aKFW3t
document.body.onclick=test;
でtestに引数を渡したい場合はどうすればいいのか教えて下さい

178:Name_Not_Found
07/06/19 20:28:34
>>177
function

179:Name_Not_Found
07/06/19 20:54:14
>>177
テンプレ中のFAQ >>4 Q14/A14は読んだんだろうな?

180:Name_Not_Found
07/06/19 21:19:45 47aKFW3t
>>178-179
Q14/A14の意味が分からなかったのですが今5回音読したら
ちょっと分かった気がしないでもないのであと10回黙読して弄ってみます。
ありがとうございました。

181:Name_Not_Found
07/06/20 03:11:27
URLリンク(www2.biglobe.ne.jp)~nir/icons/map/HSB.gif
URLリンク(www.qint.nl)

カラーピッカーに使うため、このようなグラデーションを作りたいのですが、
どのようにすればいいでしょうか?

182:Name_Not_Found
07/06/20 03:50:17 PFdRshW1
<html>
<head>
<script language="JavaScript">
<!--
OpenExtLink = function(el){
var url = el.href;
w = window.open();
w.document.write('<meta http-equiv="refresh" content="0;url='+url+'">');
w.document.close();
return false;
};
-->
</script>
</head>
<body>
<a onClick="return OpenExtLink(this)" href="URLリンク(URL)<)のやつです

183:Name_Not_Found
07/06/20 04:20:12
>>182こんなのはどうでしょうか

<a href="test.html?URLリンク(google.com)てst</a>
test.html? URL , 飛ぶまでの時間

-
test.html
<html>
<head>
<script type="text/javascript">
str = location.search;
url = str.substring(1,str.length).split(",");
document.write('<meta http-equiv="refresh" content="'+url[1]+';url='+url[0]+'">');
</script>
</head>
<body>
test
</body>
</html>

184:Name_Not_Found
07/06/20 07:46:46
>>181
それを書くプログラムが過去ログにあったな

調べたらVol.54の161だ。ちょっと感動したから覚えてる

185:Name_Not_Found
07/06/20 08:59:35
>>181 書いてみた >>184 げげあったのね。でもそれ読めないじゃん。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function hsb2rgb(hue, sat, bright) {
var r, g, b, max = bright*255, min = max*(1-sat), deg = 360*hue;
if(deg < 60) g = min + (deg)*(max-min)/60, r = max, b = min;
else if(deg < 120) r = max - (deg-60)*(max-min)/60, g = max, b = min;
else if(deg < 180) b = min + (deg-120)*(max-min)/60, g = max, r = min;
else if(deg < 240) g = max - (deg-180)*(max-min)/60, b = max, r = min;
else if(deg < 300) r = min + (deg-240)*(max-min)/60, b = max, g = min;
else b = max - (deg-300)*(max-min)/60, r = max, g = min;
return 'rgb('+ Math.floor(r)+','+Math.floor(g)+','+Math.floor(b)+')';
}
function show() {
for(var h = 0; h < 1; h += 0.01)
for(var b = 0; b < 1; b += 0.05) {
var x=250+200*b*Math.cos(2*Math.PI*h), y=250+200*b*Math.sin(2*Math.PI*h);
var e = document.createElement('div');
e.style.position = 'absolute'; e.style.width = e.style.height = '5px';
e.style.top = y + 'px'; e.style.left = x + 'px';
e.style.backgroundColor = hsb2rgb(h, 1, b); document.body.appendChild(e);
}
}
</script>
</head><body onload="show()"></body></html>

186:Name_Not_Found
07/06/20 10:25:47
>>185
車輪の再発明した上に品質劣化、しかも負け犬の遠吠え付ですか。
あと一つで満貫ですね。

187:Name_Not_Found
07/06/20 12:02:49
(´・ω・`)

188:Name_Not_Found
07/06/20 12:38:47 Q1DJsotc
すみません。
なぜ、とほほのJavaScript入門(正規表現)にはsearchメソッドが
ないのでしょうか。お分かりの方よろしくお願いします。

189:Name_Not_Found
07/06/20 13:05:16
とほほのことなんか知らん。内容古かったりするだけじゃないの?

190:Name_Not_Found
07/06/20 13:14:43
String#searchじゃなかったっけ

191:Name_Not_Found
07/06/20 13:48:52
searchなんてECMAにないだろ?

192:Name_Not_Found
07/06/20 14:00:20
>>191 それくらい確認してから書いたらどうなんだ。
URLリンク(www2u.biglobe.ne.jp)

193:188
07/06/20 14:13:04
>>189
JavaScript 1.2 って何年発効ですか?あってもおかしくないと
思うんですけど。ECMA-262にもありますし。


194:とおりすがり
07/06/20 14:19:26 jFe7iLdK
ここの奴らってたいしたことねえなぁ
>>190,191
こんなレヴェルかww

195:Name_Not_Found
07/06/20 14:19:47
>>192
俺の代わりに乙www

196:Name_Not_Found
07/06/20 14:22:26
1.2ってNetscape 3のころ?10年前くらいじゃないの。
どーしてもとほほが好きなら勝手にすればいいけど、
その内容をここに持ち込むのは時間の無駄だからやめてくれ。
テンプレの >>7 にも書いてあるだろ?
テンプレ読めない奴はここに来ないで欲しい。

197:Name_Not_Found
07/06/20 14:51:05
1.2はNetscape 4.0

198:Name_Not_Found
07/06/20 18:44:15
>>184
>>185

ありがとうございます。
僕にはまだ難しいようです…。
アルゴリズム的にはどんな感じなんでしょうか?
マウスの座標から色を生成したいのですが、色の並べ方というか計算方法がさっぱりで…。

199:Name_Not_Found
07/06/20 19:02:26
とほほにもあるみたいだけど?
URLリンク(www.tohoho-web.com)

200:Name_Not_Found
07/06/20 19:19:56
>>198
お前は>181で「グラデーションを作りたい」と言ってるだろ

なんで「マウスの座標から色を生成したい」に変わってるんだよクズ

201:Name_Not_Found
07/06/20 19:38:03
要件が曖昧だったとはいえ、カラーピッカーに使うためにグラデーションって言ってるんだから
普通に考えてグラデーションから色をとりたいんだなってことぐらい想像付くだろう。

202:Name_Not_Found
07/06/20 19:45:11
>>201
俺は200の肩をもつな
回答者はエスパーじゃないから質問は的確に、ってのは強く思う

マウス座標からの色の出し方ならこれが参考になる
184も185もHSVで書いてるからな
URLリンク(ja.wikipedia.org)

203:Name_Not_Found
07/06/20 20:16:20
>>200
カラーピッカー

204:Name_Not_Found
07/06/20 20:18:24
>>200
カラーピッカー

205:Name_Not_Found
07/06/20 20:25:51
>>201
>>203-204

>>181
「カラーピッカーに使うためにグラデーションを作りたい」

206:Name_Not_Found
07/06/20 20:30:10
描画メソッドのグラデーションでそういうの出来たっけ
やったこと無いからわからん

207:Name_Not_Found
07/06/20 20:39:34
>>201
普通は「カラッピーカーに使うためのグラデーションを~」と言われたらグラデーションの作り方を教えて欲しいのだと思う。
「ケーキを作るために生クリームが欲しい」と言われてケーキの作り方を教える奴は居ないだろう?

208:Name_Not_Found
07/06/20 20:43:13
×:ために
○:ための

ケーキのための生クリームと、スパゲティのための生クリームは違うと思うぞ
まあ、どうでもいいことでスレ埋めてもあれだがな

209:208
07/06/20 20:45:25
×:ために
○:ための

は間違いだスマン

210:Name_Not_Found
07/06/20 20:50:04
>>202
まあ、確かに。
エスパーですら回答困難な質問も少なくないしね。
とは言え、無駄に煽りすぎだろうと思ったからレスした。

>>207
普通はそうだろうけど、ここはJavaScriptスレだしさ。
まさかカラーピッカー用の画像が作りたいだけでJavaScriptは使わないだろうと。
逆に画像を作りたいだけなら十中八九スレ違いだし。

211:Name_Not_Found
07/06/20 21:03:58
しかしカラーピッカー用の画像を作る猛者が二人もいたのだがw
ま、PrintScreenでもして切り取って使えばいいさ

212:Name_Not_Found
07/06/21 09:27:38
カラーピッカに直して見ました。今IEが手元ないんでIEは未テスト。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function hsb2rgb(hue, sat, bright) {
var r, g, b, max = bright*255, min = max*(1-sat), deg = 360*hue;
if(deg < 60) g = min + (deg)*(max-min)/60, r = max, b = min;
else if(deg < 120) r = max - (deg-60)*(max-min)/60, g = max, b = min;
else if(deg < 180) b = min + (deg-120)*(max-min)/60, g = max, r = min;
else if(deg < 240) g = max - (deg-180)*(max-min)/60, b = max, r = min;
else if(deg < 300) r = min + (deg-240)*(max-min)/60, b = max, g = min;
else b = max - (deg-300)*(max-min)/60, r = max, g = min;
return 'rgb('+ Math.floor(r)+','+Math.floor(g)+','+Math.floor(b)+')';
}
function init() {
for(var h = 0; h < 1; h += 0.01)
for(var b = 0; b < 1; b += 0.05) {
var x = 250 + (50+200*b)*Math.cos(2*Math.PI*h);
var y = 250 + (50+200*b)*Math.sin(2*Math.PI*h);
var e = document.createElement('div');
e.style.position = 'absolute'; e.style.width = e.style.height = '10px';
e.style.top = (y-5) + 'px'; e.style.left = (x-5) + 'px';
e.style.backgroundColor = hsb2rgb(h, 1, b); document.body.appendChild(e);
}
if(window.captureEvents) {
window.captureEvents(Event.MOUSEMOVE|Event.MOUEDOWN|Event.MOUSEUP, true);
window.onmousedown = function(e) { pick(e.pageX, e.pageY); }
} else {
var b = document.documentElement || document.body;
b.onmousedown = function() { pick(event.clientX, event.clientY); }
}
}

213:Name_Not_Found
07/06/21 09:28:59
function pick(x, y) {
var t=Math.atan2(y-250,x-250), l=Math.sqrt((y-250)*(y-250)+(x-250)*(x-250));
l = (Math.max(Math.min(l, 250), 50) - 50) / 200; t = (t/(Math.PI*2)+1)%1;
var rgb = hsb2rgb(t, 1, l), elt = document.getElementById('h1');
elt.innerHTML = rgb; elt.style.backgroundColor = rgb;
}
</script>
</head><body onload="init()">
<h1 id="h1" style="position:absolute; top:520px">Color Picker</h1>
</body></html>

214:Name_Not_Found
07/06/21 12:26:18 8fqJq2Uu
>>213
>今IEが手元ないんでIEは未テスト
> function pick(x, y)
x, y 供にエラーになるはず.
(Mozilla と IE では event の挙動が微妙に違う)

"よくぞ ここまで ! " と思う半面, 劇重 !!!

215:Name_Not_Found
07/06/21 12:31:01
>>214
今IE6で動かして見たけど動くみたいだけど…何が問題か教えてくれます?
MozでcaptureEventは古いんで警告出るね、addEventListenerに変更します。

216:Name_Not_Found
07/06/21 13:20:55
さらに採度も変更できるようにしてみましたー。劇重だけど。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function hsb2rgb(hue, sat, bright) {
var r, g, b, max = bright*255, min = max*(1-sat), deg = 360*hue;
if(deg < 60) g = min + (deg)*(max-min)/60, r = max, b = min;
else if(deg < 120) r = max - (deg-60)*(max-min)/60, g = max, b = min;
else if(deg < 180) b = min + (deg-120)*(max-min)/60, g = max, r = min;
else if(deg < 240) g = max - (deg-180)*(max-min)/60, b = max, r = min;
else if(deg < 300) r = min + (deg-240)*(max-min)/60, b = max, g = min;
else b = max - (deg-300)*(max-min)/60, r = max, g = min;
return 'rgb('+Math.floor(r)+','+Math.floor(g)+','+Math.floor(b)+')';
}
var sat = 1.0, hue = 0.0, bri = 1.0, box = {};
function show1() {
for(var h = 0; h < 1; h += 0.01) for(var b = 0; b < 1; b += 0.05) {
var x = 250 + (50+200*b)*Math.cos(2*Math.PI*h);
var y = 250 + (50+200*b)*Math.sin(2*Math.PI*h);
var e = box[h*100+b];
if(!e) { e = box[h*100+b] = document.createElement('div');
e.style.position = 'absolute'; e.style.width = e.style.height = '10px';
e.style.top = (y-5) + 'px'; e.style.left = (x-5) + 'px';
document.body.appendChild(e);
}
e.style.backgroundColor = hsb2rgb(h, sat, b);
}
}


217:Name_Not_Found
07/06/21 13:22:14
function show2() {
for(var s = 0; s < 20; ++s) for(var h = 0; h < 12; ++h) {
var e = box[-12*s-h-1];
if(!e) { e = box[-12*s-h-1] = document.createElement('div');
e.style.position = 'absolute'; e.style.width = e.style.height = '25px';
e.style.left = (550+25*h)+'px'; e.style.top = (s*25)+'px';
document.body.appendChild(e);
}
e.style.background = hsb2rgb(h/12, 0.05*s, bri);
}
}
function init() {
show1(); show2(); pick(500, 250);
if(window.addEventListener)
window.addEventListener('mousedown', function(e){pick(e.pageX,e.pageY);}, true);
else
document.body.onmousedown = function() { pick(event.clientX, event.clientY); };
}
function pick(x, y) {
if(x >= 550) {
hue=(Math.min(x,850)-550)/300; sat=Math.min(Math.max(y,0),500)/500; show1();
} else {
hue=Math.atan2(y-250,x-250); bri=Math.sqrt((y-250)*(y-250)+(x-250)*(x-250));
hue=(hue/(Math.PI*2)+1)%1; bri=(Math.max(Math.min(bri,250),50)-50)/200; show2();
}
var rgb = hsb2rgb(hue, sat, bri), elt = document.getElementById('h1');
elt.style.backgroundColor = rgb; elt.innerHTML = rgb+' H='+hue+' S='+sat+' B='+bri;
}
</script>
</head><body onload="init()">
<h1 id="h1" style="position:absolute; top:520px">Color Picker</h1></body></html>

218:Name_Not_Found
07/06/21 14:45:25 o8mdcrrt
変数を展開させたいんですが、どうすれば良いのでしょうか?

例えば、以下のようなファンクションで
inputNameとして渡されたname属性を持つ要素をカウントしたいのです。

function sampleFunction (inputName) {
var ElementsCount = document.form.inputName.length;
}

よろしくお願いします。

219:Name_Not_Found
07/06/21 14:57:11
質問ですが、HTMLから外部Javascriptにパラメータを渡すことは出来るでしょうか?

<script type="text/javascipt" src="hoge.js?XXXXXX"></script>

みたいなことをやってみましたが、Javascript側でこの「XXXXX」をどうやって
取得すればいいのか分からなかったです。「?」で付ける形式でなくても、
外部Javascriptに値が渡せればいいのですが。

220:Name_Not_Found
07/06/21 14:59:53
>>218
document.getElementsByName(inputName).length

221:Name_Not_Found
07/06/21 15:02:37
>>218
テンプレを読め。FAQに書いてあることを質問すな。テンプレが読めない
藻前は2度と来るな。
>>219
srcのURIは取れないから無理。グローバル変数に何か入れておき
呼ばれた方でそれを取るとかはどう?
<script type="text/javascript">
window.myparam = 'XXXXXX'
</script>
<script type="text/javascript" src="hoge.js"></script>
hoge.jsの中でwindow.myparamを読めば'XXXXXX'が入ってるでしょ。

222:218
07/06/21 15:08:27
>>220

ありがとうございます。

223:218
07/06/21 15:19:10
>>221
失礼しました。見落としてました・・・。

224:Name_Not_Found
07/06/21 16:10:55
>>219
正規表現とかよくわからないけどこんなのは?
それか、なんかのライブラリでそんなことしてるのあったよね?
Dojoだっけ?その中身見てみるとか。

var self = "script.js"; // jsのファイル名
regObj = new RegExp(self, "g"); // 正規表現
var script = document.getElementsByTagName('script'); // scriptタグとってくる
for (var i=script.length-1; i>=0; i--) { // scriptタグ分回す
  var result = script[i].src.match(regObj); // jsのファイル名に一致するか判定
  if ( (result) && (result.length > 0 ) ) { // 一致したら
    alert(script[i].src.split("?")[1]); // 「?」以降がクエリ文字列
  }
}


225:Name_Not_Found
07/06/21 18:01:28 8fqJq2Uu
>>215
>window.onmousedown = function(e) { pick(e.pageX, e.pageY); }
早とちりで申し訳ありません.
振り分けされているのを見逃していました.
でも IE 5.17(on MacOS9.1) では onmousudown での動作は無視されている模様.
IE 6 での動作確認は取りようがありません.

おわびと言っちゃなんですが.
window.onload=function(){
document.getElementById('btn').onclick=function(ev){exam(ev)}
}

function exam(_ev){
var ev=_ev?_ev:event; //ev:event
confirm(ev.clientX);
}

以上の記述で簡潔に できるかと...
IE 6 での動作確認を取っていただけると嬉しいっす.


226:Name_Not_Found
07/06/21 18:22:19
function viewpos(evt){
if(window.createPopup){// IE5.5以降
pos_x=event.x+document.body.scrollLeft;
pos_y=event.x+document.body.scrollTop;
}else{
pos_x=evt.pageX;
pos_y=evt.pageY;
}
}

227:Name_Not_Found
07/06/21 18:23:59
訂正

function viewpos(evt){
if(window.createPopup){// IE5.5以降
pos_x=event.x+document.body.scrollLeft;
pos_y=event.y+document.body.scrollTop;
}else{
pos_x=evt.pageX;
pos_y=evt.pageY;
}
}

228:Name_Not_Found
07/06/21 18:40:35
>>224
おおっ、すごい。そういう手があったか。どうもです。

229:Name_Not_Found
07/06/21 18:46:44
チャレンジしてみようと思ったんだけど、円のは難しいね。
四角のやつでやってみたよ。
明度無視だが、こんな感じでいいのかな。
ちなみにJavascriptは拾ってきたの使うレベル。

ピッカーサイズ:p
カーソルの位置:x
1つの範囲のピクセル数:ap = Math.floor(p/6)
x座標が属する範囲:a = Math.ceil(x/ap)
x座標の範囲内での位置:ax = x-(ap*a)
増減させる値:as = Math.round(ax*ap/255色*x)

あとはaの条件で分岐
 x座標が1番目の範囲内ならRが255で、Gが0から255まで増える
 x座標が2番目の範囲内ならGが255で、Rが255から0までが減る
 x座標が3番目の範囲内ならGが255で、Bが0から255まで増える
 x座標が4番目の範囲内ならBが255で、Gが255から0まで減る
 x座標が5番目の範囲内ならBが255で、Rが0から255まで増える
 x座標が6番目の範囲内ならRが255で、Bが255から0まで減る

230:229
07/06/21 18:48:38
間違い x座標の範囲内での位置:ax = x-(ap*a)
正しい x座標の範囲内での位置:ax = x-(ap*(a-1))

でもこれだと、座標0の時に色0にならんから、ifかなんかでやるしかないか。

231:Name_Not_Found
07/06/21 19:41:08 rOEcBZgr
基本的な質問ですいません。
他の言語(例えばCとかRubyとか)も日付関数のミリ秒の起点はJavaScriptと
同じなのでしょうか?


232:Name_Not_Found
07/06/21 19:43:11
カラーピッカーはFLASHで作るのが正解。

233:Name_Not_Found
07/06/21 20:34:09
正解(笑)

234:Name_Not_Found
07/06/21 20:56:10
正解なんて無い

235:Name_Not_Found
07/06/21 22:19:53
模範解答

236:Name_Not_Found
07/06/21 23:04:50
画像用意してマウスポインタを適当にいじればいいのに

237:Name_Not_Found
07/06/21 23:16:41
>>236
それじゃ彩度や明度を選んだら対応してピックする
画面が変化するという機能がつけられないだろ。 >>216-217 みたいに。

238:Name_Not_Found
07/06/21 23:26:40
透明度使えばいいじゃん

239:Name_Not_Found
07/06/21 23:35:50
色相、彩度は画像にして、明度のみ生成するって手もある。

240:Name_Not_Found
07/06/22 00:24:48
成分値は全部数値で入力させる

241:Name_Not_Found
07/06/22 00:52:59 uKykU1oi
>>91さんのを応用して以下のようにしたいのですが、<style>~</style>が
反映されません。<head>内に続けて書くことは無理なのでしょうか?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title></title>
<script type="text/javascript">
function check_nonempty(fname, ename) {
var e = document.forms[fname].elements[ename];
if(e.value == '') { e.style.background = 'red'; return false; }
e.style.background = 'white'; return true;
}
function check() {
var result = true;
if(!check_nonempty('f0', 't1')) result = false;
return result;
}
</script>
<style>
<!--
body{
scrollbar-arrow-color:#2f231e;
scrollbar-base-color:#ffffff;
scrollbar-darkshadow-color:#2f231e;
scrollbar-highlight-color:#2f231e;
scrollbar-shadow-color:#2f231e;
scrollbar-track-color:#ffffff;
}
-->
</style>
</head>
<body>

242:Name_Not_Found
07/06/22 01:44:56
>>241
JavaScriptの問題じゃない。
scrollbar-*は、標準モードではhtml要素に適用する。
両方指定しておけば無難かと。

ところで、Operaもこれに対応していたんだな。知らなかった。

243:Name_Not_Found
07/06/22 02:02:21
>>242
ありがとうございます。
いまいち区別がついていませんでした。
スレ違いとは思いますが、>両方指定しておけば無難かと
とは具体的にどのように指定すればよいのでしょうか?
無知ですみません。

244:Name_Not_Found
07/06/22 02:14:11
html, body {

スレ違い

245:Name_Not_Found
07/06/22 02:27:51
で、カラーピッカーは誰も答えれないと

246:Name_Not_Found
07/06/22 02:47:29
>>244
ありがとうざいました!

247:Name_Not_Found
07/06/22 02:59:24
>>245
いくつかコードが出てたみたいだけど
まだ解決してないの?

248:Name_Not_Found
07/06/22 05:00:06
カラーピッカーなんて腐る程作られたやつあるんだし
そのまま使うなり読むなりすりゃいいのに。

249:Name_Not_Found
07/06/22 09:15:09
カラーピッカーの元質問者が何を求めているのか未だに
分からないんだが。

250:Name_Not_Found
07/06/22 11:41:46
>>245
おまえ、バカだろ

251:Name_Not_Found
07/06/22 12:29:56 hXia+qYZ
質問ですが、JavaScriptって文字列変数がそのまま配列格納に
なったりするんですか?気持ち悪い言語だとは聞いていました
が、なんかバギーは現象は大丈夫ですか?

252:Name_Not_Found
07/06/22 13:00:30
>>251
JavaScriptは変数には型がない。配列等はすべてオブジェクト。
RubyもPythonもPHPもおんなじでしょ。でそれが何か。

253:Name_Not_Found
07/06/22 13:46:49
「文字列変数」という言い方にカビの生えたBASIC臭がするんですが。

254:Name_Not_Found
07/06/22 13:52:21
言語仕様と実装のバグは無関係。
バギーいいたいだけちゃうんかと。

255:251
07/06/22 15:49:49
>>252
さんくす。2行目がないと満点なんだが、周りから一言多いって
言われてない?

256:Name_Not_Found
07/06/22 16:55:01
>>255
悪いけどアンタに満点もらうのは却ってうれしくない気がするわ(笑)。

257:Name_Not_Found
07/06/23 00:25:16 pf5WOtYh
質問です。
ifで分けるとき、
if(A){.....}
if(B){.....}
if(C){.....}
のように羅列する書き方を見ますが、これは、
elseを使わなくてもこの書き方でも良いので
しょうか。基本なのでしっかり知りたいです。

258:Name_Not_Found
07/06/23 00:32:49
>>257
その場合だと3回評価するじゃん
else付いてたら始めのAを評価した時点でBとCを評価せずに抜けるでしょ
って、このくらいならどの本でも書いてありそうだけど何が聞きたいの?

259:257
07/06/23 00:38:16 pf5WOtYh
>>258
>何が聞きたいの?
正しい書き方です。でもご説明だとどっちでも良いということですか?
おけがでスッキリしました。ありがとうございました。

260:Name_Not_Found
07/06/23 00:45:25
>>259
どっちでもよくはない

261:Name_Not_Found
07/06/23 00:47:29
          /::::)(:::)(:::::::::::)(::::::^::::::::::\
      (::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::\
     /::::::::::/ノ::::::::ノ::::::::ヽ:人::::::::::ヽ:::::::::::::::)
     (::::::::::/  ):::ノ::::ノ ) ソ ヾ::::::::::::丶::::ヽ
    (:::::::::/ 彡  ノ   ノ  :: 彡:/)) ::::::::::)
   (::::::::::/彡彡彡彡彡   ミミミミミミミ :::::::::::)
   ( :::::::// ̄ ̄ ̄ ̄ヽ===/ ̄ ̄ ̄ ̄ヽ |:::::::::)
     | =ロ   -=・=-  ∥ ∥ -=・=-   ロ===
     |:/ ∥    / /ノ  ヽ \     ∥ ヽ|ヽ       _________
     |/  ヽ`======/ .⌒ ` ========ノ.   ..| |     /
    .( 。 ・:・‘。c .(●  ●) ;”・u。*@・:、‘)ノ  /
   ( 。;・0”*・o; / :::::l l::: ::: \ :。・;%:・。o ) <世界で一番、標準規格を捻じ曲げている企業に「W3Cに準拠した」とか言われてもなぁ(苦笑)
    (; 8@ ・。:// ̄ ̄ ̄ ̄\:\.”・:。;・’0.)   \
   .\。・:%,: )::::|.  ̄ ̄ ̄ ̄  | ::::(: o`*:c /..    \_________
    \ ::: o :::::::::\____/  ::::::::::   /
      (ヽ  ヽ:::: _- ::::: ⌒:: :::::::: -_    ノ
       \丶\_::_:::::_:::: :::::_/::::  /
        | \ \ ::::::::::: :::::::::: ::: ::__/ |
    ̄ ̄\ 丶  ̄ ̄ ̄ ̄ ̄ ̄ ̄    / ̄ ̄

262:Name_Not_Found
07/06/23 00:54:05
>>257
たとえば配列aに入っているデータで正のものと奇数のものとを
数えたいとする。
var pluscount = 0, oddcount = 0;
for(var i = 0; i < a.length; ++i) {
if(a[i] > 0) ++pluscount;
if(a[i] % 2 == 0) ++oddcount;
}
別の例として、正のものと、正でない奇数との数を数えたいものとする。
for(var i = 0; i < a.length; ++i) {
if(a[i] > 0) ++pluscount;
else if(a[i] % 2 == 0) ++oddcount;
}
ね、どちらが必要な場合もあるでしょ。∴正解は「適切な方を使う」だね。

263:Name_Not_Found
07/06/23 05:39:59
素人っぽい質問で申し訳ないんですが、例のカラーピッカー>>151のやつって
javascriptで作ったものなのなのでしょうか?
もしそうであれば、似たような感じでマウスのポインタを画面の◎部分に当て
て座標値を移動する、それに連動する感じでグラフ(曲線)も動くみたいな
ことをjavascriptでweb上で表示することは可能ですか?

264:Name_Not_Found
07/06/23 06:48:52 R24aA9AM
>>263
>マウスのポインタを画面の◎部分に当てて座標値を移動する
"◎部分" とは ?
"座標値を移動する" とは日本語として変じゃない ?

265:Name_Not_Found
07/06/23 06:49:13
やろうと思えばできる
あまりスマートではないが

266:Name_Not_Found
07/06/23 07:46:03 ogCAOMaX
質問があります。URLリンク(w2.oroti.com) こちらの方で
製品の一覧テーブルから条件を絞って結果を表示するページを製作しているのですが
左側で条件を指定してもレコードの部分に条件にマッチする製品の総合数の表示、
右側のテーブルがマージされず困っています。
URLリンク(w2.oroti.com) にコードを書いているので
どこが悪いか指摘してくださる方、いらっしゃいましたらご教示の方をお願いします。


267:Name_Not_Found
07/06/23 08:26:55
>>266
直そうかと思ったが、突っ込みどころ多すぎて全部指摘できないぞ。
全部一気に作ろうとするんじゃなくて、alert()仕込むとかして順に作っていけよ。

面倒ならここに依頼するのもいいかも
スレリンク(hp板)l50

268:Name_Not_Found
07/06/23 08:33:53
>>266
とりあえず init() がどこからも呼ばれていない

また行き詰まったらおいで

269:Name_Not_Found
07/06/23 08:45:19 ogCAOMaX
>>267
レス、直そうとしてくれてありがとうございます。
昨日の23時位からずっと製作していて、エラーは発生しなくなったのですが
相変わらず求めている結果にはなりません。
alert()を含めてもう一度チェックしつつ、丸投げの方もしてみます。

>>268
今、修正しました。痛恨のミスですorz
bodyから呼び出すようにしたのですが、相変わらず変化なしです。

270:Name_Not_Found
07/06/23 08:47:23
>>269
変化はあるはずなんだが…

IE なら黄色の三角が出てるでしょう

271:Name_Not_Found
07/06/23 09:20:37 R24aA9AM
>>267
正直, "面倒だ" と思ったけど, 逃げられそうにないなぁ.
先回りして それらしいものを作っとく.

272:Name_Not_Found
07/06/23 09:21:48 1kPbY9Pe
データの受け渡し方、受け取り方ってどうしたらいいですか?
具体的には、
リンクがいくつかあって、どれをクリックしても飛び先は同じ
ただ、押したリンクによって、表示される画像が違う、というものが作りたいんですが、
受け取ったメソッドをif構文で処理して画像を、というのはわかるんですが、渡し方、受け取り方がわかりません。
教えて下さいますようお願いします。

273:Name_Not_Found
07/06/23 09:23:32 ogCAOMaX
>>270
エラーが出ていますね…orz
ちょっと外の空気を吸ってきます。

一応ですが、JavaScriptを書いていない元ファイルを晒しておくので良かったら見てみてください。
URLリンク(w2.oroti.com)

274:Name_Not_Found
07/06/23 09:24:50 ogCAOMaX
>>271
ありがとうございます…orz 本当に感謝します。

275:Name_Not_Found
07/06/23 09:37:50 1kPbY9Pe
>>272
> 受け取ったメソッドをif構文で処理して
処理を処理して、っておかしいですね
perlのgetとか$ENV{'QUERY_STRING'}にあたる処理が知りたいんです

276:Name_Not_Found
07/06/23 09:38:19
このスレで「手取り足取り」するのやめてくれないかな。
そういうスレじゃないでしょ。「手取り足取り」が落ちる
のならそれは製作板がそういうものだということで、この
スレを「手取り足取り」にしたらこれも落ちるだけだろ。

277:Name_Not_Found
07/06/23 09:54:48
>>275
Perlのgetって何するの。$ENV{'QUERY_STRING'}だったら
location.queryだけど。

278:Name_Not_Found
07/06/23 10:00:53 1kPbY9Pe
>>277
<a href="index.cgi?data=one">1です</a>
<a href="index.cgi?data=two">2です</a>

みたいなHTMLがあって、2ですをクリックすると、
index.cgiで$ENV{'QUERY_STRING'}に「data=two」が送られます

a要素かなにかでなんらかの情報を付与させて送って、
受け取ったhtnl側で「aをもらってるからこっちの画像に」「bだからこっちの画像に」みたいにしたいんです

できない仕様なんでしょうか?
jsでcssを指定したデータって別のページでも継承してた記憶があるので、それを探してみることにします

279:Name_Not_Found
07/06/23 10:18:07 1kPbY9Pe
>>277
locationで調べたら、location.searchが出てきました
これが一番ほしいものに近いみたいです
有難う御座いました

280:Name_Not_Found
07/06/23 10:33:31
>>279
スマソかった、つい間違えた…

281:Name_Not_Found
07/06/23 10:36:29 1kPbY9Pe
>>280
いえとんでもないです
そのお答えがいただけてなかったらlocationに気付くことはなかったです
感謝しています

href="sample.html?active">で?activeが渡せるようになったので、
次はそれで<img src="active.jpg">にもっていけるように勉強してみます

有難う御座いました

282:Name_Not_Found
07/06/23 12:06:43 fEmCbeMN
function closeElements(source, otherids) {
var arr_other_elements = otherids.split(",");
for(i=0; i<arr_other_elements.length; i++) {
if(document.getElementById('img' + arr_other_elements[i]).name == 'close') {
document.getElementById('element' + arr_other_elements[i]).style.display = 'none';
document.getElementById('img' + arr_other_elements[i]).name = 'open'
document.getElementById('img' + arr_other_elements[i]).src = source + 'plus.gif';
}
}
}

ある要素をクリックするとチェックボックスが二つ表示され
もう一度クリックするとチェックボックスが非表示になるスクリプトなのだが
document.getElementById('img' + arr_other_elements[i]) has no propertiesというエラーが発生

無知な上他人のスクリプトを使っているから助けてほしい

283:Name_Not_Found
07/06/23 12:11:58
>>282
その要素に正しくIDが振ってないとかじゃねの?
alert('img'+arr_other_elements[i]);
をループ内に入れて実行してみては。しかしなんでそんな
面倒なことしてるのかよく分からんけど。

284:Name_Not_Found
07/06/23 12:13:06
<a onClick=alert(this.innerText) href="javascript(0);">TEST</a>

というようなリンクを動的に作り、クリックすると"undefined"が表示されます。
オブジェクトであるthisを取れない原因としては何があるのでしょうか?
どうぞよろしくお願い致します。

285:Name_Not_Found
07/06/23 12:21:21 fEmCbeMN
>>283
HTML要素にはimg1しかない上、そのFunctionを読み込まなければ一見正常なのだが
そのFunctionが何をするのか分からないためエラーを直したい

ちなみにスクリプト全体としてはそのFunctionの上にもう一つ。
function changeVisibility(displayid, source, otherids) {

var displayelement = document.getElementById('element' + displayid);
var imgelement = document.getElementById('img' + displayid);
if(imgelement.name == 'open') {
displayelement.style.display = 'block';
document.getElementById('img' + displayid).name = 'close';
document.getElementById('img' + displayid).src = source + 'minus.gif';
if(otherids.length)
closeElements(source, otherids);
}
else {
displayelement.style.display = 'none';
document.getElementById('img' + displayid).name = 'open';
document.getElementById('img' + displayid).src = source + 'plus.gif';
}

}

286:Name_Not_Found
07/06/23 12:22:38
さあ… innerHTMLだと取れるけどなあ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
</script>
</head><body>
<p><a href="#" onclick="alert(this.innerHTML)">test</a></p>
</body></html>

287:Name_Not_Found
07/06/23 12:25:47
>>285
言ってることが分からないのか?getElementByIdの引数で
指定しているID名とHTML側のID名が一致してないから出るエラー
だろ。だからHTML側も貼らないとチェックできない。もっとも
そんなの自分でチェックすりゃいいじゃん。

288:Name_Not_Found
07/06/23 12:30:51
>>284
普通に動くが。
どうやって動的に作っているかという方が問題かな。
そっちのスクリプトを出してもらわないと。

てか、IE以外のブラウザを使っているっていうオチじゃないよな?

289:284
07/06/23 13:12:25
レスありがとうございます。あいまいな質問でしたので補足です。
使用ブラウザはIEとIEベースのタブブラウザです。
動的に出力した部分のソースは間違いなく
<a onClick=def(this) href="javascript(0);" value="test">TEST</a>
となっています。自作関数def()の中で、
obj.value, obj.innerText, obj.hrefを表示させようとするとinnerTextのみが表示されないので
クリックされたタグ全体をアラートしたところ、
"<a onClick=def(this) href="javascript(0);" value="test"></a>"
と、innerTextが消えてしまいます。






290:Name_Not_Found
07/06/23 13:22:27 fEmCbeMN
>>287
そのことは>>285の最初に書いてあるとして、今Javascript側のIDをimg1にして合わせたのだが
今度は何故か要素をクリックしてもCheckboxが現れない

やはりcloseElementの関数を読み込まなければ一見正常なので、
可能ならcloseElementがどういった関数なのか教えてくれ

291:266
07/06/23 13:38:46 ogCAOMaX
266です。
alert()を仕込んで、どうにか左側に右テーブルの合計数は出るようになりましたが、
Line8と69に「Not Implemented」というエラーがずっと出続けてどうにもならない状態になっています。

URLリンク(w2.oroti.com)


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