我有一个页面,该页面是一个表单,可以有 33 个问题或 28 个问题,具体取决于用户选择的表单。该表单根据用户的选择来计算用户的分数。当它只是一种表单时,表单工作正常,但我需要它以不同的方式工作,因为如果用户选择它,某些问题会导致分数下降而不是上升。这是我正在使用的 JAVASCRIPT。之前的代码只有一个 if 语句 qtn_nbr <=16。我添加了新的 var form_nm,它告诉我表格是否需要在 16 或 18 个问题处进行减法。然而,下面的代码仅识别 18 的第一个 if 语句,但是当我切换到 16 的表单时,即使 form_nm 的值现在是 16,它也不会转到 else if 。有人可以看看我的语法,让我知道我是否遗漏了某些内容,或者他们是否有更好的逻辑让我在这两个值之间切换?任何帮助将不胜感激。
function valuechanged(inval, totalqtns)
{
//alert(inval.name);
//alert(inval.value);
var val = inval.value;
var str = inval.name;
var qtn_nbr = String(str).substring(4);//get the number of the question
var formnm = document.getElementById(formname); //get question number
//alert(qtn_nbr);
var txt1 = 'pos_pt_' + qtn_nbr;
//alert(document.getElementById(txt1).value);
var txt2 = 'pt_' + qtn_nbr;
var txt3 = 'qtn_' + qtn_nbr + '_comm';
var txt4 ='comm_' + qtn_nbr;
//alert('here');//current display of here when clicking on any point value!
document.getElementById(txt2).value= 0;
//alert(document.getElementById(txt2).value);
if (formnm = 18 && qtn_nbr <= 18)
{
if (val == 'yes')
{
document.getElementById(txt2).value = document.getElementById(txt1).value;
//document.getElementById(txt3).disabled = true;
document.getElementById(txt3).value='';
document.getElementById(txt4).value='';
}
else if (val == 'half')
{
document.getElementById(txt2).value = parseInt(document.getElementById(txt1).value)/2;
//document.getElementById(txt3).disabled = false;
}
else
{
document.getElementById(txt2).value = 0;
//document.getElementById(txt3).disabled = false;
}
}
慕的地8271018
相关分类