Ich versuche, die Eingabeüberprüfung bei einem Benutzerklick durchzuführen. Die jQuery click() -Funktion hat jedoch inkonsistent gearbeitet; manchmal verhält es sich so, wie ich es erwarte und manchmal macht das Klicken auf den Link nichts, außer das Ansichtsfenster an den oberen Bildschirmrand zu bewegen. Das Problem ist, dass ich den Fehler nicht konsistent replizieren kann; manchmal funktioniert es und manchmal nicht. Ich habe es sowohl in Firefox unter Windows XP als auch in Chrome 9.0 auf dem Mac reproduziert. Manchmal funktioniert die Seite jedoch, manchmal nicht. Einmal, als es falsch geladen wurde, versuchte ich den Cache zu leeren und die Seite erneut zu laden, und die Seite wurde immer noch nicht geladen. Es sieht so aus, als würde man nicht nach Laden der Datei laden, besonders nach großen Änderungen an der Datei.jquery click() arbeitet inkonsistent
Ich habe hier einen reduzierten Testfall eingerichtet: http://kburke.org/thesis/consentform1.php. Wenn das Formular korrekt funktioniert, sollte es eine Warnmeldung anzeigen. Hier ist der 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>
Vielen Dank für jede Einsicht haben Sie vielleicht, ich bin ratlos vor allem, dass das Verhalten unvereinbar ist.
Bearbeiten: Es wurde vorgeschlagen, dass console.log
die Probleme verursachte, aber ich habe weiterhin Probleme nach dem Entfernen von Konsolenanweisungen. Das Ausführen des JS-Debuggers von Chrome schlägt vor, dass der Code innerhalb des $("#submitlink")
-Aufrufs überhaupt nicht ausgeführt wird, wenn das Problem auftritt. Wie immer schätze ich Ihre Hilfe.
Die ganze Seite die Fehler produzieren ist hier: http://kburke.org/thesis/consentform.php –
der Link auf der Seite funktioniert auf meinem Chrome gut. .. – Lukman
Die aktuelle Version (wo es nicht funktioniert) für mich ist Chrome 7.0 auf einem Mac. Ich habe es auch nur auf den kleinstmöglichen Fall reduziert und es funktioniert immer noch nicht für mich. –