这是用DotNetNuke与XMod Pro模块和一个提交表格。 我有一个带有两个文本字段的下拉菜单。 下拉菜单中的两个选项("Additions "和 "Classes")需要只输入数字选项的属性类;第三个下拉菜单允许输入字母数字属性类。 脚本是在点击提交按钮时调用的。
在尝试让它工作的过程中,我配置了ALERTS来显示返回的值;见下文。
Class Type: Additions / Property Class: BLD1 / Result: false
Class Type: Additions / Property Class: 2874 / Result: true
Class Type: Classes / Property Class: GAR / Result: false
Class Type: Classes / Property Class: 3484 / Result: true
问题是,我的 "if else if "逻辑根本无法工作;我把它拆开,希望找出是什么原因导致的问题,但它每次都默认为 "ELSE "语句。 我把它配置为 "return false",因为我不希望每次都提交信息,如果逻辑不能正常工作。
任何帮助将非常感激。 谢谢你的帮助。
<script type="text/javascript">
function ValidateClass()
{
var ClassType = document.getElementById(PropertyClassAdd.DDL_ClassType);
var ClassTypeValue = ClassType.value
var PropertyClass = document.getElementById(PropertyClassAdd.txt_PropertyClass);
var PropertyClassValue = PropertyClass.value
var resultlogic = (/^[0-9]+$/.test(PropertyClassValue));
if (ClassTypeValue == 'Additions' && resultlogic== 'false')
{
//alert("Please Enter a numeric value");
alert("Additions - Class Type: "+ ClassTypeValue + " / Property Class: " + PropertyClassValue + " / Result: " + resultlogic);
return false;
}
else if (ClassTypeValue == 'Classes' && resultlogic == 'false')
{
//alert("Please Enter a numeric value");
alert("Classes - Class Type: "+ ClassTypeValue + " / Property Class: " + PropertyClassValue + " / Result: " + resultlogic);
return false;
}
else if (ClassTypeValue == 'Additions' && resultlogic == 'true')
{
//alert("This Works");
alert("Additions - Class Type: "+ ClassTypeValue + " / Property Class: " + PropertyClassValue + " / Result: " + resultlogic);
return true;
}
else if (ClassTypeValue == 'Classes' && resultlogic == 'true')
{
//alert("This Works");
alert("Classes - Class Type: "+ ClassTypeValue + " / Property Class: " + PropertyClassValue + " / Result: " + resultlogic);
return true;
}
else
{
alert("ELSE - Class Type: "+ ClassTypeValue + " / Property Class: " + PropertyClassValue + " / Result: " + resultlogic);
return false;
}
}
</script>
谢谢你看了我的代码。 我想明白了,结果logic是一个布尔位答案。
所以把代码改成寻找 "0 "或 "1",而不是 "false "或 "true",就解决了这个问题。
<script type="text/javascript">
function ValidateClass()
{
....
if (ClassTypeValue == 'Additions' && resultlogic == 0)
....
else if (ClassTypeValue == 'Classes' && resultlogic == 0)
....
else if (ClassTypeValue == 'Additions' && resultlogic == 1)
....
else if (ClassTypeValue == 'Classes' && resultlogic == 1)
....
else
....
}
</script>