Javascript 改变<;>;

Javascript 改变<;>;,javascript,forms,sharepoint,Javascript,Forms,Sharepoint,我在SharePoint 2013列表中工作,该列表有一个选项列,“允许填写”选项:“设置为是” 默认情况下,该单选按钮的文本标签设置为“指定您自己的值”,并且不能通过用户界面进行更改。如何通过JS进行更改?我在下面提供了一个简短的片段,介绍最终呈现的代码是什么样子的 <span title="Specify your own value:" class="ms-RadioText" onclick="SetFocusOnControl('ctl00_m_g_d8db5d84_c3de_4

我在SharePoint 2013列表中工作,该列表有一个选项列,“允许填写”选项:“设置为是”

默认情况下,该单选按钮的文本标签设置为“指定您自己的值”,并且不能通过用户界面进行更改。如何通过JS进行更改?我在下面提供了一个简短的片段,介绍最终呈现的代码是什么样子的

<span title="Specify your own value:" class="ms-RadioText" onclick="SetFocusOnControl('ctl00_m_g_d8db5d84_c3de_40e0_8fa4_d9fd909d75d1_ff1251_ctl00_ctl02')">
    <input name="ctl00$m$g_d8db5d84_c3de_40e0_8fa4_d9fd909d75d1$ff1251$ctl00$RadioButtons" id="ctl00_m_g_d8db5d84_c3de_40e0_8fa4_d9fd909d75d1_ff1251_ctl00_ctl01" type="radio" value="ctl01">
    <label for="ctl00_m_g_d8db5d84_c3de_40e0_8fa4_d9fd909d75d1_ff1251_ctl00_ctl01">Specify your own value:
    </label>
</span>   
谢谢


-Haniel

getElementsByName
适用于具有
name
属性的元素。类似地,
getElementById
适用于具有
id
属性的元素。所以,既然标签上两个都没有,那就没用了

你需要的是

document.querySelector('label[for=“ridiclylongid”]”)。innerHTML=“BOO!”;

另外,在源代码的两个函数中都有
[1]
,但这不好。对于
getElementsByName
您应该使用
[0]
,因为结果是基于0的。对于
getElementById
,对于
querySelector
,您根本不需要索引(它们不是集合)。

getElementsByName
适用于具有
name
属性的元素。类似地,
getElementById
适用于具有
id
属性的元素。所以,既然标签上两个都没有,那就没用了

你需要的是

document.querySelector('label[for=“ridiclylongid”]”)。innerHTML=“BOO!”;

另外,在源代码的两个函数中都有
[1]
,但这不好。对于
getElementsByName
您应该使用
[0]
,因为结果是基于0的。对于
getElementById
,对于
querySelector
,您根本不需要索引(它们不是集合)。

getElementsByName
适用于具有
name
属性的元素。类似地,
getElementById
适用于具有
id
属性的元素。所以,既然标签上两个都没有,那就没用了

你需要的是

document.querySelector('label[for=“ridiclylongid”]”)。innerHTML=“BOO!”;

另外,在源代码的两个函数中都有
[1]
,但这不好。对于
getElementsByName
您应该使用
[0]
,因为结果是基于0的。对于
getElementById
,对于
querySelector
,您根本不需要索引(它们不是集合)。

getElementsByName
适用于具有
name
属性的元素。类似地,
getElementById
适用于具有
id
属性的元素。所以,既然标签上两个都没有,那就没用了

你需要的是

document.querySelector('label[for=“ridiclylongid”]”)。innerHTML=“BOO!”;

另外,在源代码的两个函数中都有
[1]
,但这不好。对于
getElementsByName
您应该使用
[0]
,因为结果是基于0的。对于
getElementById
,对于
querySelector
,您根本不需要索引(它们不是集合)。

嗨,李斯特先生,谢谢您的帮助。我一直得到一个错误,它是一个空对象。ID与标签的ID匹配。有什么想法吗?@Haniel,真奇怪。正如你所看到的,我从你的来源那里做了一个分析。在标签已经存在之后,您确定在正确的时刻调用JavaScript吗?还有,在哪个浏览器中?您好,经过一些调查,我能够通过将脚本块放在控件旁边而不是页面的顶部或底部来让它工作。您好,李斯特先生,谢谢您的帮助。我一直得到一个错误,它是一个空对象。ID与标签的ID匹配。有什么想法吗?@Haniel,真奇怪。正如你所看到的,我从你的来源那里做了一个分析。在标签已经存在之后,您确定在正确的时刻调用JavaScript吗?还有,在哪个浏览器中?您好,经过一些调查,我能够通过将脚本块放在控件旁边而不是页面的顶部或底部来让它工作。您好,李斯特先生,谢谢您的帮助。我一直得到一个错误,它是一个空对象。ID与标签的ID匹配。有什么想法吗?@Haniel,真奇怪。正如你所看到的,我从你的来源那里做了一个分析。在标签已经存在之后,您确定在正确的时刻调用JavaScript吗?还有,在哪个浏览器中?您好,经过一些调查,我能够通过将脚本块放在控件旁边而不是页面的顶部或底部来让它工作。您好,李斯特先生,谢谢您的帮助。我一直得到一个错误,它是一个空对象。ID与标签的ID匹配。有什么想法吗?@Haniel,真奇怪。正如你所看到的,我从你的来源那里做了一个分析。在标签已经存在之后,您确定在正确的时刻调用JavaScript吗?另外,在哪个浏览器中?您好,经过一些调查后,我将脚本块放置在控件旁边,而不是页面的顶部或底部,从而使其正常工作。
document.getElementByName("ctl00$m$g_d8db5d84_c3de_40e0_8fa4_d9fd909d75d1$ff1251$ctl00$RadioButtons")[1].innerHTML="BOO!";
document.getElementByName("ctl00$m$g_d8db5d84_c3de_40e0_8fa4_d9fd909d75d1$ff1251$ctl00$RadioButtons")[1].innerText="BOO!";
document.getElementById("ctl00_m_g_d8db5d84_c3de_40e0_8fa4_d9fd909d75d1_ff1251_ctl00_ctl01")[1].innerText="BOO!";
document.getElementById("ctl00_m_g_d8db5d84_c3de_40e0_8fa4_d9fd909d75d1_ff1251_ctl00_ctl01")[1].innerHTML="BOO!";