0

href を使用しているmailtoあり、. リンク ボタンが正常に機能し、コード ビハインドをオフにします。mailto で href をクリックすると (正しい情報で Outlook が起動されます)、その後リンク ボタンをクリックしようとすると、起動しません。レンダリングするとこんな感じ。

<input type="submit" name="ctl00$ContentPlaceHolder1$btnSave" value="Save Attendance" onclick="return checkDisableButton(this.id, 'PROCESSING');" id="ContentPlaceHolder1_btnSave" class="ButtonPrimary button" disabled="">

checkDisabledButton コード

function checkDisableButton(btn, parmText, icon) {
var mbtn = $('#' + btn);
mbtn.addClass("buttonPad buttonProcessing button");
mbtn.val(parmText);};

var mbtn 行にブレークポイントを設定しましたが、mailto リンクをクリックしてもヒットしません。ページを読み込んでmailtoリンクをクリックしないと起動します。

ちょうどあなたがそれを持っているように.. href は次のようになります

<a id="ContentPlaceHolder1_hlMailto" href="mailto:a@a.com;%20b@b.com;%20?Subject=2846">Load email</a>

(そのhrefの一部の情報を編集したため、コピーでめちゃくちゃになっている可能性があります)

mailtoをクリックする前後のコードを調べたところ、変わっていないようです。

とにかく..誰かがアイデアを持っているかどうか疑問に思っていました...ありがとうシャノン

4

1 に答える 1

0

それが完璧な方法だと言っているわけではありません..しかし、何かを考え出しました。ボタンがクリックされた後にボタンを無効にして、複数回実行されないようにする、含めるとは思わなかったコードがいくつかありました。これは、mailto で問題が発生していたコードです。そのコードは次のようになりました

function DisableButtons() {
var inputs = document.getElementsByTagName("INPUT");
for (var i in inputs) {
    if (inputs[i].type == "button" || inputs[i].type == "submit") {
        inputs[i].disabled = true;
    }
}

} window.onbeforeunload = DisableButtons;

そのコードをコメントアウトし、このコードを checkDisableButton 関数に追加しました

 $(mbtn).one('click', function (event) {
            event.preventDefault();
            //do something 
            $(this).prop('disabled', true);

        })

これにより、ボタンを 1 回だけクリックできるようになります。それは働いているようです。ありがとうシャノン

于 2015-10-15T15:34:43.903 に答える