js问题,一个关于运算的函数问题

2025-01-03 00:46:01
推荐回答(5个)
回答(1):

switch 的控制语句的语法:

switch( value ){
    case value1 :
        statements1;
        break;
    case value2 :
        statements2;
        break;
        ....
    case defalt :
        statements2;
        break;
}

你的switch 没有大括号,应该会报语法错误吧。不过也许是贴代码贴错了吧。


接着猜测另一个原因(虽然也不大可能):

浏览器从上到下的加载文件,不管是 html 代码还是 javascript 代码,都是随着文件的加载、从上到下的顺序进行渲染或执行。

如果 Javascript 代码在执行的时候,其引用的 DOM 元素并未加载并渲染,那么就引用不到值。


不过我看你的函数名为 submit ,相比是加在了提交按钮上,也不会发生这个错误。


那么,还有一个可能:你的 submit1 function 少了一个结尾大括号 }。(也可能是你没贴上来)。


最后:综上所述,最可能的原因,就是你对 switch 的语句理解有问题。如你所说“我想实现的效果是当电机数=4的时候”,而你的代码却是:

switch(vardianji2)
   case 1:
   vardianji2=4

应该是:

swtich(vardianji2){
    case 4: // 等于 4 的时候
        if(varAC>varAB)
        {
        }
        else
        {
        alert("AC,BC的长度必须大于其它边长")
        }
    break; 
    case 3 : // 等于 3 的时候
        //...;
        break;
    default: // 默认情况,就是大于 4 ,小于 3
        //...
        break;
}

参考资料:控制语句 switch http://www.tootei.net/archives/233#1-2

回答(2):





MODEL PAGE



var _submit = function (form) 
{
var reg = /^\s*|\s*$/g;
var ab = form.AB.value.replace(reg, "");
var ac = form.AC.value.replace(reg, "");
var ad = form.AD.value.replace(reg, "");
var bc = form.BC.value.replace(reg, "");
var bd = form.BD.value.replace(reg, "");
var dianji = form.dianji.value.replace(reg, "");
if (ab == "" || ac == "" || bc == "" || bd == "" || ad == "")
    {
    alert ('把长度填写完整.');
    return false;
    }
else if ("" == dianji)
    {
    alert ("填入电机数.");
    return false;
    }
else if (dianji > 4 || dianji < 2)
    {
    alert ("电机数必须在2到4之间.");
    return false;
    }
switch (dianji)
    {
    case 4:
    if (!(ac > bc && ac > bd && ac > ad && ab > bc && ab > bd && ab > ad))
            {
            alert ('AC AB的长度必须大于其他边长');
            return false;
            }
    break;
    case 3:
     if (!(ac > bc && ac > bd && ac > ab && ac > ad))
     {
     alert ("AC的长度必须大于其他边长");
     return false;
     }
     break;
    default:
    break;
    }
return true;
}



onsubmit="return _submit(this);">













































A B长:
A C长:
A D长:
B C长:
B D长:
A 高 :
B 高 :
C 高 :
D 高 :
电机数:





回答(3):

if(dianji2==4){
if(!varAB>varAD&&varAB>varBC&&varAB>varBD&&varAB>varA&&varAB>varB&&varAB>varC&&varAB>varD&&varAC>varAD&&varAC>varBC&&varAC>varBD&&varAC>varA&&varAC>varB&&varAC>varC&&varAC>varD){
alert("错误");
}
} else if(dianji2==3){
if(!varAC>varAD&&varAC>varBC&&varAC>varBD&&varAC>varA&&varAC>varB&&varAC>varC&&varAC>varD){
alert("错误");
}
} else if(dianji2>4||dianji2<2){
alert("大于2小于4")!
}

回答(4):

你的判断不对嘛? 你是判断不对还是执行不了啊?
fuction
改成

function

回答(5):

dxangle@126.com,把代码发到我邮箱,我测试一下。