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

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

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

    【環境】IE9・IE10・Firefox・Chrome
    【何をしたのか】ファイルをPOSTした
    【エラーメッセージ】特になし
    【期待する結果】画面遷移をせずに選択したファイルをPOST送信したい
    【サンプルコード】
    こちらでの質問でよいのか判断がつきかねるのですが
    type=fileで選択した画像をPOSTしたいと考えておりますが

    var image = $("#registerd [name=image]").val();

    としてもimageには何も入っておりません。
    その他のtype=textなどは取得できてPOST出来ております。

    選択された画像を取得するにはどのようにすれば良いのでしょうか?
    識者の方たちのアドバイスいただけると助かります。

    502 = :

    >>501
    残念ながらjQueryでは選択したファイル内容を取得できない。
    取得するにはFile APIを使用する必要がある。

    ただしFile APIはIE10から対応だから
    IE9では動かない。

    画面遷移をせずにファイルをPOSTするだけなら
    iframeを使ってできる。これなら古いブラウザでもOK

    503 = :

    なお、ここらへんを意識せずにやってくれるライブラリがある。
    検証したわけじゃないからオススメは言えないが

    「ファイル アップロード JavaScript ライブラリ」あたりで
    検索すると沢山出てくるよ。

    良さそうなのがあったら教えてくれw

    505 = :

    idがabcのtrタグ内にある、nameが_defで終わるnameをリストしたい。
    一番スマートな方法は?

    <tr id="abc">
    <td><input name="fas_def" /></td>
    <td><input name="sec_def" /></td>
    <td><input name="thr" /></td>
    <td><input name="fou_def" /></td>
    <td><input name="fif" /></td>
    <td><input name="six_def" /></td>
    </tr>

    506 = :

    >>505
    一行で書いてみた。動かしてないけどこんな感じかな。

    var names = $.map($('#abc [name$="_def"]'), function(e) { return e.attr('name') });

    508 = :

    少し間違った。こうだった

    var names = $.map($('#abc [name$="_def"]'), function(e) { return e.name })

    ブラウザがarrow functionをサポートしてれば更に短くこう書ける。
    var names = $.map($('#abc [name$="_def"]'), e => e.name)
    ;

    509 = :

    もしイベントが並行に実行されるのなら、
    関数Aの実行中にもう一つ、
    同じ関数Aが実行される可能性があるので、

    すべての関数を再入可能にしなければならないし、
    すべてのグローバル変数を、ロックしなければならない
    つまり、マルチスレッド・プログラミング

    もしそんなに難しいなら、
    誰もプログラミング出来ないはずだから、
    そんなことはあり得ない

    そもそもJSで、ロックやマルチスレッド・
    プログラミングについて、書いている本があるのか?

    >>504
    jQueryの質問は、jQueryのスレへ書き込んで

    510 = :

    JSで画像をブラウザの表示領域内に表示されるまで読み込ませない、という処理は可能でしょうか?

    511 = :

    このスレはjqueryの話題も排除しません

    512 = :

    >>499
    ありがとうございました
    JSのイベント周辺について書かれている仕様書とは何でしょうか?
    http://www.ecma-international.org/ecma-262/5.1/
    これを見てもイベントについてはなぜか書かれていないようです

    514 = :

    >>510
    可能だし、最近よく見る
    jqueryのプラグインにありそう

    515 = :

    >>510
    http://codezine.jp/article/detail/7623

    517 = :

    >>514,509
    やはりJavaScript無効環境に対応するにはHTMLにnoscriptを入れないとだめなようですね
    今から大量のimgタグにそれをするのは大変なので諦めます ありがとうございました

    519 = :

    >>516
    DOMの方に書かれているんですね
    ありがとうございました

    520 = :

    jQuery初心者で勉強中の者です。

    http://calie.jp/beashow/index.htmlのサイトのような
    画像を読み込んだら自動で画像がフェードインしエフェクトが動く動きを実現するには

    jquery.inview.jsとjquery.easing.1.3.js

    が必要だということはわかったのですが、どのように記述すれば実現できるのかがわかりません。
    スクロールしてその画像がみえてきたときに画像をよみこんでフェードインさせた画像を左右上下にエフェクトをかけて表示させる方法を詳しい方ご教授いただけないでしょうか

    522 = :

    >>521
    断る

    523 = :

    荒らしには反応するだけ無駄ですよ

    525 = :

    誘導厨はプログラム板へどうぞ

    526 = :

    これにタイムアウトを組み込むことは無理でしょうか?
    検索するとajaxでは見るのですが単純なpostではみかけませんでした。

    $("form#sample").submit(function(){
    var mail = $("#sample [name=mail]").val();
    $.post(
    'foobar',
    {
    'mail': mail
    },
    function(data)
    {
    if( data == 'success')
    {
    alert('OK');
    }
    else
    {
    alert('NG');
    }

    }
    );
    });

    使用している部分が多いのでajaxに変更することなく、
    これにタイムアウトがつけれればと考えています。

    527 = :

    JavaScript を自ら学ぶ人の質問はなかなか見ないな

    528 = :

    FormDataっていうのもあるのか。
    でもこれHTML5の内容だな。
    やっぱり古いブラウザではJavaScriptで
    ファイルの送信ってきついの?

    529 = :

    >>528
    > FormDataっていうのもあるのか。
    HTML5 は関係あるのか?
    XMLHttpRequest Level 2 の FormData の事ではないのか?
    http://www.w3.org/TR/XMLHttpRequest2/#interface-formdata

    530 = :

    XMLHttpRequest Level 2 ってHTML5の一部でしょ?

    531 = :

    XMLHttpRequestはデータの送信だけだから
    ローカルのファイルを読み込むには
    別の技術が必要になるのでは?

    532 = :

    >>530
    違う

    533 = :

    >>526
    一旦サブミットイベントにフラグでreturn falseして、タイムアウトの関数でフラグを変えもう一回サブミットをよぶ。これはフラグで通すとか。

    534 = :

    >>492 >>499
    setTimeout の task source は timer task source と呼ばれるものが
    仕様に定義されている
    www.w3.org/TR/html5/webappapis.html
    したがってevent loop の task source とは別なので queue も別になるだろう

    >>490
    その eventの propagate が終了するまでは同期的に実行される筈
    DOM仕様のアルゴリズムでも非同期には処理していないし
    例えば dispatchEvent は同期的に実行される

    >>531
    送信だけって、リクエスト送ればレスポンス受信できるじゃないか?
    ローカルファイルは FileAPI

    535 = :

    同期的と非同期的の意味が分からなくなってきました
    関数発行後すぐに実行されるのが同期的、
    発行してから実行されるまでタイムラグがあるのが非同期的
    と思っていたのですが違いますか?

    536 = :

    >>535
    違います。

    同期は関数を実行して処理が追わらないと
    関数から処理が戻らないものです。

    その関数の処理が10秒かかる重い処理であれば
    10秒の間、その他の処理は一切できなくなります。
    だから非同期を使うんですね。

    タイムラグが有るかどうかは関係ありません。

    538 = :

    >>536
    すると非同期関数は、実行中に処理が戻ってくることがあるのですか?
    遅延実行されるだけで、実行中はブロックされると思ってました

    540 = :

    シングルスレッドで動いているJSが
    ノンブロッキング処理できるのは何故ですか?

    541 = :

    innerHTMLだったりjqueryのhtmlだったりって非推奨なのですか?
    documentに大量ノードがあって、あからさまにid=hogeのテキストだけ更新、みたいな場合なら
    やらないほうがいいというのはわかるのですが
    何が何でも部分的にappendやらremoveやらをちまちま更新した方が良いのでしょうか?

    542 = :

    普通に使っていい

    543 = :

    >>540
    シングルスレッドで動くのは、JavaScriptの実行環境で動く
    あなたが作ったスクリプトであって、
    JavaScript実行環境自体はマルチスレッドだからです。

    544 = :

    >>538
    最後の行の認識で合ってる
    10秒かかる関数なら同期だろうと非同期だろうと10秒ブロックされるのは一緒
    その時点で実行される(同期)かされない(非同期)かってだけ
    WebWorkerを使わない限りはシングルスレッド

    546 :

    >>541
    innerHTMLの問題点がわかっているなら使ってもいい

    547 = :

    innerHTMLの問題点なら、jQueryのparseHTMLメソッドで解決できるよ。
    だから今更遅いappendやremoveなんかを使う理由がない。

    548 = :

    innerHTMLの問題点って出力にそのまま使ったりしちゃ(攻撃者のコードが入るかもしれないから)ダメよってことであってる?

    549 = :

    >>544
    ありがとうございました

    550 = :

    >>543
    それは違うのでは?
    仕様書にJavaScriptはマルチスレッドでなくてはいけないとか書かれてるんですか?


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

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


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