簡體   English   中英

從javascript上的輸入類型號中刪除逗號

[英]Remove comma from input type number on javascript

現在我正在做 PHP 項目與 JQuery 結合。 我制作了一個具有<input type="number">的表單頁面

根據這個輸入,我制定了限制小數點后 2 位的規則。 這是代碼

<input 
type = "number"
onkeypress = "return isNumeric(event)"
oninput = "maxLengthCheck(this)"
name ="cost"> 

JS

function maxLengthCheck(object) {
    if (object.value.length > object.maxLength)
      object.value = object.value.slice(0, object.maxLength)

    var prev = object.getAttribute("data-prev");
    prev = (prev != '') ? prev : '';
    if (Math.round(object.value*100)/100!=object.value)
    object.value=prev;
    object.setAttribute("data-prev",object.value)
}

function isNumeric (evt) {
    var theEvent = evt || window.event;
    var key = theEvent.keyCode || theEvent.which;
    key = String.fromCharCode (key);
    var regex = /[0-9]|\./;
    if ( !regex.test(key) ) {
        theEvent.returnValue = false;
        if(theEvent.preventDefault) theEvent.preventDefault();
    }
}

代碼可以正常工作。 但是當在 (.) 點后面插入超過 2 位小數時。 (.) 點會變成 (,) 逗號。

前任。 “19.459”。 輸入時將顯示“19,45”。 這是錯誤的

正確的是前。 輸入“19.878”我想顯示“19.87”

我在這個網站上做了一個樣本https://repl.it/@ferdinandgush/add-2-decimal-behind 只需單擊頂部的“運行”按鈕即可進行測試

我如何仍然能夠保持 (.) 點即使我在 (.) 點后面鍵入另一個數字?

您可能所在的國家/地區通常使用逗號作為小數點分隔符,而瀏覽器將其用於<input type=number>顯示。

某些瀏覽器(例如 Firefox)使用lang屬性來確定要使用的語言,當它在輸入或其任何父元素上設置時,因此您可以這樣做。

然而,其他瀏覽器(如 Chrome)不尊重該lang屬性。 如果你需要它在所有瀏覽器中工作,那么你唯一的選擇是,據我所知,不使用<input type=number>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM