我正在尝试使用JS创建输入。
我希望输入在单击后显示数字键盘。您可以通过输入pattern="\d*"
来实现它,所以我尝试了:
div.innerHTML = '<input pattern="\d*" class="input-mark" type="number" placeholder="randomPlaceholder" step="1" min="1" max="5">';
正如您猜测的那样,不起作用。我尝试了一切。提供更多的斜杠和反斜杠,没有任何效果。
我认为这很容易 - 但我无法理解。
感谢任何帮助。
答案 0 :(得分:3)
您需要转义switch icon.Title
Case "Fan"
中的\
才能获得结果中的\d
。请参阅下面的更正代码。
\
&#13;
document.getElementById("demo").innerHTML = '<input pattern="\\d*" class="input-mark" type="number" placeholder="randomPlaceholder" step="1" min="1" max="5">';
console.log('<input pattern="\\d*" class="input-mark" type="number" placeholder="randomPlaceholder" step="1" min="1" max="5">');
&#13;
这样可行。
答案 1 :(得分:1)
模式是定义输入模式。您必须将inputmode
与此结合使用。
<input type="number" pattern="[0-9]*" inputmode="numeric">
答案 2 :(得分:0)
试试这个。
var x = document.createElement( 'input' ),
div = document.getElementsByTagName( 'div' )[0]; // Just assuming
x.className = 'input-mark';
x.setAttribute( 'type', 'number' );
x.setAttribute( 'placeholder', 'randomPlaceholder' );
x.setAttribute( 'step', 1 );
x.setAttribute( 'min', 1 );
x.setAttribute( 'max', 5 );
x.setAttribute( 'pattern', '\\d*' );
div.appendChild( x );