OpenClinica 用户手册/VarsFromHeader
在极少数情况下,您可能需要将 CRF 标题中的一些内容复制到您的 CRF 中。例如,站点名称或入组时的年龄。这些信息都在 CRF 的标题中,但大多数情况下是不可见的,因为标题是折叠的。当您单击 CRF 标题信息链接时,会显示一个包含信息的表格。
在您的 CRF 中获取这些信息的方法是使用 JavaScript。让我们看看获取事件名称的脚本。首先,您要确定将从标题中获取事件名称的 CRF 项目,在我们的例子中,我们将该项目称为“Event”。为了让 JavaScript 识别此输入为我们想要使用的输入,我们将一个 div 标签添加到 LEFT_ITEM_TEXT 中,用 <div id="event">Event from header</div>
在 RIGHT_ITEM_TEXT 中,我们放置脚本。
脚本是
<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。