フォームの値からURLルーティング用のURLを作成するjQueryプラグイン
元々は、symfonyのキャッシュがGET, POSTリクエストだと作成できないので、フォームの値をURLに埋め込もうとして作りました。
URLルーティングとは
/user?name=TakiTake&age=24
のようなURLを
/user/name/TakiTake/age/24
と表現すること。
使い方
genUrlを呼ぶと、フォーム以下の要素の値をURLにして返します。
/** * generate URL for routing from Form * * <form> * <input type="text" name="user" value="TakiTake"> * <select name="like"> * <option value="javascript" selected>javascript</option> * <option value="PHP">PHP</option> * <option value="C">C</option> * <option value="JAVA">JAVA</option> * </select> * <textarea name="comment">眠い</textarea> * </form> * * $(form).genUrl() // /user/TakiTake/like/javascript/comment/%E7%9C%A0%E3%81%84 */ jQuery.fn.genUrl = function() { var url = ''; // collect input, textarea, selectbox, checkbox elements's name and value by serializeArray method // join to /name/value jQuery.each(this.serializeArray(), function() { if (this['value'] == '') return; url += '/' + encodeURIComponent(this['name']) + '/' + encodeURIComponent(this['value']); }); return url; };