跳轉到內容

OpenClinica 使用者手冊/VarsFromHeader

來自華夏公益教科書

在極少數情況下,您可能需要將 CRF 標題中的一些內容複製到您的 CRF 中。例如,站點名稱或入組時的年齡。這些資訊都在 CRF 的標題中,但大多數情況下是不可見的,因為標題是摺疊的。當您單擊 CRF 標題資訊連結時,會顯示一個包含資訊的表格。

information in the header
標題中的資訊

如何獲取?

[編輯 | 編輯原始碼]

在您的 CRF 中獲取這些資訊的方法是使用 JavaScript。讓我們看看獲取事件名稱的指令碼。首先,您要確定將從標題中獲取事件名稱的 CRF 專案,在我們的例子中,我們將該專案稱為“Event”。為了讓 JavaScript 識別此輸入為我們想要使用的輸入,我們將一個 div 標籤新增到 LEFT_ITEM_TEXT 中,用 <div id="event">Event from header</div>

在 RIGHT_ITEM_TEXT 中,我們放置指令碼。

XL with JavaScript
帶 JavaScript 的 XL

它是如何工作的?

[編輯 | 編輯原始碼]

指令碼是

<script src="includes/jmesa/jquery.min.js"></script>
<script>
jQuery(document).ready(function($) { 
   var fieldEvent = $("#event").parent().parent().find("input");
   fieldEvent.attr("readonly", true);

   if(fieldEvent.val()===""){
      var event = $(".tablebox_center").find("tbody:first").children("tr:nth-child(1)").children("td:nth-child(2)").text();
      event = $.trim(event);
      fieldEvent.val(event);
      fieldEvent.change();
   }
});
</script>

它所做的是透過檢視我們稱為“event”的元素的父元素的父元素來查詢要使用的輸入,然後查詢輸入。
然後它將此輸入設定為只讀。
然後它檢查輸入是否為空,如果是,則轉到第一個具有類“tablebox_center”的元素,該元素是包含完整標題的框。
從那裡,它查詢第一個表格主體,其中包含目標元素(這與標題的設計方式有關)。
對於事件,我們幾乎到了:它在第一行,第二個 td 中。

還有其他變數嗎?

[編輯 | 編輯原始碼]

其他變數可以用非常類似的方式找到
事件發生次數:children("tr:nth-child(2)").children("td:nth-child(2)").text(); (但它不在圖片上)
性別:children("tr:nth-child(1)").children("td:nth-child(4)").text();
入組時的年齡:children("tr:nth-child(2)").children("td:nth-child(4)").text();
研究:children("tr:nth-child(3)").children("td:nth-child(2)").text();
出生日期:children("tr:nth-child(3)").children("td:nth-child(4)").text();
站點:children("tr:nth-child(4)").children("td:nth-child(2)").text();
人員 ID:children("tr:nth-child(4)").children("td:nth-child(4)").text();

請記住,您在研究構建中定義了這些變數中的哪些將在您的標題中顯示。此外,出生日期不是標準日期格式,因此您不能將其視為 DATA_TYPE DATE。

華夏公益教科書