のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,935人
昨日:no data人
今日:
最近の注目
人気の最安値情報

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

    JavaScript覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    501 = :

    >>495
    それ読んで書いたコードに再現性があるか分からんし、
    いちいち他人のためにコード書くのも馬鹿馬鹿しい。
    しかも、別の場所がバグの原因かもしれないから、
    自分で本当にバグの原因がそこか確かめるためにも、短いコードを書くべきでは?

    502 = :

    原因コード一行まで突き止めてるのに最小限を出せって・・・
    jsに詳しいならこれだけでわかるんじゃないの?
    要はこれらの明瞭な違いを理解している人いたら教えて。
    キーは数字とアンダーバーと半角英数を組み合わせた連番。
    値は数字から全角まで幅広い。

    下記は最小の再現でキーも値も例え。
    textはサーバーからでもちろんもっともっと長い。

    text = '1_a1,hoge1:1_a2,hoge2'

    以下js
    text = text.split(':');

    NG
    for(var i = 0; i < text.length; i++){
    var s_str = text[i].split(',');
    document.fomename[s_str[0]].value = s_str[1];
    }

    OK
    for(var i = 0; i < text.length; i++){
    var s_str = text[i].split(',');
    document.getElementsByName(s_str[0])[0].value = s_str[1];
    }

    504 = :

    もちろんtextはNGの時とOKの時で同じ。

    ってか、そんなにfomenameがいやならかってに置き換えてくれよ。

    506 = :

    >>487
    衝動をするって何だ、挙動の事か?

    507 = :

    途中から読み始め他人のためにもう一度言っておくと、
    NGとは違うキーと一致しないnameのinputに値が入って、
    全部埋まらずに途中でとまるってことね。
    どちらもsafari,ff,chromeでは想定どうり
    最後まで動いてくれる。

    揚げ足だけはとるんだな。
    もういいや、ieのバグで済ましとくよ。
    暇があったらmsに言ってみる。

    もしわかる人いたら教えて。

    508 = :

    あ~、もう。

    違うキーと一致しない

    キーと一致しない違う

    509 = :

    一言で言えば「IEは非標準」だから
    今更、詳しい挙動までほじくりまわすのは無駄だから、
    クロスブラウザでDOMツリー弄りたいんならjQueryでも使っとくのが既知

    510 = :

    fomenameがformnameだったとして
    inputに入れたいっていってるけどformnameがさすものがなんなのか理解してるのか?
    >どちらもsafari,ff,chromeでは想定どうり
    とか言ってるけど想定どおりになるとはその再現コードを見る限り到底思えないな

    511 = :

    なんかもう全員色々おかしなこといってるなwww
    とりあえず質問者もっと頑張れよ

    512 = :

    これはつまりさ、こんな感じのDOMがあるときに、
    <form name="fomename">
    <input name="1_a1" type="text">
    <input name="1_a2" type="text">
    </form>

    この2行ができるかって話だろ?
    document.fomename["1_a1"].value="hoge1";
    document.fomename["1_a2"].value="hoge2";
    とりあえずChromeとFirefoxなら動く

    513 = :

    >>509
    それに尽きる気がしてたまらない。

    >>511
    とくに510が見当違い・・・
    もうがんばれないよw

    >>512
    変数じゃなくて打ち込みピンポイントはieでも動いたよ。
    それは確かめた。

    514 = :

    document.getElementById("1_a1").value="hoge1";
    document.getElementById("1_a2").value="hoge2";
    とすればどれでも動く

    515 = :

    もともとvalueを入れてたとこが上書きされないんだろ?

    516 = :

    途中で書いちまったな
    とりあえず1_a1とか数字で始めるのをやめてみろ

    517 :

    IEはJavaScriptじゃなくてJScriptなんだよ
    よく似てるけど違うインタプリタなんだよ
    くわしくはMSのサイトのどこかに書いてあるからよく読んで

    518 = :

    省略形にしないでformsなりelements使えばいいだけじゃね

    519 = :

    document.forms[fomename].elements[s_str[0]].value= s_str[1];

    520 = :

    >>514
    idって・・・今そこじゃない。

    >>516
    一応ざっと調べて特に違反はしていないと思ったけど
    その辺もあるのかね。

    >>517
    もうそれはイジメだなw

    >>518
    だからな、解決はとっくにしてるんだ。

    521 = :

    >>519
    ヒントになるかもしれないが今そこじゃないんだ。

    522 = :

    >>513
    それなら、お前がつぎにためすべきなのはこれだ。
    var k1="1_a1", v1="hoge1", k2="1_a2", v2="hoge2";
    document.fomename[k1].value=v1;
    document.fomename[k2].value=v2;

    523 = :

    getelementbyid以外でアクセスする設計がアホだからどうでもいい

    524 = :

    冗談はいいから

    525 = :

    おれのIE9だと>>522どころか>>512の時点でvalueが正常に反映されないな
    FirefoxとChromeならうまくいくのに

    527 = :

    とにかくIEで動くように作れば
    他でも動く

    528 = :

    >>522
    今日はじめて次につながるかいとうをありがとう。

    >>523
    そうだよアホだよ~。
    で、事後にそれがアホな理由をきいているんだがな。
    で、ByNameもだめなのか?

    529 = :

    >>528
    俺は最初から>>512>>522で試せといってるんだ。
    ほんとアホだな。
    それで俺がわざわざためしてみると>>512すら正常に動かないのはどういうことなの?
    おまえ、ほんとは試してないんじゃないの?

    530 = :

    elementByIdだとかどうとかでなく
    アホな理由は態度がデカイからに決まってんだろw

    531 = :

    >>529
    今バックアップ持っきて試したが動いたぞ。
    でも、申し訳ないが違うinput欄にはいってた。
    他のキー名で試したら動かない。
    欄が多すぎて動いたと勘違いしてた。

    どうも変数でなくても文字列で誤作動する。

    532 = :

    むしろ使えない指定方法を無理やり
    誤作動させたみたいだ。

    533 = :

    >>531
    欄が多いから正常に動いてるのかどうかも判断できなかったわけだ。
    最小限のコードで試せってみんながうるさく言ってた意味を理解できたか?
    問題の起こる最小限のコードを作ることが、問題切り分けの一番の近道ってわけだ。

    534 = :

    ついでに、クロスブラウザ動作が目的なら、
    DOMのアクセスにはgetElementByIdを使うかjQueryみたいなライブラリを使うっていうのも常識なんでそれも理解しとけ。

    535 = :

    >>533
    最初から読んでくれればわかるけど
    間違いを見つけるのが目的じゃないことは理解してくれてる?
    ブラウザによって動きが違う言語が信用できないって話なんだよ。
    で、実際に実行が出来て、実際に違う動きをしてるんだよ。
    「指定できない方法で無理やり動かして、数打ったら
    たまたま誤作動で動いた」ってのが今回の問題。
    誤作動とか途中まで動くってのはやっぱ嫌いだな。
    間違えてるなら動かないで欲しかったよ。

    >>534
    ありがとう、覚えとく。

    537 = :

    >>535
    最初から読んでる。
    おまえは最初から>>512>>522を試してみて、そのコードと結果を書くべきだった。
    そうすれば、>>534のような答えを即貰えただろう。
    それができないからお前はアホ。

    539 = :

    ブラウザによって動きが違う言語が信用できないってアホかw
    なんでこんな奴がプログラミングしてんだ・・・

    540 = :

    おい、同じプログラムで同じデータの処理するのに
    実行する媒体で違う結果が出てどうする。
    javascriptばっか使ってるとこうなるのか?

    541 = :

    プログラムなんてOSが違えば動かなかったりするのが当たり前だが?
    プラットフォームに依存するのは当然だろ

    542 = :

    別にjavascriptに限った話じゃない
    環境の相違を他人に押し付けてやっていける奴がうらやましいな

    543 = :

    >>541
    ”たり”の部分を教えてください。

    >>542
    相当経験をつんできたんですね。
    他言語で実行結果が違う例をください。

    544 = 517 :

    >>543
    例えばC言語
    俺が大学生の時に作ったCコンパイラだと、とんちんかんな結果になったぜ

    545 = :

    >>543
    別に言語とか関係ないよ?
    OSのバージョンが上がったらアプリの動作に問題がでるとかよくあること
    APIの挙動が永遠に変わらないとでも思ってる?

    546 = :

    >>543
    printfなんて同じC言語でも出力できる型と出来ない型があるだろ?
    つまりそういうこと

    547 = :

    >>544
    いや、コンパイラ後の産物の実行結果は同じでしょ?
    そのコンパイラがieみたいにクソでしたって事はすぐわかる。

    >>545-546
    動く、動かない、出来る、出来ないの二択は別にいいんですよ。

    548 = :

    しかしブラウザによる違いを吸収してくれるようなお手軽な装置は欲しいなー
    プログラムだと中間コードやマネージコードで環境による差を緩衝したり移植のしやすくとかやってんじゃん。
    ブラウザ上となるとムズカシイのかなぁ。

    549 = 517 :

    >>547
    Cソース→gccでコンパイル→実行→正しい結果
    Cソース→俺コンパイラで→実行→おかしい

    JSソース→普通のJSインタプリタ→実行→正しい結果
    JSソース→IEのインタプリタ→実行→おかしい

    同じことじゃーん

    550 = :

    >>547
    コンパイルされた後のバイナリが呼び出すAPIの挙動が変わればアプリの動作も変わる。
    動かなくなるわけじゃなくて動作が変わることもよくある。


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について