js,JavaScript,a标签onclick传递参数不对,A标签调⽤js函数写
法总结
错误⽰例:
1. <a href="javascript:waterLineEdit(${ds_id})" >修改 </a>
2. <!-- 浏览器中会实际是下⾯的那样 -->
3. <a href="javascript:waterLineEdit(20151333)" >修改 </a>
本来数字是20151333,点击修改应该获取20151333这个才对。但是传到后台却不是这个数字。很郁闷。然后百度了⼀下
A标签调⽤js函数写法总结:
1、第⼀种写法
1. href="javascript:js_method();"
这是常⽤的⽅法,但是这种⽅法在传递this等参数的时候很容易出问题,⽽且javascript:协议作为a的href属性的时候不仅
会导致不必要的触发beforeunload事件,在IE⾥⾯更会使gif动画图⽚停⽌播放。W3C标准不推荐在href⾥⾯执⾏
javascript语句
html href属性2、第⼆种写法
1. href="javascript:void(0);" onclick="js_method()"
这种⽅法是很多⽹站最常⽤的⽅法,也是最周全的⽅法,onclick⽅法负责执⾏js函数,⽽void是⼀个操作符,void(0)返回undefined,地址不发⽣跳转。⽽且这种⽅法不会像第⼀种⽅法⼀样直接将js⽅法暴露在浏览器的状态栏。
3、第三种写法
1. href="javascript:;" onclick="js_method()"
这种⽅法跟跟2种类似,区别只是执⾏了⼀条空的js代码。
4、第四种写法
1. href="#" onclick="js_method()"
这种⽅法也是⽹上很常见的代码,#是标签内置的⼀个⽅法,代表top的作⽤。所以⽤这种⽅法点击后⽹页后返回到页⾯的最顶端。5、第五种写法
1. href="#" onclick="js_method();return false;"
这种⽅法点击执⾏了js函数后return false,页⾯不发⽣跳转,执⾏后还是在页⾯的当前位置。
综合上述,在a中调⽤js函数最适当的⽅法推荐使⽤:
1. href="javascript:void(0);" onclick="js_method()"
2. href="javascript:;" onclick="js_method()"
3. href="#" onclick="js_method();return false;"
JS中字符对象需要⽤引号:
于是照着修改,结果发现还是不对。最后才发现原来是没有添加引号导致的
1. <a href="javascript:void(0)" onclick="waterLineEdit('${ds_id}')">修改 </a>
2. <!-- 上⾯写法才是正确的,如果按照下⾯写法最后js可能认为传⼊了⼀个对象。⽽不是String -->
3. <a href="javascript:void(0)" onclick="waterLineEdit(${ds_id})">修改 </a>
4.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论