无法发布textarea jquery

时间:2014-02-19 10:30:49

标签: jquery json

这是我到目前为止所尝试过的;这些是它返回的值:

$('input[name=message]').toString()
"[object Object]"

$('input[name=message]').val()
undefined

$('input[name=message]').toString()
"[object Object]"

$('input[name=message]').html()
null

有人可以建议我如何在json中发布文字吗?

这是当前的代码:

$('form input[type=image]').click(function() {
        var $data =     'name=' + $('input[name=name]').val() + '&' +
                        'email=' + $('input[name=email]').val() + '&' +
                        'country=' + $('input[name=country]').val() + '&' +
                        'contact=' + $('input[name=contact]').val() + '&' +
                        'message=' + $('input[name=message]').val() + '&' +
                        'service=' + $('input[name=service]:selected').val() + '&' +
                        'csrf=' + $('input[name=csrf]').val();

        $.post( 'http://www.site.com/system/sendemail.php',
                $data,
                function($data, $textStatus) {
                    if ($data.success) {
                        $('input[name=name]').val();
                        $('input[name=email]').val();
                        $('input[name=country]').val();
                        $('input[name=contact]').val();
                        $('input[name=message]').val();
                        $('input[name=service]').attr('selected', '');
                        $('input[name=csrf]').val($data.newCSRF);
                    }
                    $.prompt($data.result);

                },
                'json');
        return false;
    });

2 个答案:

答案 0 :(得分:3)

如果是textarea,请使用textarea代替input

而不是:

$('input[name=message]').val()

试试这个:

$('textarea[name=message]').val()

答案 1 :(得分:2)

您可能使用错误的选择器,我认为您必须将输入更改为textarea:

 $('textarea[name=message]')