簡體   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