1

我正在尝试禁用 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 进行实际发布之前重新启用文本框。虽然不知道该怎么做...

4

1 回答 1

1

您的问题确实首先禁用文本框有关。默认情况下,禁用的文本框不包含在 IE 的 POST 请求中。

看到这篇文章:禁用的表单输入没有出现在请求中或这个:如何通过禁用的文本框保存数据?

您真正想要做的是设置readonly字段的属性,而不是disable它 ( readonly="readonly")。这样做的问题是只读状态有时看起来与默认状态相同,因此您还必须添加一些 CSS 使其看起来是灰色的。

于 2013-10-28T12:54:58.550 回答