window.openとかlocationとかsubmitとか、普通の昔から使ってたJavascriptをjQueryで書く
して「戻る」ボタンにてた訳で。
大体もうデザイナーさんから上がってきた時点で、
<a href="javascript:history.back()"><img src="images/B.gif" width="170" height="36" alt="戻る" /></a>こんなんになってたんだけども。
jQuery とか使い始めるとこういうソースがどうにも耐えられない。
html ソースの中に Javascript のコードが書いてあるのが許せない状態になってしまう。
ということで、これまではよく見かけたコードを書き換えるにはどうしたらいいか調べてみた。
まずはボタンクリックで特定のURLにリダイレクトさせるやつ。
こんなボタンがあるとして、
<input type="button" name="back" value="back" />こんな感じっすか。
$(':button[name=back]').click(function() { window.location = 'index.php'; });次、ボタンクリックで window.open サイズ指定も付けて。
$(':button[name=back]').click(function(e) { window.open('index.html','_blank', 'width=360, height=500, menubar=no, toolbar=no, scrollbars=no'); e.preventDefault(); return false; });最後、ただ単にサブミットする。ついでに hidden の値を Javascript で指定。
こんなフォームがあるとして、
<form action="index.php" method="post"> <input type="hidden" name="key" value="" /> <input type="submit" /> </form>こんな感じで。
$(':submit').click(function() { $(':hidden[name=key]').val('123'); $('form').submit(); });あと、追記だけども、HTML側で指定したフォームの飛び先(action)とは全然別のアドレスに飛ばしたい時もあるよね。
こんなんなってて、
<form action="index.php" method="post"> <input type="button" id="preview" value="preview" /> <input type="submit" /> </form>プレビューボタンを押したら、preview.phpに飛ばしたい、っていう場合、
ついでにpostじゃなくてgetにしたい、っていう場合、
こうなる。
$(':button#preview').click(function() { $('form').attr('action', 'preview.php'); $('form').attr('method', 'get'); $('form').submit(); });