第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

無(wú)法復(fù)制和粘貼到 asp 文本框 asp.net C#

無(wú)法復(fù)制和粘貼到 asp 文本框 asp.net C#

紅糖糍粑 2023-04-20 10:00:41
我的系統(tǒng)中有一個(gè)手機(jī)號(hào)碼,我有一個(gè) asp 文本框,這里的問(wèn)題是無(wú)法將手機(jī)號(hào)碼復(fù)制并粘貼到此 asp 文本框。我有一個(gè)只接受數(shù)字的 Onkeydown 函數(shù)。我需要將否復(fù)制并粘貼到此文本框。代碼<asp:TextBox ID="txtMobileNo" runat="server" autocomplete="off"     AutoCompleteType="Disabled" MaxLength="10"     onkeydown="return (event.keyCode >= 48 && event.keyCode <= 57) ||         (event.keyCode >= 96 && event.keyCode <= 105) || event.which == 8 ||         event.which == 46;"    Style="height: 25px;" />
查看完整描述

3 回答

?
幕布斯7119047

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊

我認(rèn)為問(wèn)題在于 JS 只是返回 true 或 false。我只是嘗試粘貼使用Ctrl+V但沒(méi)有任何反應(yīng),大概是因?yàn)?JS 正在讀取我的鍵擊以進(jìn)行粘貼,但它們不是數(shù)字。

但是,如果我右鍵單擊鼠標(biāo)并選擇粘貼,它就會(huì)起作用。

您可能必須擺脫 JS,或添加更多 keyCodes 以接受Ctrl+V.


查看完整回答
反對(duì) 回復(fù) 2023-04-20
?
慕娘9325324

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊

要允許用戶使用 Ctrl+V 或 Cmd+V 粘貼,檢查keyCode您的onkeydown事件中的那些,然后檢查粘貼的文本是否是事件中的數(shù)字onpaste,這是一個(gè)完整的示例:


<asp:TextBox ID="txtMobileNo" runat="server" 

autocomplete="off" AutoCompleteType="Disabled" MaxLength="10"

onkeydown="return validateInput(event);"

onpaste="validateClipboard(event)"

Style="height: 25px;" />


<script type="text/javascript">


    function validateInput(event) {


        // Check if Ctrl+V or Cmd+V was pressed

        if ((event.ctrlKey || event.metaKey) && event.keyCode == 86) {

            return true;

        // Check if numbers input

        } else if ((event.keyCode >= 48 && event.keyCode <= 57) ||

            (event.keyCode >= 96 && event.keyCode <= 105) ||

            event.which == 8 || event.which == 46) {

            return true;

        }

        // All checks failed

        return false;

    }


    function validateClipboard(event) {


        // Prevent clipboard data pasting

        event.stopPropagation();

        event.preventDefault();

        // Get clipboard text data

        var clipboardData = event.clipboardData || window.clipboardData;

        var pastedData = clipboardData.getData('Text');


        // Check if pasted data is a number, if true paste to text box

        if (isNaN(pastedData) === false) {

            var txtBox = document.getElementById('MainContent_txtMobileNo');

            txtBox.value += pastedData;

        }

    }

</script>


查看完整回答
反對(duì) 回復(fù) 2023-04-20
?
慕田峪9158850

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊

我不確定您要匹配哪種數(shù)字格式,我假設(shè)您有這種格式的數(shù)字9999999999(十位數(shù)字)。


這是我能想到的最佳解決方案:


<asp:TextBox ID="txtMobileNo" runat="server" autocomplete="off"

        AutoCompleteType="Disabled" MaxLength="10"

        onblur="return validateNumber(this)"

        Style="height: 25px;" />

keydown請(qǐng)注意,我使用了事件而不是onblur事件,這是因?yàn)樵谒麄兺瓿晌谋究蜉斎牒蠛碗x開(kāi)文本框時(shí)檢查數(shù)字是一種很好的做法。


<script>

    function validateNumber(evt) { // this will get executed when user has stopped typing or pasting the value. 

        var isValid = isValidMobileNumber(evt.value);

        if (!isValid)

        {

            evt.value = ''; // Clear if the number is not valid.

        }


        return isValid;

    }

    function isValidMobileNumber(number) {

        var phoneRegex = /^\d{10}$/; /* to verify 10 digits in number */

        /* var phoneRegex = /^[2-9]\d{2}[2-9]\d{2}\d{4}$/; // to verify 10 digits number with (-) in it. 999-999-9999 */

        var digits = number.replace(/\D/g, "");

        return phoneRegex.test(digits);

    }

    // The code below can be removed, read the explanation below the code.

    document.getElementById('<%= txtMobileNo.ClientID %>').addEventListener('paste', (e) => {

        e.preventDefault();

        const text = (e.originalEvent || e).clipboardData.getData('text/plain');

        if (isValidMobileNumber(text))

            window.document.execCommand('insertText', false, text);

    });


</script>

請(qǐng)注意,我已經(jīng)paste為您的文本框綁定了一個(gè)事件,每次有人在文本框中粘貼內(nèi)容后都會(huì)立即觸發(fā)該事件。但是,從技術(shù)上講,您可以從此處刪除此事件,程序?qū)⒄_\(yùn)行,這是因?yàn)閛nblur在您粘貼數(shù)據(jù)后無(wú)論如何都會(huì)觸發(fā)事件,最終將驗(yàn)證粘貼的數(shù)據(jù)。因此,由您決定,您是希望在粘貼時(shí)立即驗(yàn)證數(shù)據(jù),還是希望在用戶離開(kāi)控件時(shí)(粘貼或鍵入任何內(nèi)容后)驗(yàn)證數(shù)據(jù)。


查看完整回答
反對(duì) 回復(fù) 2023-04-20
  • 3 回答
  • 0 關(guān)注
  • 203 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)