如何基于表单生成网页?

时间:2013-07-13 07:16:39

标签: javascript html model-view-controller

例如,网站https://talky.io/在其主页上有一个表单。当您在表单中输入文本并点击按钮时,您将进入https://talky.io/ [您的文本]页面。你怎么做到这一点?最好的方法是什么?

谢谢!

6 个答案:

答案 0 :(得分:1)

您可以使用onSubmit并通过javascript更改表单的action属性,然后返回true。代码可能如下所示:

来自链接页面的

HTML:

<form id="createRoom">
   <input id="sessionInput" placeholder="Name the conversation" autofocus="autofocus">
   <button type="submit">Let’s go!</button>
</form>

Js代码:

document.getElementById("crateRoom").onsubmit = function(){
   var url = encodeURIComponent(document.getElementById("sessionInput").value);
   document.getElementById("crateRoom").action = "/" + url;
   return true;
}

答案 1 :(得分:0)

这是服务器端脚本作业。您可以查看一些MVC框架和url参数

答案 2 :(得分:0)

如果您使用.net,则可以使用PHP symfony或codeignitor,然后创建一个新的MVC项目。

但是如果你只需要改变像

这样的网址
www.mysite.com/mypage.php?something=value

www.mysite.com/value

您可以在apache中执行mod rewrite,或者如果您使用的是.net,请在global.asax.cs中使用RegisterRoutes

答案 3 :(得分:0)

您可以使用表单的GET方法;例如:

<form action="index.php" method="get">
Page: <input type="text" name="page">
<input type="submit" value="Submit">
</form>

提交后将转到index.php?page=yourEnteredPage

答案 4 :(得分:0)

使用form您可以将数据提交给for的location/url属性中提供的action,例如

<form method="POST" action="http://example.com">
    <input name="first_name" type="text" value="" />
    <!-- Form elements -->
    <input type="submit" name="mySubmitButton" value="Submit">
</form>

此表单会在按下提交时将表单数据提交给给定的action网址,并且可以使用

检索derver数据
$first_name = $_POST['first_name';];

等等。方法POST用于在帖子数组中提交表单,以便您可以使用$_POST['formfieldname']检索数据,如果您使用method="GET",则可以从$_GET变量获取提交的数据,像,$fname=$_GET['first_name']。提交数据时GET具有数量限制(最多可安全使用2000个字符IE's limit)并且浏览器的address bar可见并且不用于登录(密码)和{{ 1}}可以发送比POST更多的数据,也不会对地址栏显示。 You may read this.

答案 5 :(得分:0)

使用URL重写非常可行 http://en.wikipedia.org/wiki/Rewrite_engine