我試圖對用戶單擊執行輸入驗證。然而,jQuery的click()函數一直工作不穩定;有時它會像我期望的那樣工作,有時點擊鏈接除了將視口移動到屏幕頂部之外什麼也不做。問題是我不能一致地複製錯誤;有時會起作用,有時卻不起作用。我已經在Windows XP和Mac 9.0上的Firefox 9.0中複製了它,但是,有時該頁面可以正常工作,有時不會。有一次,當它加載不正確時,我嘗試清除緩存,並再次加載頁面,並且頁面仍然沒有加載。它似乎從沒有加載到加載,特別是在對文件進行大的修改之後。jquery click()工作不一致
我在這裏設置了一個簡化測試用例:http://kburke.org/thesis/consentform1.php。如果表單工作正常,它應該顯示一個警告框。這裏是代碼:
<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>
謝謝你的任何見解,你可能有,我特別是困惑,行爲是不一致的。
編輯:有人建議console.log
導致的問題,但我在移除控制檯語句後仍然有問題。運行Chrome的JS調試器表明,$("#submitlink")
調用中的代碼在發生問題時根本沒有運行。像往常一樣,我感謝你的幫助。
產生錯誤的整頁是在這裏:http://kburke.org/thesis/consentform.php頁面上 – 2010-11-21 04:44:13
鏈路工作就好在我的Chrome瀏覽器。 .. – Lukman 2010-11-22 03:17:55
對於我來說,當前版本(它不起作用)是Mac上的Chrome 7.0。我也把它縮小到最小的情況下,它仍然不適合我。 – 2010-11-22 03:22:41