Javascript 生成风险评分的表单
我正在创建一个冗长的表单。如果您符合条件,有5个不同的部分可供您标记(复选标记)。大概总共有50个问题。每个部分都有不同的权重/分数(第1部分各1分,第2部分各3分等)。如何显示总分以及脚本计算是否正常?对不起,这方面我还不太熟悉。没有包括整个表单,因为它很长Javascript 生成风险评分的表单,javascript,html,Javascript,Html,我正在创建一个冗长的表单。如果您符合条件,有5个不同的部分可供您标记(复选标记)。大概总共有50个问题。每个部分都有不同的权重/分数(第1部分各1分,第2部分各3分等)。如何显示总分以及脚本计算是否正常?对不起,这方面我还不太熟悉。没有包括整个表单,因为它很长 <script language="JavaScript1.1" type="text/javascript"> /* <![CDATA[ */ var calctxt = ''; var xmltxt = ''; v
<script language="JavaScript1.1" type="text/javascript">
/* <![CDATA[ */
var calctxt = '';
var xmltxt = '';
var htmtxt = '';
function DVTScoreWells_fx() {
with(document.DVTScoreWells_form){
Score = 0.0;
doCalc = true;
if (1PQ1.checked){
Score = Score + 1;
}
if (1PQ2.checked){
Score = Score + 1;
}
if (1PQ3.checked){
Score = Score + 1;
}
if (1PQ4.checked){
Score = Score + 1;
}
if (1PQ5.checked){
Score = Score + 1;
}
if (1PQ6.checked){
Score = Score + 1;
}
if (1PQ7.checked){
Score = Score + 1;
}
if (1PQ8.checked){
Score = Score + 1;
}
if (1PQ9.checked){
Score = Score + 1;
}
if (1PQ10.checked){
Score = Score + 1;
}
if (1PQ11.checked){
Score = Score + 1;
}
if (1PQ12.checked){
Score = Score + 1;
}
if (1PQ13.checked){
Score = Score + 1;
}
if (1PQ14.checked){
Score = Score + 1;
}
if (1PQ15.checked){
Score = Score + 1;
}
if (2PQ1.checked){
Score = Score + 2;
}
if (2PQ2.checked){
Score = Score + 2;
}
if (2PQ3.checked){
Score = Score + 2;
}
cctotal.value = Score;
if (doCalc){
rrclr();
}
}
}
</script>
<form name="DVTScoreWells_form" id="DVTScoreWells_form" action="#" onsubmit="return false;" onreset="rrclr();">
<br><br>
<p>Are you at risk for DVT? Fill out this Risk Assessment and take a look.</p><br><br>
</div>
</div>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<table bgcolor="#FFFFFF" cellpadding="200" cellspacing="200" class="bodyContainer">
<tbody>
<tr>
<td class="leftSidebar" sectionid="leftSidebar" valign="top">
<div>
<div>
<div class="title" style="text-align:left">
<div class="title" contentid="title" style="text-align: left;">
<div>
<div>
<span style="text-decoration: none;"><span style="font-family: Comic Sans MS; font-size: 18pt;">Each Risk Factor
Represents 1 Point</span></span>
</div>
<div>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<table class="infusion-field-container" style="width:270;">
<tbody>
<tr>
<td class="infusion-field-input-container" style="width:270px;">
<input class="infusion-field-input-container" id="1PQ1" name="1PQ1" type="checkbox" onclick="DVTScoreWells_fx();"
/>
<label for="1PQ1">Age 41 - 59</label>
</td>
</tr><tr>
</td>
</tr><tr>
<td class="infusion-field-input-container" style="width:270px;">
<input class="infusion-field-input-container" id="1PQ2" name="1PQ2" type="checkbox" onclick="DVTScoreWells_fx();"
/>
<label for="1PQ2">Minor surgery planned</label>
</td>
</tr><tr>
</td>
</tr><tr>
<td class="infusion-field-input-container" style="width:270px;">
<input class="infusion-field-input-container" id="1PQ3" name="1PQ3" type="checkbox" onclick="DVTScoreWells_fx
();"/>
<label for="1PQ3">History of prior major surgery</label>
</td>
</tr><tr>
</td>
</tr><tr>
<td class="infusion-field-input-container" style="width:270px;">
<input class="infusion-field-input-container" id="1PQ4" name="1PQ4" type="checkbox" onclick="DVTScoreWells_fx
();"/>
<label for="1PQ4">Varicose veins</label>
</td>
</tr><tr>
</td>
</tr><tr>
<td class="infusion-field-input-container" style="width:270px;">
<input class="infusion-field-input-container" id="1PQ5" name="1PQ5" type="checkbox" onclick="DVTScoreWells_fx
();"/>
<label for="1PQ5">History of inflammatory bowel disease</label>
</td>
</tr><tr>
</td>
</tr><tr>
<td class="infusion-field-input-container" style="width:270px;">
<input class="infusion-field-input-container" id="1PQ6" name="1PQ6" type="checkbox" onclick="DVTScoreWells_fx
();"/>
<label for="1PQ6">Swollen legs (current)</label>
</td>
</tr><tr>
</td>
</tr><tr>
<td class="infusion-field-input-container" style="width:270px;">
<input class="infusion-field-input-container" id="1PQ7" name="1PQ7" type="checkbox" onclick="DVTScoreWells_fx
();"/>
<label for="1PQ7">Obesity (BMI >30)</label>
</td>
</tr><tr>
</td>
</tr><tr>
<td class="infusion-field-input-container" style="width:270px;">
<input class="infusion-field-input-container" id="1PQ8" name="1PQ8" type="checkbox" onclick="DVTScoreWells_fx
();"/>
/*
你有DVT的风险吗?填写此风险评估并查看。
各风险因素
代表1分
年龄41-59
计划进行小手术
既往大手术史
静脉曲张
炎症性肠病史
肿胀的腿(当前)
肥胖(BMI>30)
老实说,您当前的代码处理方式很容易因输入错误或遗漏而出错,维护起来也很痛苦
我的主要建议是利用一个id为Score的div,该div包含运行总数,并让每个复选框调用一个函数,其值作为调整Score的innerHTML的参数,例如:
HTML:您的风险较低(0)
JS:
函数更新核心(ele,val){
var score=document.getElementById('score');
var riskLevel=document.getElementById('riskLevel');
var curScore=parseFloat(score.innerHTML);
curScore+=(元素检查值-val:-val);
score.innerHTML=curScore;
如果(curScore LOL true)。在我让它看起来专业之前,我只是想让一切都正常工作。非常感谢。我是一名新的编码专家,我的头脑非常复杂:(这在我的小测试中效果很好,但有时如果我快速点击复选框几次,分数会跳得比应该的高或低。现在我只使用一个复选框测试它。java函数是否需要任何调整?再次感谢。你的还是我的?我正在使用你的JS代码。一切都运行良好且真实谢谢你的帮助。请注意,如果我快速点击同一个框两次,计算结果将不正确。好的,首先,你想取消额外的复选框(我HTML中的复选框)并修复我使用的(我最初输入的)错误如果你还没有。至于双击是一个问题,嗯……你使用的是什么浏览器,我没有这个问题。谢谢,现在看起来好多了。当你双击复选框时,IE 10出现了数学问题,但我刚刚用Google Chrome试过,它工作得很好。一定是IE出现了问题。
function updateScore(ele,val){
var score = document.getElementById('score');
var riskLevel = document.getElementById('risklevel');
var curScore = parseFloat(score.innerHTML);
curScore += (ele.checked ? val : -val);
score.innerHTML = curScore;
if(curScore <= 1){
riskLevel.innerHTML = "Low";
}else if(curScore <= 2){
riskLevel.innerHTML = "Moderate";
}else if(curScore <= 4){
riskLevel.innerHTML = "High";
}else{
riskLevel.innerHTML = "Very High";
}
}