根据回调清除输入字段

时间:2011-08-02 10:21:11

标签: javascript jquery callback

我有简单的脚本,其中包含两个页面 - script.php和function.php。 Script.php包含一个ID为 #code 的输入字段,一个ID为 #submit 的链接和jquery函数

$('#submit').click(function () {
    $.ajax({
    url: 'function.php',
    type: "POST",
    data: "text=" + $("#code").val(),
    dataType: 'text',
    success: function(data) {
        $('#info').html(data);              
            }
        });         
    return false;
    });

<小时/> 如何根据function.php的返回结果清除 #code 输入字段值?
例如,如果查询不完整,则function.php将仅在 #info 字段中显示消息,但如果查询完成,脚本将显示消息并清除输入字段值。

3 个答案:

答案 0 :(得分:0)

从php页面返回任何状态,如成功或失败,然后在success方法中检查,因为如果ajax调用成功完成,无论结果如何都会执行成功,

你可以做到

$('#submit').click(function () {
    $.ajax({
    url: 'function.php',
    type: "POST",
    data: "text=" + $("#code").val(),
    dataType: 'text',
    success: function(data) {
        if (data == "success")
        {
            $("#code").value("");
        }
        else
        {
            $('#info').html(data);
        }
    }
    });         
    return false;
});

希望这会有所帮助。

答案 1 :(得分:0)

考虑从function.php返回JSON数据,所以像这样

{"clearCode":"true","info":"Some HTML"}

然后你可以使用jQuery函数getJSON

这意味着您可以返回一个布尔值来决定是否清除 #code ,还会为 #info

返回一些html

答案 2 :(得分:0)

从您的示例中,您可以返回特定的HTTP代码:

在PHP中:

if(not_valid) { Header("HTTP/1.1 403 Forbidden"); die(); }

在JavaScript中:

$.ajax({ ...,
         success: function() { /*ok*/ },
         statusCode: {
            403: function() { /*wrong*/ }
          }
      )};