从常规页面移动到 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" === false
。
parseFloat(243.39).toFixed(2)
是眼睛疼(代码气味)。您要向parseFloat
询问已经是浮动的东西。您这样做可能是因为您想对其调用 toFixed 并且不能只使用243.39.toFixed()
。您应该使用Number(243.39).toFixed()
或(243.39).toFixed()
【讨论】:
以上是关于从常规页面移动到 asp 页面到用户控件后,脚本停止工作的主要内容,如果未能解决你的问题,请参考以下文章
输入错误的用户名和/或密码后,如何将用户从登录控件重定向到错误页面?
asp.net怎么获取页面动态加载进来的用户自定义控件里面的值。。