我目前正在尝试确保在文本框中输入的数字可被 1.25 或 1.5 整除。我决定天气将数字修改为 1.25 或 1.5 的方式取决于另一个下拉列表中的内容。例如:如果一个 DDL 的选定索引是 1,I mod by 1.5,如果是 2,I mod by 1.25。
但是,我需要向用户显示引发错误的原因。自定义验证器的错误消息需要类似于“数字必须被 1.25 消除”,反之亦然。
据我所知,代码应该可以工作。但事实并非如此。我在另一个论坛上读到,获取源代码并将 innerText 作为您的错误消息应该可以解决问题。但我一定在某个地方做错了什么。当我单步执行我的 javascript 函数时,它会完美执行。只是没有错误信息。这是我的代码:
<asp:CustomValidator ID="ValidateFinHeight" runat="server" CssClass="NormLabel"
Display="Dynamic"
ControlToValidate="txtFinHeight"
ClientValidationFunction="validateFinHeight"></asp:CustomValidator>
<script type="text/javascript" language="javascript" >
function validateFinHeight(source, arguments)
{
var ddl = document.getElementById('cboTubeDia');
var ddlSelIndex = ddl.selectedIndex
switch(ddlSelIndex)
{
case 0:
arguments.isValid = true;
return;
case 1:
if(arguments.value%1.25 != 0)
{
source.innerText = "Height must be divisibly by 1.25";
arguments.isValid = false;
return;
}
else
{
arguments.isValid = true;
return;
}
case 2:
if(arguments.value%1.5 != 0)
{
source.innerText = "Height must be divisibly by 1.5";
arguments.isValid = false;
return;
}
else
{
arguments.isValid = true;
return;
}
}
}
</script>