bookmarkletからフォーム送信するためのJavaScript。
GETリクエストであれば文字列連結でURLを作っても可能ですが、POSTリクエストはさすがにform要素を使う必要があったので、そのための手続きを楽に行うためのクラスを作ってみました。
※JavaScriptのオブジェクト指向をまだきちんと理解していないため、変な書き方をしているかも知れません。
function Formlet(url, target, method) {
this._form = document.createElement('form');
this._form.action = url;
if (target) this._form.target = target;
if (method) this._form.method = method;
document.body.appendChild(this._form);
this.param = function(name, value){
var el = document.createElement('input');
el.type = 'hidden';
el.name = name;
el.value = value;
this._form.appendChild(el);
};
this.submit = function() {
this._form.submit();
document.body.removeChild(this._form);
};
}
選択テキストをエキサイト翻訳へ送信。
(function(){
var url = 'http://www.excite.co.jp/world/english/';
var origin = (new SelectedTexts).first;
var mode = origin.match(/[^\u0000-\u00ff]/) ? 'JAEN' : 'ENJA';
var form = new Formlet(url, '_blank', 'post');
form.param('before', origin);
form.param('wb_lp', mode);
form.submit();
})();
function Formlet(url, target, method) {
...
}
function SelectedTexts() {
...
}}
YukiWiki 2.1.2
(C) 2000-2004 by Hiroshi Yuki.