1

Web ページに asp.net ボタンがあります。

OnClientClick コードは、ユーザーが複数回送信できないようにボタンを無効にします。また、ボタンのテキストを「お待ちください...」に変更します。

これまでのところすべて順調です!

問題は、無効になっているため、「お待ちください...」テキストがゴミに見えることです...ボタンが無効になっているにもかかわらず、javascript内で有効に見えるようにボタンのスタイルを設定するにはどうすればよいですか。

    <script type="text/javascript">
    function btnSubmit_ClientClick(Client) {
        var ok = Page_ClientValidate();
        if (ok) {


            Client.style.color = 'White';
            Client.style.backgroundColor = '#9A4D9E';

            Client.value = 'Please wait...';
            Client.disabled = true;
        }
    }
</script>

編集開始:

有効化されたボタンは次のとおりです。

有効

無効化されたボタンは次のとおりです。 無効

...ご覧のとおり、テキストはグレーと白のようなものですか?

さらに明確にするために、@ user503034 は CSS で [disabled] を使用することを提案しました。ここに私のコードがありますが、私はまだ同じ問題を抱えています:

    button[disabled]:active, button[disabled], input[type="reset"][disabled]:active, input[type="reset"][disabled], input[type="button"][disabled]:active, input[type="button"][disabled], select[disabled] > input[type="button"], select[disabled] > input[type="button"]:active, input[type="submit"][disabled]:active, input[type="submit"][disabled]
{
    color: Green;
    background-color: #9A4D9E;
    cursor: default;

}
4

2 に答える 2

1

これを試すことができます

<script type="text/javascript"> 
function btnSubmit_ClientClick(Client) { 
    var ok = Page_ClientValidate(); 
    if (ok) { 


        Client.style.color = 'White'; 
        Client.style.backgroundColor = '#9A4D9E'; 

        Client.value = 'Please wait...'; 
        if (Client.ClassName.indexOf("disabled")>0)
            return false;
        else
            Client.ClassName += " disabled";
    } 
} 

これでボタンが完全に無効になるわけではありませんが、クリックできなくなります。これで、好きなようにスタイルを設定できます。これがフォームの送信ボタンである場合、フォームで onSubmit を実行して false を返すこともできます。まさにあなたが探しているものではないかもしれませんが、それは仕事をします.

ボタンを無効にしてからスタイルを設定する場合は、user503034 からの提案を使用して、CSS で [disabled] を実行するだけでなく、input[disabled="disabled"], input.disabled を実行してください。すべての主要なブラウザで。

于 2010-11-12T05:01:37.747 に答える
0

多分それはあなたが探しているものです。

于 2010-11-11T15:50:58.033 に答える