使用jquery转换php结果并在输入中显示

时间:2013-11-13 09:53:48

标签: php jquery ajax

无法找到此问题的正确标题。但基本上我正在尝试向input中的使用显示消息。我不想alert结果。我试过了

if(parseInt(data) == 0) $("#status").text("Not in use").addClass("green"); 

                            else $("#status").text("Already used").addClass("red");

并没有得到任何结果。我知道php有效,因为我做了print_r (validation_result);var_dump(validation_result);请查看下面的代码。

PHP

 <?php
    require("config.php");

        $validate_value = isset($_POST['value']) ? $_POST['value'] : null; 
        $validate_Year =isset($_POST['Year']) ? $_POST['year'] : null; 
        $validate_postcode  = isset($_POST['postcode']) ? $_POST['postcode'] : null; 
        $select = "SELECT * FROM customers WHERE reg_year= :reg_year 
                     AND reg_code = :reg_name AND reg_value = :reg_value  LIMIT 1";

                    $bind_bb = array('reg_year' => $validate_Year,
                                        'reg_code' => $validate_code,
                                        'reg_value' => $validate_value);


                    $validate_result = select_to_array($db_connect,$select, $index, $bind_bb);


            if (count($validate_result) == 0) {   

            echo 'Customer Does not no exist';

            }       
            else {

            echo 'Already exist, please try a different postcode';

            }       
    ?>

Jquery //我尝试了什么

$(function(){
    $('#value').change(function() {
    if (value== "") {

    } else {
     $.ajax({
                  type:'POST',
                  url:'insert_value.php',
                  data:{
                   validate_value:$('#value').val(),
                   validate_year:$('#year').val(),
                   validate_postcode:$('#postcode').val(), 
                  },
                  success: function (data) {

                        if(parseInt(data) == 0) $("#status").text("Not in use").addClass("green"); 

                        else $("#status").text("Already used").addClass("red");

                  }
              })

   }

});
});

HMTL

 <input type="text" name="postcode"  id="postcode"  size="12" maxlength="50" />
  <input type="text" name="year"  id="year"  size="12" maxlength="50" />
   <input type="text" name="value"  id="value"  size="12" maxlength="50" />
    <input /><div id="status"></div>

success:function当我做alert(data);时,它会显示函数中的消息,具体取决于我在表中检查的内容是否已存在。但是当我删除alert并将其替换为上面的if语句时,它不会在status输入中显示该消息。

我做错了什么?以及如何改进它。感谢。

1 个答案:

答案 0 :(得分:0)

我检查了你的代码,代码似乎很好。请确保您的元素中只有一个status个ID,它应该是唯一的。

$(function(){
   $('#value').change(function() {
    var value =$(this).val();
   if (value== "") {

   } else {
     $.ajax({
              type:'POST',
              url:'insert_value.php',
              data:{
               validate_value:$('#value').val(),
               validate_year:$('#year').val(),
               validate_postcode:$('#postcode').val(), 
              },
              success: function (data) {

                    if(parseInt(data) == 0) $("#status").text("Not in use").addClass("green"); 

                    else $("#status").text("Already used").addClass("red");

              }
          })

        }

    });
 });