我正在尝试禁用SharePoint WSS3中的文本框并强制使用特定值(由另一个JavaScript函数给出),但我似乎无法找到正确的方法。我遇到过不同的问题。假设我有一个名为prova的普通单行文本值和另一个名为Description的文本值。描述是必需的,而prova不是。
第一个问题:如果需要字段,即使文本框中有内容,SharePoint也会另外说明,并且不允许我插入条目。
$(document).ready(function(){
//var value = someFunction(...);
var value = "test";
$("input[title='Description']").attr("disabled", "disabled");
$("input[title='Description']").val(value);
});
第二个问题:如果字段不是必需的,则SharePoint不会说任何内容,只会插入空白值而不是给定的值。
$(document).ready(function(){
//var value = someFunction(...);
var value = "test";
$("input[title='prova']").attr("disabled", "disabled");
$("input[title='prova']").val(value);
});
我有一种感觉,告诉我某处某种SharePoint JavaScript函数会侦听KeyUp或其他东西。我真的不知道现在该做什么......
编辑:看起来这个问题与禁用文本框有关,如果我注释我禁用它在两种情况下工作的文本框的行。也许如果我抓住插入请求,我可以在SharePoint执行实际发布之前重新启用文本框。不知道如何做到这一点......
答案 0 :(得分:1)
您的问题 与首先禁用文本框有关。默认情况下,禁用的文本框不包含在IE中的POST请求中。
请参阅此帖子:Disabled form inputs do not appear in the request或此帖:how to save data by disabled text box?
您真正想要做的是设置字段的readonly
属性,而不是disable
它(readonly="readonly"
)。问题在于,readonly状态有时看起来与默认状态相同,因此您还必须添加一些CSS以使其看起来是灰色的。