这是在jquery中调用textarea的正确方法吗?

时间:2009-06-12 00:46:41

标签: jquery

由于某种原因,这种语法不起作用,我想知道为什么。当我提醒页面中的值时,我可以看到除textarea值之外的所有内容。我甚至没有得到一个未定义的。

var report  = $("textarea#report").val();

这是我的HTML:

<textarea id="report" name="report" rows="25" cols="10" style="width:100%;height:200px;"><?php echo $_POST['report']; ?></textarea>

<form id="rpt" action="">

上周我有Paolo帮助我的这段代码。这是jquery代码的开始,它也有一些编辑器代码与它混合

$(document).ready(function()
{
  $('.error').hide();
  WYSIWYG.attach('dfarReport', rpt);
  WYSIWYG_Core.addEvent(window, "load", function()
  {
    $('#Save').removeAttr('onclick').click(function()
    {

我尝试将Jonathan建议的代码添加到此,但是当我这样做时,我会收到错误。我还将“报告”更改为不同的内容以防万一,但这也无济于事。

IT工作!!!!!!!!!!!!!!!!!!!!

让这个工作。我添加了以下内容:

$(document).ready(function()
{
  $('.error').hide();
  WYSIWYG.attach('dfarReport', dfar);
  WYSIWYG_Core.addEvent(window, "load", function()
  {
    $('#Save').removeAttr('onclick').click(function()
    {
      WYSIWYG.updateTextArea('dfarReport');   <-------------- This is where it needs to go

6 个答案:

答案 0 :(得分:2)

修改

var report  = $("textarea#report").val();

应该正常工作,但是,如果您按ID引用它,那么您也不需要使用textarea

var report  = $("#report").val();

等同于

此外,您是否确定有关该名称的信息。没有错别字?

修改

使用OpenWYSIWYG,在通过javascript调用值之前使用WYSIWYG.updateTextArea('report');

答案 1 :(得分:0)

该语法应该有效。使用类似firebug的步骤执行执行,以找出导致Javascript失败的原因。另请参阅:

jQuery get textarea text

答案 2 :(得分:0)

另外,请确保您拥有正确的ID。尝试:

alert($("textarea#report").length);

同时检查以确保您没有在#前面添加id。我发现有时我偶然发现的是:

<textarea id="#report"></textarea>

......而不是......

<textarea id="report"></textarea>

答案 3 :(得分:0)

我建议您通过validator运行整个页面,因为看起来您的代码应该可以运行。另外,你是在$(document).ready()函数里面做的吗?如果没有,您可能在页面完全加载之前执行代码。

答案 4 :(得分:0)

我在asp.net MVC 1.0中尝试了以下内容并且运行正常: var rpt = $(“#report”)。val(); 警报(RPT);

正确的方法是使用如上所示的id。虽然$(“textarea#report”)也可以使用但速度较慢。 $(“#report”)使用DOM方法getElementById,是获取元素引用的禁区方法。请记住,ID是区分大小写的。

答案 5 :(得分:0)

尝试使用简单的javascript getElementById方法,看看它是否有效:

警报(的document.getElementById( “报告”)值。);

如果这有效,那jquery可能有问题,你可能需要使用jquery的调试版本来调试它。