2012-06-23 39 views
1

我在我的asp.net網站中使用jQuery。它在我的本地系統中工作正常。但是當我在服務器上發佈它時,它不起作用。我的jquery代碼如下,jquery不按預期在Windows Server 2003 R2中工作

$("#<%=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 [email protected]"); 
        $(this).attr("disabled", false); 
        return false; 
       } 
      }); 
     } 
     } 
. 
. 
. 
. 

我沒有發佈所有的代碼,因爲代碼是好的,並沒有像這樣的錯誤。但唯一的問題是if語句。 if和else if語句被執行,但else語句不會被執行。可能是什麼問題?你可以幫我嗎?提前致謝。

+0

是什麼產生的JS樣子錯誤? –

回答

1

您的代碼未包裹在ready事件回調中。如果你的代碼是按照原樣放置的,它將在html存在之前觸發,並且不會綁定到它正在查找的元素,因爲它們還沒有。

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

     /* html exists, run your code here*/ 

    }) 

如果這樣做不能解決問題,使用瀏覽器控制檯來檢查拋出

+0

感謝您的回覆。我試圖在準備好的事件回調中包裝我的代碼,但仍然無法正常工作。我甚至試圖檢查瀏覽器控制檯中的錯誤,但我也沒有得到任何錯誤....其他部分不僅被執行... –

+0

如果它只是你的代碼的一部分,在'else'中isn'然後在你的開發文件和服務器文件之間有所不同 – charlietfl