3

Enterキーをブロックしてスペースに置き換えることができるかどうかを確認したい. また、フォーム検証を使用して、文字、数字、およびドル記号、マイナス、ピリオドなどの特定の文字のみを許可しています。

これがそのコードです。それらを1つに結合して、検証を確認し、キーの押下をすべて1つのコード/呼び出しでスペースに置き換えることができるかどうかを確認したいと思います.

<script type="text/javascript">
function ValidateForm(form)
{
var str
str=document.getElementById('limitedtextarea').value
str=str.replace(/[^A-Za-z0-9.-:/$ ]/g, "");
document.getElementById('limitedtextarea').value=str
//return true;

} 
</script>

<FORM action="sms_SendMessage.asp" method=post onsubmit="javascript:return ValidateForm(this)" target=_blank>

助けてくれてありがとう...

4

2 に答える 2

3

JavaScript では、改行文字は で表され\nます。次のように、検証関数でそれらをスペースに置き換えることができます。

function ValidateForm(form)
{
    var str
    str=document.getElementById('limitedtextarea').value
    str=str.replace(/[^A-Za-z0-9.-:/$ ]/g, "");
    str=str.replace(/\n/g, " ");
    document.getElementById('limitedtextarea').value=str
    //return true;

}
于 2011-10-28T19:56:52.297 に答える
1

を削除しonsubmitて送信ボタンがない場合、Enter を入力しても送信されません。

<body>
    <form>
        <textarea></textarea>
    </form>
<script>
(function(){
    var txt = document.getElementsByTagName('TEXTAREA')[0];
    txt.onkeypress = function(ev){
        ev = ev || window.event;
        if ( ev.keyCode === 13 ){
            if (window.event) {
                window.event.returnValue = false;
            }
            if (ev && ev.preventDefault) {
                ev.preventDefault();
            }
            txt.value += ' ';
        }
    };
})();
</script>
</body>
于 2011-10-28T19:05:22.310 に答える