Input type="number" i dozwolone +, -, e

0

Cześć, macie jakiś sposób jak nie dać możliwości wpisania w input typu number znaków +,- i e?

0

Akurat w moim przypadku potrzebuje całkowicie zablokować możliwość wpisania, bo są to pola gry sudoku, a pattern wyświetli mi tylko komunikat żeby zmienić wartość pola

1

To w takim razie musisz wycinać od razu niepotrzebne znaki przy wpisywaniu:

$("#myId").on('change keydown paste input', function(){
      remove();// funkcja usuwająca niepotrzebne znaki, tu już pole do popisu
});
0

Właśnie coś w tym stylu próbuje, tylko nie wiem czemu jak wpisuje w input cyfrę to wykrywa event a jak wpisze te znaki to nie wykrywa. Jakby mi wykrywało ten event to zmieniłbym po prostu e.target.value i po sprawie, ale niestety :/ U mnie wygląda to tak :

import React from 'react';
import './tile.css';

class Tile extends React.Component {
    inputValidator = (e) => {
        console.log(e)
    }
    allOnChanges = (e) => {
        this.inputValidator(e)
        this.props.onChangeProp()
    }
    render() {
        return (
            <input onChange={(e) => this.allOnChanges(e)} value={this.props.value} className="tile" type="number"></input>
        )
    }
}
export default Tile;
0

Szybka poprawka. W ten sposób wykrywa mi event, ale przy wpisaniu tych znaków jak console loguje e.target.value, e.target.innerHTML, lub e.target.innerText To w konsoli pokazuje, że jest puste pole zamiast tych znaków

import React from 'react';
import './tile.css';

class Tile extends React.Component {
    inputValidator = (e) => {
        console.log(e.target.innerText)
    }
    allOnChanges = (e) => {
        //this.inputValidator(e)
        this.props.onChangeProp()
    }
    render() {
        return (
            <input onKeyPress={(e) => this.inputValidator(e)} onChange={(e) => this.allOnChanges(e)} value={this.props.value} className="tile" type="number"></input>
        )
    }
}
export default Tile;

screenshot-20191212220938.png

0

Jak coś to zmieniłem trop i już nieaktualne :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1