2013-10-28 70 views
1

我試圖禁用SharePoint WSS3中的文本框並強制使用特定的值(由另一個JavaScript函數提供),但似乎無法找到正確的方式。我遇到過不同的問題。假設我有一個名爲prova的普通單行文本值和另一個名爲Description的單行文本值。描述是必需的,prova不是。如何禁用Sharepoint文本框?

第一個問題:如果該字段是必需的,即使文本框中有某些內容,SharePoint會另外聲明並且不允許我插入該條目。

$(document).ready(function(){ 
    //var value = someFunction(...); 
    var value = "test"; 
    $("input[title='Description']").attr("disabled", "disabled"); 
    $("input[title='Description']").val(value); 
}); 

enter image description here

第二期:如果字段不是必需的SharePoint不說什麼,但它插入一個空值,而不是給出的一個。

$(document).ready(function(){ 
    //var value = someFunction(...); 
    var value = "test"; 
    $("input[title='prova']").attr("disabled", "disabled"); 
    $("input[title='prova']").val(value); 
}); 

enter image description here

enter image description here

我有一種感覺,告訴我,有某種的SharePoint JavaScript函數的地方,監聽KEYUP什麼的。我真的不知道現在該做什麼...

編輯:它看起來像問題是關閉禁用文本框,如果我評論行禁用它在兩種情況下工作的文本框。也許,如果我捕獲插入請求,我可以在SharePoint執行實際發佈之前重新啓用文本框。不知道該怎麼做,雖然...

+1

好問題!當您收到Sharepoint錯誤時,我錯過了這些信息。點擊「確定」後?只需要總結一下:當需要該字段(需要SharePoint),並且通過JavaScript輸入一些數據時 - SharePoint認爲該字段中沒有數據並且不保存字段數據?你能展示更多的代碼嗎? '.val(value)'看起來是正確的設置字段值:http://formsdesigner.blogspot.de/2013/04/getting-and-setting-sharepoint-form.html –

+0

是的,點擊確定後,SharePoint認爲文本框是空。不過看起來問題與disabled屬性有關,請查看我所做的編輯。編輯:代碼真的很簡單,旁邊的功能,獲得的價值的課程。 – raz3r

回答

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以使其看起來灰顯。

+0

不錯的工作m8,你救了我的一天! – raz3r