ど素人から毛を生やす。<延>

javascript

jsでforeachがやりたいとき、jQueryが使えるなら$.map()が一番それっぽい。

Web > javascript 2018年5月2日(最終更新:25日前)

どもです。

jQeryの$.map()って、普段は$("input").map(function(){})みたいに
要素をループさせるのにばかり使っていたのですが、foreach的な使い方ができたんですね。

$.map(array, function(value, key){ })

こーすると。

しかもこのarrayのところ、オブジェクトでもOK。つまり連想配列OKです。やったぜ。

このとき、thisとvalueは同じものが入るので、セレクタとして使いたいときは$(this)でも$(value)でも可。... 続きを読む »

endsWith()って超イイ感じだけどIEの野郎が非対応なんだって!

Web > javascript 2018年4月20日(最終更新:1月前)

どもです。

jsで後方一致が使いたいがために、endsWith()を使いました。
そうしましたところ、

( ゚Д゚)「endsWith()はIEが対応してないから、作り直して!」

(*'ω'*)「今時IEなんて対応して誰が得するんだよォオオオオオオ!!!」

//IEがendsWithサポート外だった系。
function IE_endsWith(target, str){
	var userAgent = 
... 続きを読む »

動的に増やしたhtml要素を操作するjQueryに関するメモ書き

Web > javascript 2018年3月23日(最終更新:2月前)

どもです。

jsで動的に増やしたhtml要素を操作するjQueryに関して、今更感漂うメモ書き。
何かあったら都度増えます。たぶん。

.click()は効かない。.on()を使う。

追加された要素は、.click()、.change()などの古いトリガーの書き方ではトリガーにならない。

//.on()を使う
$(document).on("click", "セレクタ", function(){
});

ただし、map()などはトリガーではないので、そのまま使える。混同しないこと。


参考サイト:[Qiita]jQuery 便利なonを使おう(on click)... 続きを読む »

矢印による操作にブラウザ差異があるのでinput[type=number]を使う際は注意。

Web > javascript 2018年3月2日(最終更新:2月前)

どもです。
最近フォーム回りとSQLの話しかしてない気がする。

input[type=number]のフォーム操作について。

入力の数値に変更があった場合は再計算、という簡単なソースを作成したのですが、
Chromeでは正常に動いたのにFireFoxでは上手くいかず。

この原因が、トリガーにonBlurを使用したことでした。
どうやらChromeでは入力欄の上下矢印(あれなんて呼ぶんだろう)の操作はフォーカスが当たった扱いになるのですが、FireFoxではそうならないようです。

今回は矢印で操作したいので、onChangeに変更。

うーん、ブラウザ差異は発覚しにくいから厄介だ。(-_-メ)

この記事は役に立ちましたか?
  • _(:3」∠)_ 面白かった (0
... 続きを読む »

古いjQueryでform制御したらsubmitできない、または「s[y] is not a function」になったとき。

Web > javascript 2018年2月6日(最終更新:3月前)

どもです。
jQueryでフォームを制御していたら、submitできない事案が。
コンソールに「TypeError: s[y] is not a function」というエラーが発生しています。

このエラー自体は「関数でないものを、関数呼び出ししようとした際に発生するエラー」らしいです。
詳細はMDNへのリンクを貼っておきます。

結論から言えば、今回の原因は2つ。

ひとつは、使用していたjQueryが古かったことに起因します。なんと1.8.3。このご時世に1系です。... 続きを読む »

keyup / keydown の使い分け

Web > javascript 2017年9月29日(最終更新:7月前)

どもです。
この頃、入力フォーム周りで色々やることが多いので備忘。

jQueryでキーを押したときの動作といえば、
keydown / keypress / keyup
この3つ。

内、keypressはブラウザ差異があるので、使用の際は注意。
今回は、keyup / keydown のみ考える。

keydown ... 続きを読む »

jQueryのajaxでphpを実行して、配列を返り値にして再びjsで処理したい

Web > javascript 2017年8月18日(最終更新:8月前)

どもです。

ajax、苦手です。

苦手というか、不慣れといった方がいいかもしれません。
以前の仕事では覚える必要性の無いものだったので。

それはともかく、
今回の課題は、jQueryからphpを実行して、返り値に配列を受け取って再びjsで処理 です。

①基本形

※新
$.ajax({
    type: 'POST',
	url :'実行したいphpファイル',
	data:{ 
... 続きを読む »

input type="file"でアップロードされたファイル名を取得(IE9以下も)

Web > javascript 2017年7月13日(最終更新:10月前)

どもです。

jsにて、input type="file" でアップロードされたファイル名を参照する必要がありました。

var fileName = 対象のinput.files[0].name;

解決です。

と思いきや、

これではIE9以下では値が取得できないとのこと。

調べてみたところ、.fileにはFileAPIというものを使用しており、IEは10以上からしか対応していないと。

vistaのサポートも終わったしIE9以下とか捨てていーじゃん(゜-゜)
とか思う気持ちはありますが、仕方ないので対応しましょう。

var 
... 続きを読む »

onblurからのalartで再focusしたらバグる問題

Web > javascript 2017年6月6日(最終更新:11月前)

どもです。
まこと久々のjs関係の更新です。

テキストボックスをonblurで入力チェック、
望んだものでなければalart(もしくはconfirm)を呼び、再びfocusで入力し直させる。

一般サイトだと時代遅れのブツではありますが、
裏側ならまだ現役のalart。
こういったことは、やりたくなることがあると思います。

が、

alert("警告メッセージ");
元のテキストボックス.focus();

他の動作であれば正常に動くのですが、focusに限ってはこれバグるようです。

しかも、ブラウザによってバグの内容が異なり、
firefoxならフォーカスが移動してくれない程度で済むのですが、
cromeだと閉じても閉じても延々とalartが発動し続けるという悪夢が。... 続きを読む »