由于某种原因,这种语法不起作用,我想知道为什么。当我提醒页面中的值时,我可以看到除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
答案 0 :(得分:2)
修改
var report = $("textarea#report").val();
应该正常工作,但是,如果您按ID引用它,那么您也不需要使用textarea
var report = $("#report").val();
等同于
此外,您是否确定有关该名称的信息。没有错别字?
使用OpenWYSIWYG,在通过javascript调用值之前使用WYSIWYG.updateTextArea('report');
答案 1 :(得分:0)
该语法应该有效。使用类似firebug的步骤执行执行,以找出导致Javascript失败的原因。另请参阅:
答案 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的调试版本来调试它。