目标是创建一个独立的 HTML 表单,用作为 URL 参数传递的文本预填充字段。
为了测试,使用名为“test”的单个文本区域创建了一个纯 html 文件。当 http://myserver.com/simpleform.html?test=sampletext在地址栏中键入时,作为参数 test 传递的文本不会填充该字段。
我认为将文本预先填充到网络表单中的字段中唯一需要的是知道目标字段的名称。当失败时,我尝试使用一些可以在加载时执行的 Javascript,我在 Cerbrus 提供的另一个答案中找到了这一点:/a/14070223
但是结果没有变化。当我输入 http://myserver.com/simpleform.html#test=sampletext在地址栏中,传递的文本不会出现在字段中。这是我目前拥有的代码:
<!DOCTYPE html>
<html>
<body onload="acceptParam()">
<script>
function acceptParam() {
var hashParams = window.location.hash.substr(1).split('&'); // substr(1) to remove the `#`
for(var i = 0; i < hashParams.length; i++){
var p = hashParams[i].split('=');
document.getElementById(p[0]).value = decodeURIComponent(p[1]);;
}
}
</script>
<center>
<textarea rows="15" name="test" cols="50">
</textarea>
</center>
</body>
</html>
是否可以使用单个独立 HTML 文件创建一个接受字段值作为 URL 参数的 Web 表单?我不需要提交数据,只需使用 URL 中传递的文本填充字段即可。
最佳答案
如果url是“http://myserver.com/simpleform.html?test=sampletext”,你可以这样做:
<!DOCTYPE html>
<html>
<body onload="acceptParam()">
<center>
<textarea id='p' rows="15" name="test" cols="50">
</textarea>
</center>
<script>
function acceptParam() {
var hashParams = window.location.href.substr(1).split('?'); // substr(1) to remove the `#`
hashParams = hashParams[1].split('&');
var p = hashParams[0].split('=');
document.getElementById('p').value = p[1];
}
</script>
</body>
</html>
关于javascript - 如何创建接受字段值作为 URL 参数的 HTML 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44813287/