如果为true,则Ajax响应仅允许字段中的数据

时间:2013-01-08 00:15:25

标签: php ajax

如果返回“false”消息,我需要有一个不允许输入数据的字段。字段“ponumber”检查数据库,如果该记录已经存在,我不希望它允许用户使用该特定的PO号。基本上,如果他们离开现场并显示消息,它就会消隐。该脚本工作正常,但现在允许输入基于checkponumberajax php文件的错误返回。

            $(document).ready(function () {
              var validateponumber = $('#validateponumber');
              $('#ponumber').keyup(function () {
                var t = this; 
                if (this.value != this.lastValue) {
                  if (this.timer) clearTimeout(this.timer);
                  validateponumber.removeClass('error').html('<img src="/images/ajax-loader.gif" height="16" width="16" /> checking availability...');

                  this.timer = setTimeout(function () {
                    $.ajax({
                      url: 'includes/checkponumberajax.php',
                      data: 'action=check_ponumber&ponumber=' + t.value,
                      dataType: 'json',
                      type: 'post',
                      success: function (j) { 
                        validateponumber.html(j.msg);
                      }
                    });
                  }, 200);
                  this.lastValue = this.value;
                }
              });
            });

<input type="text" name="ponumber" value="<?=@$_REQUEST['ponumber']?>" id="ponumber" />

我的checkponumber.php文件就像这样返回

if ($records != 0) {
    $response = array(
    'ok' => false, 
    'msg' => "The selected PO# is not available");
} else {
    $response = array(
    'ok' => true, 
    'msg' => "This PO# is free");
}

编辑:解决了!

我最终感谢@bourch使用这个,只要达到一个匹配false的值就会将字段空白掉

if(j.ok != true){$("#ponumber").attr("value", "");}

1 个答案:

答案 0 :(得分:1)

试试这个:

if(j.ok != true){$("#ponumber").attr("disabled", "disabled");
}