鍍金池/ 問(wèn)答/HTML/ 模擬軟鍵盤(pán),拼接'.'字符串時(shí)報(bào)錯(cuò)

模擬軟鍵盤(pán),拼接'.'字符串時(shí)報(bào)錯(cuò)

需求是模擬一個(gè)軟鍵盤(pán),每輸入一個(gè)字符,先push到數(shù)組arr中,然后拼接到對(duì)象b中:

var arr=[];
var b = '';
arr.push(e);
b = arr.join('');


//輸入數(shù)字的時(shí)候沒(méi)有問(wèn)題,
//如依次點(diǎn)擊1,2,3,
//輸出123

//當(dāng)依次點(diǎn)擊1,‘.’,3的時(shí)候
//在點(diǎn)擊'.'時(shí)
//抱警告:The specified value "3998700\".\"" is not a valid number. The value must match to the following regular expression: -?(\d+|\d+\.\d+|\.\d+)([eE][-+]?\d+)?
//arr.join('');方法失效,數(shù)組還被清空(數(shù)組其實(shí)沒(méi)有被清空,而是join方法失效,導(dǎo)致拼串失敗)

請(qǐng)問(wèn)該如何把'.'拼接進(jìn)字符串b中?

clipboard.png
上面是push后的數(shù)組,下圖是join后的字符串

clipboard.png
在那個(gè)警告那里,字符串沒(méi)有被渲染上去(我是用的vue綁定的字符串)

回答
編輯回答
綰青絲

你先console下你那個(gè)e行不?為什么在我這邊沒(méi)這個(gè)問(wèn)題????
圖片描述

2018年1月27日 06:36
編輯回答
萌二代

找到原因了,我不應(yīng)該給vue綁定val的那個(gè)input的type設(shè)置為number...,也就是input的type設(shè)置為number后它會(huì)默認(rèn)檢測(cè)輸入的值,就像input設(shè)置mail后也會(huì)檢測(cè)是否為合法郵箱格式一樣的——————這是自己坑了自己

2017年8月10日 18:48