js删除提交的表格数据

时间:2014-10-23 15:17:03

标签: javascript php jquery json forms

问题: Javascript函数(由模板预先制作)清除php发送给我的表单数据

php代码:

<?php
    header('Content-type: application/json');
    $status = array(
        'type'=>'success',
        'message'=>'GJ '
    );

    $name = @trim(stripslashes($_POST['name'])); 
    $phone = @trim(stripslashes($_POST['phone'])); 
    $subject = @trim(stripslashes($_POST['subject'])); 
    $message = @trim(stripslashes($_POST['message'])); 

    $email_to = 'email@email.com';//replace with your email

    $body = 'Name: ' . $name . "\n\n" . 'Телефон: ' . $phone . "\n\n" . 'Subject: ' . $subject . "\n\n" . 'Message: ' . $message;

    $success = @mail($email_to, $subject, $body);

    echo json_encode($status);
    die;

javascript函数代码:

var form = $('.contact-form');
form.submit(function () {'use strict',
    $this = $(this);
    $.post($(this).attr('action'), function(data) {
        $this.prev().text(data.message).fadeIn().delay(3000).fadeOut();
    },'json');
    return false;
});

当没有js代码时,php返回带有一行的白色屏幕,但@mail发送正常消息,但是当有这个代码淡入和淡出时效果很好,但数据到空了。如果重要的话,消息和名称中的消息是cyrylic。

请帮我修复它(即我需要数据到达和成功淡入出现或至少数据到达没有.php白屏)或只是解释js代码我没有得到它。 感谢

1 个答案:

答案 0 :(得分:2)

您尚未为data

提供$.post参数

尝试

var form = $('.contact-form');
form.submit(function () {'use strict',
    var $this = $(this);    
    $.post($(this).attr('action'), $this.serialize(), function(data) {
        $this.prev().text(data.message).fadeIn().delay(3000).fadeOut();
    },'json');
    return false;
});

参考文献:

jQuery.post() Docs

<强> jQuery.serialize() Docs