onclickや、onchangeイベントを強制的に実行する方法

onchangeとかは、普通にテキストに入力してフォーカスをはずすと発生するが
javascriptで値を入れた時などには発生しないらしい。

それで無理矢理発生させる方法を見つけたのでメモ。


// clickをエミュレート
var elem = document.getElementById("my_text");
if( /*@cc_on ! @*/ false )
{
// IEの場合
elem.fireEvent( "onclick" );
}
else
{
// Firefoxの場合
var evt = document.createEvent( "MouseEvents" ); // マウスイベントを作成
evt.initEvent( "click", false, true ); // イベントの詳細を設定
elem.dispatchEvent( evt ); // イベントを強制的に発生させる
}


参考サイト

JavaScriptの動かないコード (中級編) clickイベントを強制的に発生させたい (fireEvent/createEventの使い方)
スポンサーサイト

RewriteCondでQUERY_STRINGで条件分岐した時につまった事

とあるサイトで
category_m/category.php?id=1234

category/1234.html
に書き換える必要があった。


RewriteCond %{QUERY_STRING} ^id=(\d+)$
RewriteRule category_m/category\.php$ /category/%1\.html [R=301,L]

としたら、一見うまくいったように見えたが結果は

category/1234.html?id=1234

のように、後ろに余計なものまでくっついてきた。
解決法は下記のようにする。

RewriteCond %{QUERY_STRING} ^id=(\d+)$
RewriteRule category_m/category\.php$ /category/%1\.html? [R=301,L]


1時間ぐらい止まりました・・・。

参考サイト

RewriteRule RewriteCond

プロフィール

U2K

Author:U2K
いろいろプログラムに関しての覚え書きをちょくちょくと書いていきます。

オススメ










オススメ

忍者AdMax

u2k on Twitter

最近の記事