繁体   English   中英

无法使jsfiddle代码在jsfiddle之外工作

[英]Can't make jsfiddle code work outside of jsfiddle

我在jsfiddle上找到了这段代码,并且在fiddle内部运行良好。 但是,当我尝试将其放入自己的HTML文件中时,我无法使其正常工作。 我确定我在脚本标签中没有留下任何东西,但是我只是不知道什么。 任何投入将不胜感激。

这是小提琴: 工作小提琴

PS该代码应从URL中提取信息并填写表格。

-谢谢

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Parser</title>
</head>

<body>
<p>Your first name:
<br /><input name="name (awf_first)" id="name (awf_first)" /></p>

<p>Your last name:
<br /><input name="name (awf_last)" id="name (awf_last)" /></p>

<p>Your email:
<br /><input name="email" id="email" /></p>

<p>Your password:
<br /><input name="password" id="password" /></p>


<script>
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>
</body>

</html>

您的错误意味着document.getElementById(p[0])找不到#name#email输入元素。

这可能有两个原因:

  1. 您没有id的任何元素: nameemail

检查您的元素,以确保为他们提供了正确的id 您的代码显示id的元素: name (awf_first)name (awf_last) ,而id应当为: nameemail

  1. 您试图在将元素读入DOM之前找到它们。

确保script显示在小提琴中显示的大部分HTML之后(就在body标签关闭之前),以便在您运行该行时,元素已经位于DOM。

另外,请注意,在您的问题中, // substr(1) to remove the '?' 分为两行,当前正在导致代码错误。 并且,在该评论中,更改围绕?的反引号? 用单引号引起来。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM