亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

獲取未捕獲的類型錯誤:無法讀取未定義的屬性“toLowerCase”

獲取未捕獲的類型錯誤:無法讀取未定義的屬性“toLowerCase”

Helenr 2022-12-09 19:48:37
在我問之前,我也在 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(我不知道如何創建它,但我在這里分享了一些代碼)
查看完整描述

1 回答

?
catspeake

TA貢獻1111條經驗 獲得超0個贊

您沒有正確使用傳遞data。


您將需要使用username但您正在使用t_usernamewhich will be undefinedand notmaximum call stack size exceeded或toLowerCase錯誤將在控制臺中拋出。


將您的ajaxjQuery 代碼更改為此。一切都應該沒問題。


$('#t_username').blur(function() {


  //Username

  var username = $(this).val();

  

  console.log(username)

  

  //Ajax

  $.ajax({

    url: "action.php",

    method: "POST",

    data: {

      user_name: username  //this needed a fix

    },

    dataType: "text",

    success: function(html) {

      $('#availability').html(html);

    }

  });

});


查看完整回答
反對 回復 2022-12-09
  • 1 回答
  • 0 關注
  • 219 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號