0

入力されたコース名が AJAX を使用して既に存在する場合、コース名フィールドを検証したいのですが、データベースにまだデータを入力していない場合でも、私の ajax 関数は常にアラート (「既に存在します」) を返します。助けてください。これが私のコードです。ありがとう。

意見:

<script type="text/javascript">
var typingTimer;
var doneTypingInterval = 3000;


$('#course_name').keyup(function(){
typingTimer = setTimeout(check_course_name_exist, doneTypingInterval);
});


$('#course_name').keydown(function(){
clearTimeout(typingTimer);
});



function check_course_name_exist()
   {

   var course_name=$("#course_name").val();

    var postData= {
    'course_name':course_name
   };


    $.ajax({
        type: "POST",
        url: "<?php echo base_url();?>/courses/check_course_name_existence",
        data: postData,
        success: function(msg)
        {


        if(msg == 0)
        {
         alert('Already Exist!');
         return false;
        }

        else
         {
         alert('Available');
         return false;
         }


         return false;
        }
    });
    $("html, body").animate({ scrollTop: 0 }, 600);
  return false;
   }



  </script>

コントローラ:

function check_course_name_existence()
{
 $course_name = $this->input->post('course_name');

 $result = $this->course_booking_model->check_course_name_exist($course_name);
 if ($result)
 {
  return true;
 }
 else
 {
  return false;
 }
}

モデル:

function check_course_name_exist($course_name)
{

    $this->db->where("course_name",$course_name);
    $query=$this->db->get("courses");

   if($query->num_rows()>0)
    {
        return true;
    }
    else
    {
        return false;
    }
}
4

2 に答える 2

0

jQuery と Javascript は一般に、PHP 関数が返すブール値にアクセスできません。したがって、それらが返されるTRUEFALSE、コードの JS 部分に違いはありません。コントローラーで何かを試してからecho、その値に基づいて Javascript を比較する必要があります。

于 2013-05-08T16:21:06.693 に答える