2013-05-13 42 views
0

這就是問題所在:我們有一個帶搜索表單的HTML頁面,並且需要採用特定引用網址的特定部分,並將它們預填充到搜索表單。如何預先將特定引薦網址中的特定文本填充到搜索表單中?

因此,用戶只需點擊搜索,而無需手動輸入查詢(因爲它已經存在)。

這裏有兩個例子與參數引薦URL和目錄

1)http://www.bing.com/search?q=tiny+cats&form=MOZSBR&pc=MOZI (因此,如果引用是bing.com,讓文字從「Q」參數。=「微小+貓」在這種情況下)

2)http://cutestcatpics.com/tag/tiny-cats/pages/1.php (因此,如果引用是cutestcatpics.com,讓文字從第2。一級目錄=「微小-貓」在這種情況下)

這裏是搜索表單的網頁:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- 

transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
</head> 

<body> 
<form action="http://search.yahoo.com/search?p=" target="_blank" id="search-box"> 
    <input type="text" name="q" size="31" /> 
    <input type="submit" value="Search" /> 
</form> 

</body> 
</html> 

任何酷開發可以幫助我呢?

在此先感謝。

回答

1

基本上你需要使用JavaScript來解析引用URL並設置輸入的值。這裏有一個出發點:

function getReferrerVariable(variable) { 
    var referer = document.referrer; 
    var query = referer.split('?')[1]; 
    if(typeof query === 'undefined') return ''; 
    var vars = query.split('&'); 
    for (var i = 0; i < vars.length; i++) { 
     var pair = vars[i].split('='); 
     if (decodeURIComponent(pair[0]) == variable) { 
      return decodeURIComponent(pair[1]); 
     } 
    } 
} 

function urldecode(str) { 
    return decodeURIComponent((str+'').replace(/\+/g, '%20')); 
} 

var input = document.getElementsByName("q")[0]; 
var term = urldecode(getReferrerVariable('q')); 
input.value = term; 

這裏有一個工作示例: http://jsfiddle.net/NgeHE/

現在,您需要修改代碼來處理你的第二個案例。

+0

男人,你搖滾。這部分工作。 – user1289292 2013-05-13 19:41:54

相關問題