在我問之前,我也在 stackoverflow 和其他網站上搜索了這個問題,他們中的大多數都提到你的“this”沒有指向你試圖從中獲取價值的東西。那是因為它們中的大多數都從它們所針對的元素中調用了不同的函數。但是我的情況有點不同,這并沒有解決我的問題,我的 HTML 代碼是一種形式,其中一個字段是用戶名并具有此代碼,<label for="username">Username</label> <input type="text" id = "t_username" name="t_username" placeholder="Enter Teacher Username" value="" class="form-control" > </div> <span id = "availability"></span>我的JQuery代碼如下 $('#t_username').blur(function() { var username = $(this).val(); $.ajax({ url: "action.php", method: "POST", data: {user_name: t_username}, dataType: "text", success:function(html) { $('#availability').html(html); } }); });而我的 PHP 代碼如下,if (isset ($_POST['username'])){ $user = $_POST['username']; if ($db->username_check($user) != 0) // $db is an object of Database class { echo '<span class = "text-danger">Username already exists</span>'; } else { echo '<span class = "text-success">Username is available</span>'; }}我的 SQL 函數是(在類中定義)public function username_check($user) { $sql = "SELECT * from tbl_teacher where username = :user"; $stmt = $this->conn->prepare($sql); $stmt->execute(['user'=>$user]); $t_rows = $stmt->rowCount(); return $t_rows; }我試過使用這兩個東西,但我仍然遇到同樣的錯誤。誰能幫我解決這個問題?我已經嘗試過(但沒有很好的結果)var username = $(this.target).val(); -> This called an error of exceeded stack limit (because of some never ending recursive function I think) var username = $('#t_usernmae').val(); -> This did the same exceeded stack limit error 我也嘗試過改變我的功能,$(#'t_username').on("blur", function(){.....*Everything here* ..... }); 代碼的 JS Fiddle(我不知道如何創建它,但我在這里分享了一些代碼)
獲取未捕獲的類型錯誤:無法讀取未定義的屬性“toLowerCase”
Helenr
2022-12-09 19:48:37