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

javascript

IEはfor..ofループ使えないし、IE8はarray.indexOfすら使えない

どもです。
タイトル10割の備忘録。

モダンブラウザで動かすなら、これだけの処理。

まず、IE11すらfor..ofは使えないので、こうなります。

しかしIE10以下はletが使えないので、こうなります。... 全文を読む »

scriptタグの中のURLはHTMLエスケープしちゃダメ…のはずが。

どもです。

とある旧いWebシステムのアップデートを行いました。
どれくらい旧いかといえば、推奨環境がIE5~8という旧さです。

で、アップデートの直後、窓口の方から「ボタンを押したらエラーになった!」と報告があったのですが、詳しく状況を伺うと推奨環境のIEでなくGoogleChromeでアクセスしていること、そもそも今回アップデートした箇所とは無関係であることがわかりました。ヲイ。

で、肝心の何がエラーを起こしていたのか、ですが。... 全文を読む »

$(document).keypress(function(){})はスマホの個体差で爆死することを僕は学んだ。

どもです。

バーコードリーダをBluetoothでスマホに接続するタイプのウェブシステムを作っていたのですが、いざ実機(AndroidのGoogleChrome)で動かしてみると稀にホーム画面に飛んでしまう。なにゆえ?

再現条件を調査したところ、
①alertでOKを押した直後、またはalertのフォーカスを外した直後
②Enterに相当するキー(CR)が入力されると... 全文を読む »

XMLなのにresponseXMLがnullでresponseTextに値が入るときに確認すること

どもです。

XMLをjsで読み込む簡単なプログラムを作っていたはずなのですが、何故か読み取ったファイルのresponseXMLがnullになる。
responseTextには読み込んだファイルの中身が入っているので、読込後のエラーのはずです。

overrideMimeType()など試してみましたが、どうにもダメ。テキストでしか読めない。何故だ…

と思っていたら、思わぬところにヒントを発見。... 全文を読む »

Ajaxで403エラーを食らった原因がファイル拡張子だった話。

どもです。
AjaxでデータをPHP処理しようとしたところ、403エラーになりました。

ForbiddenYou don't have
... 全文を読む »

jQueryのイベント発火順を理解して、簡単に「それ以外を押したら閉じるサイトメニュー」を実装する。

どもです。

HTML&CSSコーダーから離れて久しい僕ですが、久しぶりにまともにスマホ用ページを作ることに。
というわけでタッチで開閉するメニューを…

と思ったのですが、スマホ用ブラウザやアプリが使い勝手良く進化しているので、4年前の記事... 全文を読む »

inputに半角だけ入力させたい

どもです。
フォーム回りは本当にブラウザ差異が活発極まりなく。

さて、まずはこの要望についてですが、
ブラウザ側での制御はいくらでも抜け道があるため、action側で全角⇒半角処理を行う... 全文を読む »

text()で改行コードを含むテキストを取得、alert()とかconfirm()とかtextareaとかに出力したかった話。

どもです。
jsのしょーもない話です。

PHPで改行コードを含むテキストをHTML上に出力、jsでそれを拾ってconfirm()に表示、ってやりたかった。

<p>このテキストを出力したい。\n改行もしたい。</p>

message
... 全文を読む »

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

どもです。

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

$.map(array
... 全文を読む »

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

どもです。

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

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

どもです。

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

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

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

ステップ操作のトリガー扱いにブラウザ差異があるのでinput[type=number]を使う際は注意。

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

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

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

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

どもです。
jQueryでフォームを制御していたら、submitできない事案が。
コンソールに「TypeError: s[y] is ... 全文を読む »

変数.match()でも配列を取得したい!

どもです。

jsの正規表現で、変数を使用したい場合。
var regexp = ... 全文を読む »

keyup / keydown の使い分け

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

jQueryでキーを押したときの動作といえば、
keydown / ... 全文を読む »

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

どもです。

今回の課題は、jQueryからphpを実行して、返り値に配列を受け取って再びjsで処理 です。
ajaxは不慣れなので、基本から踏まえましょう。

①基本形

... 全文を読む »

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

どもです。

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

解決です。... 全文を読む »

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

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

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

一般サイトだと時代遅れのブツではありますが、... 全文を読む »

複数のカテゴリから残り1つのカテゴリを絞り込み、選ばれたカテゴリからページを取得する

どもです。

今回のお題はこんな感じ。

カテゴリ①②の両方を持つpostのカテゴリ③だけが表示される→選択されたカテゴリ名.htmlを取得して表示!

…この図でわかるのだろうかw
説明しますと、

複数の種類のカテゴリと(カテゴリ①~③)、... 全文を読む »

GoogleChrome、IEでwindow.openの幅・高さの設定が反映されなかったら

どもです。

jsでポップアップウィンドウを開くwindow.openについて、
些細な躓きを見つけましたのでご報告をば。

window.openでwidthを設定しているのに、GoogleChromeだと設定が反映されない

といったご相談を受けました。... 全文を読む »