所以我有一个奇怪的问题,我试图从名为name的文本字段中获取值并将其放入另一个名为title的字段中。它根本不起作用。
基本上,我一直这样做: 我正在使用的字段值来自字段的id部分。
<script type="text/javascript" src="https://secureteams.app.aexp.com/sites/fiucmc/SiteAssets/jquery-3.1.0.min.js">
// getting the field
var email = $("#FileLeafRef_8553196d-ec8d-4564-9861-3dbe931050c8_$onetidIOFile").val();
// setting the value
$("#Title_fa564e0f-0c70-4ab9-b863-0177e6ddd247_$TextField").val( email );
</script>
当然,我不是JQuery的佼佼者,我真的不认为这应该是那么难。
答案 0 :(得分:0)
var email = $("input[title='FileLeafRef']").val();
$("input[title='Title']").val( email );
如果FileLeafRef是字段标题,应该可以正常工作。但是您需要将此脚本添加到“文档上载”表单中,因为从您对Thriggle问题的回答中我不确定代码是否在正确的位置运行。
答案 1 :(得分:0)
最后我找到了解决方案! 它基于这个网站:Setting value to TextBox field
您必须遵循的重要步骤:
<script language='javascript' type='text/javascript' src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function()
{
$.ajax(
{
url: "http://yourSharepointSite/_api/SP.UserProfiles.PeopleManager/GetMyProperties?$select=Email",
method: "GET",
headers:
{
"accept": "application/json;odata=verbose"
},
success: function (data)
{
var result = data.d;
var userMail= result.Email;
var textBoxCurrentUserEmail = $("#ctl00_ctl33_g_58328422_c761_4475_a673_5c3f263a5dab_FormControl0_V1_I1_T3");
var textBoxIsAuthor = $("#ctl00_ctl33_g_58328422_c761_4475_a673_5c3f263a5dab_FormControl0_V1_I1_T4");
textBoxCurrentUserEmail .val(userMail);
textBoxCurrentUserEmail .focus();
textBoxIsAuthor .focus();
window.console && console.log(userMail);
},
error: function (err)
{
alert(JSON.stringify(err));
}
});
});
</script>
请不要忘记在元素上使用.focus(),因为这将显示新插入的数据!
总而言之,之后您可以将列表设置为显示为对话框模式!
答案 2 :(得分:0)
我认为问题出在字段名称中包含的$。 jQuery将它们解释为另一个变量的开始(我认为),因此无法解决您期望的字段。我发现的解决方案是对名称进行模式匹配,该名称仅适用于列名没有冲突的小型表单,当然,您需要考虑如果表单进一步发展,将来会发生什么。
无论如何,如果您想尝试一下,我认为以下方法会起作用:
<script type="text/javascript" src="https://secureteams.app.aexp.com/sites/fiucmc/SiteAssets/jquery-3.1.0.min.js">
// getting the field
var email = $('input[id^="FileLeafRef"]').val();
// setting the value
$('input[id^="Title"]').val( email );