function insertParamIntoField(url, param, field) {
var anchor = document.createElement('a'), query;
anchor.href = url;
query = anchor.search.substring(1, anchor.search.length).split('&');
for(var i = 0, kv; i < query.length; i++) {
kv = query[i].split('=', 2); console.log(kv);
if (kv[0] == param) {
field.value = kv[1];
return;
}
}
}
$("a.reply").click(function () {
insertParamIntoField(this.href, "replyto", $("textarea.inputField")[0]);
return false; // prevent default action
});
Функция insertParamIntoField
будет работать для любого правильно сформированного URL (в виде строки). Он работает путем создания нового якорного DOMElement (но никогда не присоединяет его к dom) для этого URL, а затем использует встроенные свойства якорных элементов (запрос, хэш и т. Д.) Для извлечения того, что нам нужно.
Если URL-адрес принадлежит элементу привязки, мы можем создать новую версию этой функции, которая использует эту существующую привязку вместо создания новой:
function insertParamIntoField(anchor, param, field) {
var query = anchor.search.substring(1, anchor.search.length).split('&'); // anchor is a DOMElement
for(var i = 0, kv; i < query.length; i++) {
kv = query[i].split('=', 2);
if (kv[0] == param) {
field.value = kv[1];
return;
}
}
}
$("a.reply").click(function () {
insertParamIntoField(this, "replyto", $("textarea.inputField")[0]);
return false; // prevent default action
});