从常规页面移动到 asp 页面到用户控件后,脚本停止工作

Posted

技术标签:

【中文标题】从常规页面移动到 asp 页面到用户控件后,脚本停止工作【英文标题】:Script stopped working after moving from a regular to asp page to a usercontrol 【发布时间】:2013-01-23 08:36:53 【问题描述】:

我将网站从一个位置移动到另一个位置。但是,当我移动它时,我注意到我的 java 脚本中的某些项目停止工作。我一直试图找出哪里出了问题,但这是我最后的手段。这是我的小提琴网站:

http://jsfiddle.net/robertpurpose/FCZVJ/6/

if ($("#Deg0").attr('checked') && $("#Res0").attr('checked')) 
    $("#TuitionPerHour").val(202.83);


if ($("#Deg0").attr('checked') && $("#Res1").attr('checked')) 
    $("#TuitionPerHour").val(202.83);

if ($("#Deg0").attr('checked') && $("#Res11").attr('checked')) 
    $("#TuitionPerHour").val(202.83);


if ($("#Deg0").attr('checked') && $("#Res2").attr('checked')) 
    $("#TuitionPerHour").val(parseFloat(243.39).toFixed(2));


if ($("#Deg0").attr('checked') && $("#Res3").attr('checked')) 
    $("#TuitionPerHour").val(parseFloat(304.24).toFixed(2));

随意直率。我们都生活和学习。我把一切都当作学习经验

【问题讨论】:

您能描述一下实际与预期的行为是什么? 你的小提琴。你需要设置 javascript 在 head 中运行,你需要设置 jQuery 库。 这条线看起来很有趣parseFloat(243.39).toFixed(2)。您要向parseFloat 询问已经是浮动的东西。你可能这样做是因为你想在上面调用toFixed,而你不能只使用243.39.toFixed()。您应该使用Number(243.39).toFixed()(243.39).toFixed() 你也在服务器端做一些检查,不是吗? @Robert purpose 我的回答没有用吗?有什么理由不接受吗? 【参考方案1】:

问题是您使用的是$.attr('checked')。以前返回布尔值,但现在返回属性值(字符串)'checked'html - Why boolean attributes do not have boolean value?

所以你的支票

if ($("#Deg1").prop('checked')) 
    $("#TuitionPerHour").val(294.44);

总是经过。将所有$.attr 更改为$.prop 为http://jsfiddle.net/FCZVJ/7/

您的代码的其他问题

你的 jsfiddle JS 需要在头部,所以你的函数 updateTotal 是全局的 存储您的 jQuery 变量(您正在调用 $("#Deg0") 一百万次) eval(document.CostEst.FoodPlan[TheIndex_FoodPlan].value));Crapola,使用 eval 将字符串转换为数字?使用parseInt()parseFloat $("#SemesterHours").val() <= 7 确实因为自动强制而起作用,但请注意,如果它说 $("#SemesterHours").val() <= $('#somethinElse').val() 您将比较字符串和 "17" > "9" === falseparseFloat(243.39).toFixed(2) 是眼睛疼(代码气味)。您要向parseFloat 询问已经是浮动的东西。您这样做可能是因为您想对其调用 toFixed 并且不能只使用243.39.toFixed()。您应该使用Number(243.39).toFixed()(243.39).toFixed()

【讨论】:

以上是关于从常规页面移动到 asp 页面到用户控件后,脚本停止工作的主要内容,如果未能解决你的问题,请参考以下文章

移动web性能测试笔记之一

输入错误的用户名和/或密码后,如何将用户从登录控件重定向到错误页面?

ASP怎样实现页面跳转。

asp.net怎么获取页面动态加载进来的用户自定义控件里面的值。。

如何从 ASP.NET 网站(不是 Web 应用程序)中的用户控件获取父页面

从另一个控件中的控件刷新 asp.net 页面