无法检索文本区域的值

发布于 2024-10-29 11:20:58 字数 941 浏览 1 评论 0原文

我构建了一个基本的 form,其中包含某些元素,其中之一是 textarea 元素。 整个表单包含在 div 中,当用户单击提交按钮时,表单将被隐藏,并且应显示 textarea 的值以供查看。

我正在使用 jQuery 检索文本区域中的数据,但也尝试过不使用它,但无济于事。 我尝试过使用 .text().val().html()。尽管 .val() 应该有效,但这些都不起作用。

这是我当前正在使用的脚本:

$(function(){
    var ptext = $('#post_text');
    $('#submit').click(function() {
        data = ptext.val();
        alert(data);
        $('#form_container').fadeOut('slow', function(){
               $('#status').html(data);
               return;
       });
       $('#status').fadeIn('slow');
       return true;
    });
});

...以及表单中的文本区域

<div id="post_box"><textarea id="post_text" name="text" class="full"></textarea></div>

附加信息:我在文本区域上使用 CKEditor,但我认为它不会导致任何此类问题。还在 IE8 和 Chrome 中进行了测试。

有什么想法吗?

I've constructed a basic form in which there are certain elements, one of which is a textarea element.
The whole form is enclosed in a div, and when the user clicks the submit button the form is hidden and the value of the textarea should be shown for review.

I am using jQuery to retrieve the data in the textarea, but have also tried without it but to no avail.
I have tried using .text(), .val() and .html(). None of which work, even though .val() should be.

Here's the script I'm currently using:

$(function(){
    var ptext = $('#post_text');
    $('#submit').click(function() {
        data = ptext.val();
        alert(data);
        $('#form_container').fadeOut('slow', function(){
               $('#status').html(data);
               return;
       });
       $('#status').fadeIn('slow');
       return true;
    });
});

...and the textarea from the form

<div id="post_box"><textarea id="post_text" name="text" class="full"></textarea></div>

Additonal info: I'm using CKEditor on the textarea, but I do not think it would cause any problems like this. Have also tested in IE8 and Chrome.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

彼岸花似海 2024-11-05 11:20:58

当然这是 CKEditor 造成的。 textarea 不再是一个textarea,它已被其他东西取代,可能是一个iframe。由于文本区域不再存在,因此您无法使用 val 方法获取其文本。

使用 getData 方法从编辑器获取文本:

var data = CKEDITOR.instances.post_text.getData();

Of course it's CKEditor that causes this. The textarea is not a textarea at all any more, it has been replaced by something else, probably an iframe. As the textarea doesn't exist any more, you can't use the val method to get it's text.

Use the getData method to get the text from the editor:

var data = CKEDITOR.instances.post_text.getData();
梦里南柯 2024-11-05 11:20:58

一定是因为 CKEditor,因为您的从文本区域抓取文本的代码是有效的< /a>.

It has to be because of CKEditor, because your code for grabbing text from textarea is valid.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文