J'essaie d'effectuer une validation d'entrée lors d'un clic de l'utilisateur. Cependant, la fonction jQuery click() a fonctionné de manière incohérente; Parfois, il agit comme je le souhaite et parfois cliquer sur le lien ne fait rien sauf déplacer la fenêtre vers le haut de l'écran. Le problème est que je ne peux pas reproduire l'erreur de manière cohérente; parfois cela fonctionne et parfois non. Je l'ai reproduit à la fois sur Firefox sous Windows XP et sur Chrome 9.0 sous Mac, mais parfois, la page fonctionne, et parfois non. Une fois quand il a mal chargé j'ai essayé d'effacer le cache, et de charger à nouveau la page, et la page ne s'est toujours pas chargée. Il semble aller de ne pas charger au chargement, surtout après de grands changements dans le fichier.jquery click() fonctionne de manière incohérente
J'ai mis en place un cas de test réduit ici: http://kburke.org/thesis/consentform1.php. Si le formulaire fonctionne correctement, il doit afficher une alerte. Voici le code:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#submitlink").click(function(){
console.log("link clicked");
alert("Clicked!");
});
console.log("loading...");
});
</script>
</head>
<body style="width:35em; margin-bottom:200px;">
<input type="text" value="" name="part_name" id="name1" />
<input type="text" value="" name = "part_name2" id="name2" />
<input type="checkbox" name="accept_1" id="accept_1" />I signify my agreement that all matters and issues mentioned above have been discussed to my satisfaction and agreement. <br><br>
<input type="checkbox" name="accept_2" id="accept_2" />I acknowledge that I am 18 years of age or older on the date of signing this consent, and that I have read and understood all of the above.</p>
<div id="submitlink" style="float:right; color:blue; text-decoration:underline; cursor:pointer;">I agree</div>
<form method="post" id="agree" action="/thesis/instructions.php">
<input type="hidden" name="id" id="nextpage" value="">
<input type="hidden" name="name" id="the_name" value="" />
</form>
</body>
</html>
Merci pour toute idée que vous pourriez avoir, je suis déconcerté surtout que le comportement est incohérent.
Modifier: Il a été suggéré que console.log
était la cause des problèmes, mais je continue d'avoir des problèmes après la suppression des instructions de la console. Exécution du débogueur JS de Chrome suggère que le code à l'intérieur de l'appel $("#submitlink")
ne fonctionne pas du tout lorsque le problème se produit. Comme d'habitude, j'apprécie votre aide.
La pleine page produisant l'erreur est ici: http://kburke.org/thesis/consentform.php –
le lien sur la page fonctionne très bien sur mon Chrome. .. – Lukman
La version actuelle (où il ne fonctionne pas) pour moi est Chrome 7.0 sur un Mac. Je l'ai juste réduit au plus petit cas possible et ça ne marche toujours pas pour moi. –