为了账号安全,请及时绑定邮箱和手机立即绑定

JAVASCRIPT 的新问题,涉及 IF 语句和多个值

JAVASCRIPT 的新问题,涉及 IF 语句和多个值

繁花不似锦 2023-08-24 10:16:24
我有一个页面,该页面是一个表单,可以有 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;                }            }
查看完整描述

1 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

我明白了,谢谢你的帮助。如果我在 if 语句中使用值,而不是设置变量,那么它会与 == 一起使用。


    if (document.getElementById('formname').value == 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;

                }

        

    }

else if (document.getElementById('formname').value == 16 && qtn_nbr <= 16)

    {

        

        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;

            }

    

    }   



查看完整回答
反对 回复 2023-08-24
  • 1 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信