我是 javascripting 的新手,但是通过阅读这个论坛上的问答,我学到了很多东西。就像他们说的那样,学习编码的最好方法是看看其他人是如何编码的!
我正在尝试使用基于 javascript/html 的表单来管理我的工作流程。一点背景知识,我是一名病理学家,为各种患者样本生成基于文本的报告。大部分输出都非常适合使用预先编写的“罐头评论”。我希望将此类评论链接到各种复选框值,以便我可以简单地选中相应的框,并将我的报告构建在文本区域中。
例如,如果我有 4 个不同的组织部位:
[] 站点 1 [] 站点 2 [] 站点 3 [] 站点 4
并且可以为每个选择 4 种不同的诊断之一
[] 诊断1 [] 诊断2 [] 诊断3 [] 诊断4
我希望能够选择一个站点和一个诊断,并在 textarea 中有相关的值,输出格式如下:
站点 1,活检:
- 诊断 1站点 2,活检:
- 诊断 1SITE3,活检:
- 诊断 3站点 4,活检:
- 诊断 2
我在这里有一些表格的开头:
<body>
Duodenum sites <br/>
<form name=duodenum>
<input type="checkbox" name="duoDx1" id="duoDx1" /> DUO, NSA <br />
<input type="checkbox" name="duoDx2" id="duoDx2" /> DUO, _ PART <br />
<input type="checkbox" name="duoDx3" id="duoDx3" /> DUO, BULB <br />
<input type="checkbox" name="duoDx4" id="duoDx4" /> DUO, ULCER <br />
</form>
<p> </p>
Duodenum diagnoses <br/>
<form name=duodiags>
<input type="checkbox" name="duoDiag1" id="duoDiag1" /> NSA <br />
<input type="checkbox" name="duoDiag2" id="duoDiag2" /> FOCAL ACTIVE <br />
<input type="checkbox" name="duoDiag3" id="duoDiag3" /> C A <br />
<input type="checkbox" name="duoDiag4" id="duoDiag4" /> CELIAC <br />
</form>
<p> </p>
<p> </p>
<textarea id="outPut" placeholder="Diagnoses" cols=80 rows=20></textarea>
</body>
我的JavaScript:
var duoDxs = {
duoDx1: 'DUODENUM, BIOPSY: \n \n',
duoDx2: 'DUODENUM, ___ PART, BIOPSY: \n \n',
duoDx3: 'DUODENUM, BULB, BIOPSY: \n \n',
duoDx4: 'DUODENUM, "ULCER", BIOPSY: \n \n'
}
var duoDiags = {
duoDiag1: ' - NO SIGNIFICANT ABNORMALITIES \n',
duoDiag2: ' - FOCAL ACUTE INFLAMMATION\n',
duoDiag3: ' - CHRONIC AND ACTIVE DUODENITIS\n',
duoDiag4: ' - VILLOUS BLUNTING AND INCREASED INTRAEPITHELIAL LYMPHOCYTES (SEE
COMMENT)\n'
}
var mytextbox = document.getElementById('outPut');
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type === "checkbox" && inputs[i].name.indexOf('duoDx') > -1) {
inputs[i].onchange = function() {
if (this.checked) {
mytextbox.value = mytextbox.value + duoDxs[this.name] + duoDiags[this.name];
} else {
mytextbox.value = mytextbox.value.replace(duoDxs[this.name], "");
}
}
}
}
但是,我似乎无法让复选框值的两个部分以正确的方式填充文本区域。我似乎无法弄清楚如何使用填充我的 textarea 的功能来遍历站点和诊断?任何帮助/教育将不胜感激!
谢谢。CK