是否可以用Ajax提交文本区域数据?

Is it possible to submit textarea data with Ajax?

本文关键字:文本 区域 数据 提交 Ajax 是否      更新时间:2023-09-26

我正在尝试提交输入数据,但我想提交<textarea>而不是<input>的数据。我的原始代码:

<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>

我把<input>改成了<textarea>

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

但它不能很好地工作…

我的ajax代码有问题吗?

代替

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

$('textarea').val()

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

$('#t').val()

问题是您的选择器input:text意味着"输入文本类型的元素",而您的<textarea>不是<input>

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

$('textarea')

您的问题与ajax代码无关。相反,jQuery-Selector不针对textarea元素,而只针对输入元素。要解决这个问题,您可以告诉ajax调用提交整个表单或修复选择器。选择器看起来像这样:

$('textarea').val()

或者像这样

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

可以。因为您已经将ID定义为t,所以您可以使用这样的ID访问它:

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

发送到任何你想发送的地方

问题是你的选择器,

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

代替

$('textarea') => means select textarea

和不使用val()方法,因为textarea包含大量字符,所以使用html()方法从textarea元素获取值

和also

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

如果你使用的是asp.net的方法,contenttype是非常导入的ajax张贴url