2

Chrome、Opera、および Safari の新しいバージョンでは、INPUT 要素内のテキストに制御文字を使用できないことがわかり、困惑しています。実際、 \1\x02など\bの文字は単純に文字列ターミネータとして解釈されます。

var input = document.createElement('INPUT');
input.value = 'Hello\x02 World!';
alert('input.value is "' + input.value + '" (' + input.value.length + ' chars)');

上記のコードは、Chrome、Opera、および Safari で 5 文字しか出力しません。

Firefox と IE では、この動作/バグ/セキュリティ機能などは表示されません。さて、私の質問は、これらの特殊文字を含むフォームを、すべてのブラウザーで機能するように、プレーンな Javascript でどのように投稿しますか?

JsFiddle: http://jsfiddle.net/Nkx4n/

4

1 に答える 1

0

私はクロムにいて、あなたのように、\ を含む文字列を入力に割り当てようとすると停止しますが、このフィドルでわかるように、ユーザーが入力に直接入力しても問題はありません

    myP.innerHTML = "Length is: " + myInput.value.length + " chars" + "; text is: " + myInput.value;

コードで値を設定する必要があるかどうかはわかりませんが、設定しなくても問題はありません。ユーザーは値を入力して読み取ることができるからです。

于 2013-11-21T21:59:08.477 に答える