|
我2008年初就研究過如何獲取文本框的值,我當時想做的網頁是:網頁上有一個文本框和一個按鈕,點擊按鈕後,跳轉到xxx.html,其中xxx為用戶在文本框中輸入的內容。 但是當時因為在百度上找不到資料,所以以失敗告終了,而且當時我連frontpage和dreamweaver這兩個軟件都不知道,是用的word2003在「做」網頁,所以找不到地方寫程序代碼。 現在我已經基本上精通了網頁的製作,所以這個問題已是小菜一碟。 下面公布這個問題的答案。所用的工具為記事本。
|
|
答案1: 把下面的內容複製到記事本,並保存為以html為擴展名的文件,再用瀏覽器打開即可:
<!DOCTYPE HTML> <html> <body>
<script> function a() { var value = document.getElementById("text").value; //獲取用戶輸入的內容 if (value == "") document.getElementById("text").focus(); //如果用戶沒有輸入內容,則不跳轉,並使文本框重新獲得光標 else document.location = value + ".html"; //跳轉 } </script>
<input id="text" type="text" /> <input value="button" type="button" onClick="a()" />
</body> </html>
|
|
答案1不需要安裝服務器軟件,直接在電腦上就能打開。這個答案有個缺陷就是,無法判斷指定的網頁是否存在。要想在用戶點擊按鈕後,檢查一下指定的網頁是否存在,若存在就跳轉,不存在就提示:此網頁不存在,請重新輸入。 那麼就必須使用動態網頁程序,例如ASP, PHP 或JSP等。這裡以php為例(php語言最簡單,用的也最廣,但在windows系統上安裝十分麻煩。。。),公布一下實現判斷網頁是否存在後再跳轉的功能的答案。
|
|
答案2: 這個文件也是用記事本保存,但擴展名為php,需要放到apache服務器上才能運行,在瀏覽器地址欄中輸入的內容應該是http://localhost/xxx.php,而不是直接像html文件那樣在本地打開。 <?php $not_exist = false; if (count($_POST)>0) //如果提交了表單 { $text = @$_POST["text"]; //獲取輸入的內容 $file = $text.".html"; if (file_exists($file)) { header("location: ".$file); //跳轉 exit; //停止程序的運行 } else $not_exist = true; } ?><!DOCTYPE HTML> <html> <body> <?php if ($not_exist){ ?> <h1 style="color:red">網頁<?=$file?>不存在,請重新輸入。</h1> <?php }else{ ?>
<script> function a() { var value = document.getElementById("text").value; //獲取用戶輸入的內容 if (value == "") { document.getElementById("text").focus(); //如果用戶沒有輸入內容,則不跳轉,並使文本框重新獲得光標 return false; //取消提交表單 } } </script>
<form onSubmit="return a()" method="post"> <input id="text" name="text" type="text" /> <input value="進 入" type="submit" /> </form> <?php } ?> </body> </html>
|
|
php的開發環境安裝很複雜,就是2010年5月我也花了很多時間研究才算安裝成功。。。。
|
|
回復:5樓 因此就2008年初我那點知識根本沒戲,不過答案1由於只需要用記事本保存一下文件就可以,所以答案1還是可以的
|
|
現在這兩個網頁對於我來說輕而易舉就能寫出來,但2008年1月我在網上到處找答案都找不到。。。
|