这段代码会将信息从表单提交到php文件,一切正常,但是当我写“hello this a text +-*”时,它总是从我写的内容中删除“+”号。我不知道为什么,请帮帮我

 $(document).ready(function(){
        $("form#submit").submit(function() {
        // we want to store the values from the form input box, then send via ajax below
        var fname     = $('#fname').attr('value');
        var lname     = $('#lname').attr('value');

            $.ajax({
                type: "POST",
                url: "Mail.php",
                data: "fname="+ fname + "&lname=" + lname,
                success: function(){
                    $('form#submit').show();
                    //$('form#submit :input').val("");
                    $('div.success').fadeIn();
                }
            });
        return false;
        });
    });

最佳答案

如果fnamelname是文本框,为什么不使用.val()来检索它们呢?

var fname = $('#fname').val();
var lname = $('#lname').val();

或者更好,直接在ajax上使用.serialize()形式:
$(function () {
    $("form#submit").submit(function () {
        var form = $(this)
        $.ajax({
            type: "POST",
            url: "Mail.php",
            data: form.serialize() //turns the form data into a query string
            success: function () {
                $('form#submit').show();
                $('div.success').fadeIn();
            }
        });
        return false;
    });
});

09-25 21:29