私の要件は、テキストボックスがスクリプトタグ(つまり、<および>)を受け入れないようにすることです。初めてページを開いたとき、テキストボックスでスクリプトタグ(<および>)が許可されていません。
しばらくすると、英数字のみが許可されます。ページを更新すると、正常に機能します。誰かがこれを助けることができますか?どうすればこれに対する解決策を得ることができますか?またはこれを行う簡単な方法はありますか。
私のコード:
<input name="headerTextBoxs" id="headerTextBox" size="55" type="text" onKeypress="return keyRestricted(event)", onKeydown="return keyRestricted(event)" value="" />
<script type="text/javascript">
function keyRestricted(evt) {
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
var keychar = String.fromCharCode(key);
//alert(keychar);
var keycheck = /[a-zA-Z0-9]/;
if ( (key == 60 || key == 62)) // not allowing script tags
{
if (!keycheck.test(keychar)) {
theEvent.returnValue =false ; //for IE
if (theEvent.preventDefault) theEvent.preventDefault(); //Firefox
}
}
}
</script>
別の方法:
私の要件は同じで、スクリプトタグ(つまり<と>)を許可していません。ここでの問題は、mozillafirefoxで正常に動作することです。しかし、グーグルクロモとIEブラウザでは、私のテキストボックスは逆方向のテキストを許可していません(つまり、左矢印(<-))。単に私はこのように書いた。
私のコード:
<input name="headerTextBoxs" id="headerTextBox" size="55" type="text" onkeyup = "this.value=this.value.replace(/[<>]/g,'');" />