2017-04-10 1 views
0

J'ai trouvé ce code sur jsfiddle et ça marche bien, à l'intérieur du fiddle. Mais quand j'essaie de le mettre dans mon propre fichier HTML, je n'arrive pas à le faire fonctionner. Je suis sûr que j'ai laissé quelque chose hors de l'étiquette de script, mais je ne sais pas quoi. Toute contribution serait vivement appréciée.Impossible de faire fonctionner le code jsfiddle en dehors de jsfiddle

Voici le violon: Working Fiddle

post-scriptum Le code est supposé extraire des informations de l'URL et remplir le formulaire.

-Merci

<!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> 
+0

* "Mais quand j'essaie de le mettre dans mon propre fichier HTML, je n'arrive pas à le faire fonctionner." * Qu'est-ce que cela signifie? Que se passe-t-il lorsque vous essayez le code? Avez-vous vérifié la console pour des erreurs? –

+0

Il ne lit pas les variables de l'URL et ne remplit pas le formulaire. – tdubb

+0

Et ainsi, encore une fois je demande. Avez-vous vérifié la console pour des erreurs? –

Répondre

0

Votre erreur signifie que document.getElementById(p[0]) ne trouve pas les éléments d'entrée #name et #email.

Cela pourrait être pour deux raisons:

  1. Vous n'avez pas encore des éléments avec id s de: name et email.

Vérifiez vos éléments pour vous assurer que vous les avez correctement renseignés id s. Votre code affiche les éléments avec id s de: name (awf_first) et name (awf_last), lorsque les id s doivent être: name et email.

  1. Vous tentez de trouver le ou les éléments avant qu'ils ne soient lus dans le DOM.

Assurez-vous que le script vient après la plus grande partie du code HTML (juste avant la fin de la balise body) tel qu'il apparaît dans le Fiddle, de sorte que le temps que vous exécutez cette ligne, l'élément (s) sera déjà dans le DOM.

De plus, sachez que dans votre question, la ligne // substr(1) to remove the '?' est répartie sur deux lignes et provoque actuellement une erreur dans votre code. Et, dans ce commentaire, modifiez les coches de retour entourant le ? avec des guillemets simples.