1

ボタンをクリックしても無効になりません。コードは次のとおりです。

<script type="text/javascript">
    function SetNewsCommentReportFlag(newsCommentId) {
        $("#news-comment" + newsCommentId).text("This comment has been removed");
        $("#post-button" + newsCommentId).attr("onclick", "this.disabled=true;");
        var jqxhr = $.getJSON("<%= 
                Url.Action(
                    "SetNewsCommentReportFlag", 
                    "Home", 
                    new { area = "News" }
                ) 
            %>?newsCommentId=" + newsCommentId, function (data) { });
    }
</script>


<div class="news-comment" id="news-comment<%: Model.NewsCommentId %>">
    <% if (Model.Reported)
    {
        Model.NewsComment = "This comment has been removed";    
    } else  %>
    <%: Model.NewsComment %>
</div>
<div class="clear"></div>
<div class="actions-right">    
    <a href="javascript:SetNewsCommentReportFlag(<%: Model.NewsCommentId %>);" 
        class="button" id="post_button<%: Model.NewsCommentId %>"
    ><%: Html.Resource(Resources.Global.Button.Report) %></a>                
</div>

このような?:

<script type="text/javascript">
    function SetNewsCommentReportFlag(newsCommentId) {
        $("#news-comment" + newsCommentId).text("This comment has been removed");
        $("#post-button" + newsCommentId).attr("onclick", "this.disabled=true;");
            var jqxhr = $.getJSON(
                "/News/Home/SetNewsCommentReportFlag?newsCommentId=" 
                + newsCommentId, function (data) { }
            );
    }
</script>

<div class="news-post-list-item">
    <div class="news-post-user-info-wrapper">
        <div class="avatar">
            <img src="/ThemeFiles/Base/images/User/user-avatar.png" 
                width="52" height="52" alt="Avatar" />   
        </div>
        <div class="who-and-when-box">
            25/02/2013 13:20:56
            <br />
            <br />
            Cecilia Torres Castro 
        </div>
        <div class="news-comment" id="news-comment3">
            sdfsdf
        </div>
        <div class="clear"></div>
        <div class="actions-right">    
            <a href="javascript:SetNewsCommentReportFlag(3);" 
                class="button" id="post_button3">Report</a>                
        </div>
    </div>     
    <div class="clear"></div> 
</div>   

私は何を間違っていますか?ありがとう

4

2 に答える 2

2

実際のボタンを使用しておらず、アンカー タグを使用しています。

<a href="javascript:SetNewsCommentReportFlag(3);" class="button" id="post_button3">Report</a>

disabled=trueこれらは、実際のボタンでのみ機能するを使用して無効にすることはできません。

実際のボタンの代わりにアンカー タグを使用しているため、少し異なる方法で行う必要があります。

見る:

jQueryでリンクを無効にする

また

JavaScript で href リンクを無効にするにはどうすればよいですか?

また、無効になっている「ボタン」に新しい css クラスを与えて、視覚的にも無効に見えるようにする必要があります。

于 2013-02-26T16:20:57.843 に答える
1

無効にするイベントを追加していますonclickが、その行の後、すでに無効になっています。

要素を既に無効にしているため、イベントは発生しません。そうしたとしても、要素が無効になるという同じ結果になります。この行を取り除く必要があると思います:

$("#post-button").attr("disabled", "disabled");

また、次の行に構文の問題があります。

post_button.Attributes.Add("onclick", "this.disabled=true;");

次のように変更します。

$("#post_button").attr("onclick", "this.disabled=true;");
于 2013-02-26T10:44:07.557 に答える