home wiki.fukuchiharuki.me
Menu

*キーワード [#ua803c15]
-HTML
-JavaScript/jQuery

*概要 [#s503d100]
アンカーなんだけど(しかもパラメータつきの)ポストしたい。

URLのバーにコード値などを表示させたくないという強い要望のため。

*方法 [#ac4b2a9a]
 jQuery('a.post').click(function() {
 	var a = this;
 	var action = jQuery(a).attr('href').split('?')[0];
 	var parameters = jQuery(a).attr('href').split('?')[1];
 	var form = jQuery('<form />').attr('method', 'post').attr('action', action); 
 	jQuery.each(parameters.split('&'), function() {
 		var name = this.split('=')[0];
 		var value = this.split('=')[1];
 		jQuery(form).append(
 				jQuery('<input />')
 				.attr('type', 'hidden')
 				.attr('name', name)
 				.attr('value', value)
 		);
 	});
 	jQuery('body').append(form);
 	jQuery(form).submit();
 	return false;
 });

*解説 [#y285566c]
+ クリックイベントを拾う
+ href属性を分解する
+ formを頑張って作る
+ 作ったformをbodyにつっこんで
+ submitする

jQueryで作成しただけのDOMではどうやらsubmitできないくさい。ので、bodyにappendしてあげてからsubmitする。

*参考 [#xc93d84b]
-http://blog.bungu-do.jp/archives/3215