2017-07-30 75 views
1

有人給我答案 Redirect user to directory based on form inputJavaScript的基於表單輸入重定向用戶到目錄

<form onsubmit="location.href='http://www.example.org/' + document.getElementById('myInput').value; return false;"> 
<input type="text" id="myInput" /> 
<input type="submit" /> 
</form> 

的代碼來實現這樣在瀏覽器中的一部分:

http://www.example.com/contact

我的問題是, :

這個地址不能和我一起工作沒有添加擴展的.html

這樣

http://www.example.com/contact.html

我在的.htaccess

閱讀解決方案,但我期待,如果我們能夠在Java腳本實現這個太

所以使用剛輸入詞聯繫爲例 和java腳本之前做的其他?

regrads

+0

當URL指向「/ contact」時,打開「contact.html」頁面是服務器端的事情,所以它不能單獨在JS中完成。但爲什麼不使用「/contact.html」? – obe

+0

一個非常醜陋的黑客將包括從URL中的'contact'關鍵字並使用ajax請求該頁面。 – gaganshera

+1

所以你想發送用戶到contact.html,但有URI /聯繫? –

回答

0

正如其他人在評論中提到,該辦法讓你問的是一個規則添加到的.htaccess 100%(假設的Apache),使服務器添加文件延期。

我想你可以在客戶端做純粹最接近的是簡單地添加.HTML自己,也許是這樣的:

<form onsubmit="handleFormSubmit();"> 
<input type="text" id="myInput" /> 
<input type="submit" /> 
</form> 

然後在某處你的JavaScript:

function handleFormSubmit() { 
    var destinationUrl = 'http://www.example.org/' + document.getElementById('myInput').value + ".html"; 

    window.location = destinationUrl; 
} 

然而,我看到你想要做的最大的問題是,你依靠用戶知道可用頁面的名稱是什麼,除非你在服務器端有更多的東西。

相關問題