Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery中设置textarea的值_Javascript_Jquery_Sharepoint - Fatal编程技术网

Javascript 在jQuery中设置textarea的值

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

我正在尝试为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">
    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)