如何自动填写表单字段

时间:2010-06-23 19:49:49

标签: html

如何使表单能够使用网址填充字段?

示例:如果我有两个字段,用户名和密码,我的表单位于form.html,如何让form.html?username=example在用户名字段中自动填写“示例”。

4 个答案:

答案 0 :(得分:2)

好的,所以用户将此URL放入他的浏览器,向服务器发出请求,然后页面返回给用户。您可以使用两种通用方法填写表单详细信息。 1.您可以在服务器上实现它。你可以在客户端实现它。如果你想在服务器上实现它,那么你将需要使用服务器端技术,如ASP.NET,PHP,JSP等。如果你想在客户端上实现它,那么你需要客户端技术几乎肯定是javascript。

关于这一点还有很多话要说,包括有关跨站点脚本等安全漏洞的警告,但我现在还要留下这些。

答案 1 :(得分:2)

表单必须从URL读取变量并解析它们,然后将这些值重新发布到字段中。例如,使用PHP,它将是:

<?php $sName = $_GET['name']; ?>
...some HTML goes here...
<input type="text" id="name" name="name" value="<?= $sName ?>" size="60" />

这也可以在jQuery中使用location.href值来获取完整的URL,然后使用split()函数将URL拆分成几次,然后使用$('#name')。val (sName)在jQuery中将值发布到该字段中。

但是,您必须考虑几个安全隐患。如果不通过某些XSS预防步骤运行它,则不再需要采用原始GET值:

http://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet

这是恶意用户可能对使用原始GET值的网站使用的内容:

http://ha.ckers.org/xss.html

所以要小心。

答案 2 :(得分:0)

网络服务器语言(例如PHP)必须访问变量(例如$ _GET [“username”])并将它们作为值提供给HTML字段。不要忘记在HTML中使用method =“get”。

答案 3 :(得分:0)

如果您的网址是form.html,那么您最终将如何使用form.html?username = example?

?username = example是一个查询字符串。如果您使用GET方法提交表单,它将使用查询字符串并将其附加到您的网址,以便您获得form.html?username = example的方式是,如果用户输入其用户名作为“示例”,然后提交了表格。