Jquery在提交后清除我的文本字段

时间:2015-04-23 11:30:33

标签: php jquery

我写了一些jquery代码将我的数据发送到php文件,该文件将数据放入我的database而不重新加载页面(有效),但之后我想要清除输入字段,似乎有问题,但我找不到它......

$(document).ready(function() {
    $('.wrapper').find('input[type="submit"]').on('click', function(e){
        e.preventDefault();
        submitGegevens();
    });
});
function submitGegevens(){
    $.ajax({
      type: "POST",
      url: "addComment.php",
      data: {
        'name' : $('input[name="name"]').val(),
        'email' : $('input[name="email"]').val(),
        'phone' : $('input[name="phone"]').val(),
        'comment' : $('textarea[name="comment"]').val(),
      }
    }).done(function(data){
        $('.error').html(data);
    });
    if ($(data).is(":empty")){
        $('input[name="name"]').val(''),
        $('input[name="email"]').val(''),
        $('input[name="phone"]').val(''),
        $('textarea[name="comment"]').val(''),
    };
}

这是php代码:

<?php
include "functies.php";
//PREG_MATCH:
function controleerEmail($email){
    return(filter_var($email, FILTER_VALIDATE_EMAIL));
}
$message = '';
    if(empty($_POST['email']) or !controleerEmail($_POST['email'])){
    $message .= 'Please enter a valid email address.<br>';
}
echo $message;

if(empty($message)){
    klantToevoegen($_POST['name'],$_POST['phone'],$_POST['email'],$_POST['comment']);
}

?>

1 个答案:

答案 0 :(得分:1)

data仅在完成回调中可用,因此您需要测试回调本身是否为空

function submitGegevens() {
    $.ajax({
        type: "POST",
        url: "addComment.php",
        data: {
            'name': $('input[name="name"]').val(),
                'email': $('input[name="email"]').val(),
                'phone': $('input[name="phone"]').val(),
                'comment': $('textarea[name="comment"]').val(),
        }
    }).done(function (data) {
        $('.error').html(data);
        if ($(data.trim()).is(":empty")) {
            $('input[name="name"]').val(''),
            $('input[name="email"]').val(''),
            $('input[name="phone"]').val(''),
            $('textarea[name="comment"]').val(''),
        };
    });
}