如何使表单能够使用网址填充字段?
示例:如果我有两个字段,用户名和密码,我的表单位于form.html,如何让form.html?username=example
在用户名字段中自动填写“示例”。
答案 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值的网站使用的内容:
所以要小心。
答案 2 :(得分:0)
网络服务器语言(例如PHP)必须访问变量(例如$ _GET [“username”])并将它们作为值提供给HTML字段。不要忘记在HTML中使用method =“get”。
答案 3 :(得分:0)
如果您的网址是form.html,那么您最终将如何使用form.html?username = example?
?username = example是一个查询字符串。如果您使用GET方法提交表单,它将使用查询字符串并将其附加到您的网址,以便您获得form.html?username = example的方式是,如果用户输入其用户名作为“示例”,然后提交了表格。