|
我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月我在网上到处找答案都找不到。。。
|