在ie78浏览器下
console.log(parseInt(“08”));会出现0;
parseInt(string, radix);
String是要被解析的字符串
Radix参数为可选参数,表示要解析的数字的奇数,省略会默认为0;以10为基数进行解析,如果 它以0x || 0X 开头,则会以16为基数进行解析,如果 radix<2 || radix>36 则为NaN;
如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。
parseInt(“08”):在解析的时候会以8进制或者16进制解析,而在16进制或者8进制中08是非法的,IE789所以会显示0;
解决办法:Number(“08”) || parseInt(“08”,10);
Form:
当表单中只有一个input时,则在这个input获得事件焦点的时候按Enter键则会默认的提交表单,这样往往会与当前表单唯一的input 自定义事件冲突:
解决办法:
1:在表单中再加一个input,并设置这个input 的display:none;
2:如果是.net 则只需要在form的属性中加一个defaultbutton=”inputID”:
而此时浏览器进行解析的就是οnkeypress=”javascript:return WebForm_FireDefaultButton(event,”inputID”);
3:禁用submit,使用js提交
<from submit=”return:false;”action=”” method=””>
<input type=”button” value=”提交”id=”btn_tj”/>
</form>
//添加你的处理并提交事件