Javascript 在jQuery中设置textarea的值
我正在尝试为SharePoint中的表单字段设置默认值,但在IE中运行代码时遇到了一些问题。我已经成功测试了Firefox和Chrome。你知道为什么IE不会设定这个值吗Javascript 在jQuery中设置textarea的值,javascript,jquery,sharepoint,Javascript,Jquery,Sharepoint,我正在尝试为SharePoint中的表单字段设置默认值,但在IE中运行代码时遇到了一些问题。我已经成功测试了Firefox和Chrome。你知道为什么IE不会设定这个值吗 <script type="text/javascript" src="http://www.qg.com/shared/cache/jquery/142/jquery-1.4.2.min.js"></script> <script type="text/javascript"> s
<script type="text/javascript" src="http://www.qg.com/shared/cache/jquery/142/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
setTimeout("setDefaultText()", 500);
function setDefaultText()
{
var text = "Param 1:\n\nParam 2:\n\nParam 3:";
var r1text = $("#ctl00_m_g_94a22119_a2e7_408c_aa27_c680b509802d_ctl00_ctl04_ctl09_ctl00_ctl00_ctl04_ctl00_ctl00_TextField").val();
var r2text = $("#ctl00_m_g_94a22119_a2e7_408c_aa27_c680b509802d_ctl00_ctl04_ctl10_ctl00_ctl00_ctl04_ctl00_ctl00_TextField").val();
if((r1text + "").length == 0)
{
$("#ctl00_m_g_94a22119_a2e7_408c_aa27_c680b509802d_ctl00_ctl04_ctl09_ctl00_ctl00_ctl04_ctl00_ctl00_TextField").val(text);
}
if((r2text + "").length == 0)
{
$("#ctl00_m_g_94a22119_a2e7_408c_aa27_c680b509802d_ctl00_ctl04_ctl10_ctl00_ctl00_ctl04_ctl00_ctl00_TextField").val(text);
}
}
</script>
setTimeout(“setDefaultText()”,500);
函数setDefaultText()
{
var text=“参数1:\n\nParam 2:\n\nParam 3:”;
var r1text=$(“#ctl00_m_g_94a22119_a2e7_408c_aa27_c680b509802d_ctl00_ctl04_ctl09_ctl00_ctl00_ctl04_ctl00_ctl00_TextField”).val();
var r2text=$(“#ctl00_m_g_94a22119_a2e7_408c_aa27_c680b509802d_ctl00_ctl04_ctl10_ctl00_ctl00_ctl04_ctl00_ctl00_TextField”).val();
如果((r1text+“”)。长度==0)
{
$(“#ctl00_m_g_94a22119_a2e7_408c_aa27_c680b509802d_ctl00_ctl04_ctl09_ctl00_ctl00_ctl04_ctl00_ctl00_TextField”).val(文本);
}
如果((r2text+“”)。长度==0)
{
$(“#ctl00_m_g_94a22119_a2e7_408c_aa27_c680b509802d_ctl00_ctl04_ctl10_ctl00_ctl00_ctl04_ctl00_ctl00_TextField”).val(文本);
}
}
设置超时()的目的是什么
如果试图确保加载DOM,则应执行以下操作:
$(function() {
var text = "Param 1:\n\nParam 2:\n\nParam 3:";
var r1text = $("#ctl00_m_g_94a22119_a2e7_408c_aa27_c680b509802d_ctl00_ctl04_ctl09_ctl00_ctl00_ctl04_ctl00_ctl00_TextField").val();
var r2text = $("#ctl00_m_g_94a22119_a2e7_408c_aa27_c680b509802d_ctl00_ctl04_ctl10_ctl00_ctl00_ctl04_ctl00_ctl00_TextField").val();
if((r1text + "").length == 0)
{
$("#ctl00_m_g_94a22119_a2e7_408c_aa27_c680b509802d_ctl00_ctl04_ctl09_ctl00_ctl00_ctl04_ctl00_ctl00_TextField").val(text);
}
if((r2text + "").length == 0)
{
$("#ctl00_m_g_94a22119_a2e7_408c_aa27_c680b509802d_ctl00_ctl04_ctl10_ctl00_ctl00_ctl04_ctl00_ctl00_TextField").val(text);
}
});
我猜DOM不是在
500
毫秒内加载的,而您的.val()
给了您未定义的
,因此使用+“”
您会得到一个字符串“未定义的”尝试将setTimeout()放在函数下面。是否满足长度条件?(r1text+“”)
的测试输出会产生什么结果?不会引发错误。移动setTimeout调用无效。正在发出警报(r1text+“”)。长度为0。我开始使用等待DOM的jQuery样式,但遇到了与我归因于SharePoint的单独语法错误相关的问题,该错误与jQuery DOM加载检查冲突。有趣的是,切换回jQuery样式修复了这个问题,但我不明白为什么会这样。@jjr2527-这很奇怪。确实不应该与jQuery的.ready()
方法发生冲突,因为它只是每隔13ms左右检查文档是否有
标记(直到找到为止)。不管怎么说,很高兴你一切都好起来了o)