1

asp.net Web サイトで jquery を使用しています。私のローカルシステムでは問題なく動作していました。しかし、サーバーに公開すると機能しません。私のjqueryコードは次のとおりです。

    $("#<%=btnSubmit.ClientID %>").click(function (ev) {
    ev.preventDefault();
    $(this).attr("disabled", true);
    if ($("#<%=ddlLetterType.ClientID %>").val() == "-1") {
        alert("Please select a letter.");
        $("#<%=ddlLetterType.ClientID %>").focus();
        $("#<%=btnSubmit.ClientID %>").attr("disabled", false);
        return false;
    } else if ($("#<%=ddlLetterType.ClientID %>").val() == "1") {
        if ($("#<%=ddlEmbassyCountry.ClientID %>").val() == "-1") {
            alert("Please select an Embassy Country.");
            $("#<%=ddlEmbassyCountry.ClientID %>").focus();
            $("#<%=btnSubmit.ClientID %>").attr("disabled", false);
            return false;
        } else if ($("#<%=ddlTravelCountry.ClientID %>").val() == "-1") {
            alert("Please select a Travel Country.");
            $("#<%=ddlTravelCountry.ClientID %>").focus();
            $("#<%=btnSubmit.ClientID %>").attr("disabled", false);
            return false;
        } else if ($("#<%=txtEmbassyAddress.ClientID %>").val() == "") {
            alert("Please enter embassy address.");
            $("#<%=txtEmbassyAddress.ClientID %>").focus();
            $("#<%=btnSubmit.ClientID %>").attr("disabled", false);
            return false;
        } else if ($("#<%=txtPassportNo.ClientID %>").val() == "") {
            alert("Please enter passport no.");
            $("#<%=txtPassportNo.ClientID %>").focus();
            $("#<%=btnSubmit.ClientID %>").attr("disabled", false);
            return false;
        } else if ($("#<%=txtPlaceOfMeeting.ClientID %>").val() == "") {
            alert("Please enter place of meeting.");
            $("#<%=txtPlaceOfMeeting.ClientID %>").focus();
            $("#<%=btnSubmit.ClientID %>").attr("disabled", false);
            return false;
        } else if ($("#<%=txtStartDate.ClientID %>").val() == "") {
            alert("Please enter start date.");
            $("#<%=txtStartDate.ClientID %>").focus();
            $("#<%=btnSubmit.ClientID %>").attr("disabled", false);
            return false;
        } else if ($("#<%=txtEndDate.ClientID %>").val() == "") {
            alert("Please enter end date.");
            $("#<%=txtEndDate.ClientID %>").focus();
            $("#<%=btnSubmit.ClientID %>").attr("disabled", false);
            return false;
        } else {
            var parameter = {
                request_no: $("#<%=lblRequestNo.ClientID %>").text(),
                initiator_user_id: $("#<%=hInitiatorUserId.ClientID %>").val(),
                initiatingDate: $("#<%=lblRequestdate.ClientID %>").text(),
                embassy_country_id: $("#<%=ddlEmbassyCountry.ClientID %>").val(),
                embassy_address: $("#<%=txtEmbassyAddress.ClientID %>").val(),
                nationality: $("#<%=lblNationality.ClientID %>").text(),
                passport_no: $("#<%=txtPassportNo.ClientID %>").val(),
                company: $("#<%=lblCompanyName.ClientID %>").text(),
                designation: $("#<%=lblDesignation.ClientID %>").text(),
                joining_date: $("#<%=lblJoiningDate.ClientID %>").text(),
                travel_country_id: $("#<%=ddlTravelCountry.ClientID %>").val(),
                place_of_meeting: $("#<%=txtPlaceOfMeeting.ClientID %>").val(),
                travel_start_date: $("#<%=txtStartDate.ClientID %>").val(),
                travel_end_date: $("#<%=txtEndDate.ClientID %>").val(),
                letter_filename: $("#<%=lblRequestNo.ClientID %>").text() + "_business_letter",
                status: '2',
                hr_letter_type_id: $("#<%=ddlLetterType.ClientID %>").val()
            };
            $.ajax({
                type: "POST",
                url: "<%=ResolveUrl("~/HRLetterService.asmx") %>/RegisterHRLetterBusinessData",
                data: JSON.stringify(parameter),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (msg) {
                    __doPostBack('<%=btnSubmit.ClientID.Replace("_", "$") %>', '');
                },
                error: function (msg) {
                    alert("Error in saving the request. Please contact your administrator by sending the screen shot to unify.admin@unilever.com");
                    $(this).attr("disabled", false);
                    return false;
                }
            });
        }
        }
.
.
.
.

コードは問題なく、エラー自体がないため、すべてのコードを投稿していません。しかし、唯一の問題は if ステートメントにあります。if および else if ステートメントは実行されますが、else 部分は実行されません。何が問題になる可能性がありますか? 手伝っていただけませんか?前もって感謝します。

4

1 に答える 1

1

readyコードがイベント コールバックでラップされていません。コードがそのまま head に配置されている場合、html が存在する前に起動し、探している要素がまだ存在しないため、それらにバインドすることはありません。

   $(function(){ // shorthand for $(document).ready(){

       /* html exists, run your code here*/

   })

これで問題が解決しない場合は、ブラウザー コンソールを使用して、スローされたエラーを確認します。

于 2012-06-23T05:09:56.953 に答える