Javascript 是否可以使用Ajax提交textarea数据?

Javascript 是否可以使用Ajax提交textarea数据?,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我正在尝试提交输入数据,但我希望提交数据而不是。我的原始代码: <form action="/index/output" method="POST"> <input type="text" name="text_box" id="t"> </form> <script> $('#t').keyup(function(){ $.ajax({ url : '/index/output',

我正在尝试提交输入数据,但我希望提交数据而不是。我的原始代码:

<form action="/index/output" method="POST">
    <input type="text" name="text_box" id="t">   
</form>

<script>
    $('#t').keyup(function(){
        $.ajax({
            url : '/index/output',
            data : {
                text_box : $('input:text').val()
            },
            success : function(html) {
                $('#result').html(html);
            }
        })
    })
</script>

<div id="result"> </div>
我改成

但是它不太好用


我的ajax代码有问题吗?

问题在于您的选择器输入:text表示text类型的输入元素,而您的不是

只需更改选择器以实际匹配元素


$'textarea'

问题在于您的选择器输入:text表示text类型的输入元素,而您的不是

只需更改选择器以实际匹配元素

$'textarea'

而不是

$('input:text').val()
使用

或者,更好的是,按id选择它:

$('#t').val()
而不是

$('input:text').val()
使用

或者,更好的是,按id选择它:

$('#t').val()

您的问题与ajax代码无关。相反,jQuery选择器的目标不是textarea元素,而是输入元素。要解决这个问题,您可以告诉ajax调用提交整个表单,或者修复选择器。 选择器将如下所示:

$('textarea').val()
 var textData = $('#t').val();
还是像这样

$('#t').val();

您的问题与ajax代码无关。相反,jQuery选择器的目标不是textarea元素,而是输入元素。要解决这个问题,您可以告诉ajax调用提交整个表单,或者修复选择器。 选择器将如下所示:

$('textarea').val()
 var textData = $('#t').val();
还是像这样

$('#t').val();

是的,你可以。由于您已将ID定义为tso,因此可以使用如下ID访问它:

$('textarea').val()
 var textData = $('#t').val();

只要你想发送,就发送到任何地方。

是的,你可以。由于您已将ID定义为tso,因此可以使用如下ID访问它:

$('textarea').val()
 var textData = $('#t').val();

发送到任何您想发送的地方。

问题在于您的选择器

$'input:text'=>表示选择文本框

因此,使用而不是

$('textarea') => means select textarea
不要使用val方法,因为textarea包含大量字符,所以要使用html方法从textarea元素获取值

而且

contentType: "text/plain; charset=utf-8",

如果您使用的是asp.net方式,那么contenttype对于ajax发布url来说非常重要,问题在于您的选择器

$'input:text'=>表示选择文本框

因此,使用而不是

$('textarea') => means select textarea
不要使用val方法,因为textarea包含大量字符,所以要使用html方法从textarea元素获取值

而且

contentType: "text/plain; charset=utf-8",

如果您使用的是asp.net方式,那么contenttype对于ajax来说是非常重要的,因为它可以发布url

use.html而不是.val。您是否尝试过使用合适的选择器来定位您的文本区域?@andrew-否!获取格式为HTML而不是文本的默认值,而不是当前值。$'input:text'不是textareas的有效选择器。您应该只使用$'textarea'或者更好的$'[name=text\u box]'@Loupax-input:text是一个非常有效的jQuery选择器“text”将匹配HTML.use.HTML而不是.val中不存在的元素。您是否尝试使用合适的选择器来定位您的文本区域?@andrew-否!获取格式为HTML而不是文本的默认值,而不是当前值。$'input:text'不是textareas的有效选择器。您应该只使用$'textarea'或者更好的$'[name=text\u box]'@Loupax-input:text是一个非常有效的jQuery选择器“text”将匹配HTML中不存在的元素。您确定text/plain吗?是的,您只需要传递string意味着将内容类型添加为text/plainHi charliet,我可以知道我会在我的代码中出错吗?如果您发送的是纯文本格式的请求,而原始代码不是纯文本格式的请求,并且如果服务器需要纯文本格式的请求,并且没有建议这样做,则只应将内容类型设置为text/plain。我必须在textarea中获取句子的最后一个单词,因此我添加了$'t'.val.split.pop;但是当我使用$'t'.html.split.pop;它不起作用..你确定text/plain吗?是的,你只需要传递字符串意味着添加内容类型为text/plainHi charliet,我可以知道我会在我的代码中出错吗?如果您发送的是纯文本格式的请求,而原始代码不是纯文本格式的请求,并且如果服务器需要纯文本格式的请求,并且没有建议这样做,则只应将内容类型设置为text/plain。我必须在textarea中获取句子的最后一个单词,因此我添加了$'t'.val.split.pop;但是当我使用$'t'.html.split.pop;它不起作用。。