2017-07-21 5 views
0

テキストボックスで編集機能を使用すると、最初にonchange関数が機能していますが、次にonchange関数が機能しませんいくつかのテキストボックス私はデフォルト値の代わりにonchange null値を使ってテキストボックスを編集するときにデフォルト値を与えています。onchange関数が最初のテキストボックスで動作していますが、別のテキストボックスでは機能していません

全体フォームにあるすべてのテキストボックスに対して、最初のonchange関数が呼び出されます。

JavaScriptの

$(document).ready(function() { 
      $("input#btnEditExperience").click(function() { 

       var id = $(this).attr("name"); 
       var hospitalname = $("#<%=txtHospitalName.ClientID%>").val(); 
       var department = $("#<%=txtDepartment.ClientID%>").val(); 
       var designation = $("#<%=txtDesignation.ClientID%>").val(); 
       var Fromdate = $("#<%=txtFromDate.ClientID%>").val(); 
       var Todate = $("#<%=txtToDate.ClientID%>").val(); 
       var Workdescription = $("#<%=txtWorkDescription.ClientID%>").val(); 

       var Statusval = $("#<%=hdnExperienceID.ClientID%>").val(); 
       if (Statusval == '') { 
        $('.errorEditTitle').html('Status required!'); 
        Statusval.className += ' errors-text'; 
        return false; 
       } 
       //$("div.preloader").show(); 
       $.ajax({ 
        type: 'POST', 
        url: pageUrl + "/UpdateExperience", 
        data: '{ExperienceID: "' + id + '",HospitalName:"' + hospitalname + '",Department:"' + department + '",Designation:"' + designation + '",FromDate:"' + Fromdate + '",ToDate:"' + Todate + '",WorkDescription: "' + Workdescription + '" }', 
        contentType: "application/json; charset=utf-8", 
        dataType: 'json', 
        success: OndocumentSuccess, 
        failure: function (response) { 
         alert(response.d); 
        } 
       }); 
      }); 
     }); 
     function OndocumentSuccess(response) { 
      //$("div.preloader").fadeOut(); 
      //$("#backgroundPopup").fadeOut("normal"); 

      $("#<%=hdnExperienceID.ClientID%>").val('') 
      location.reload(); 
     } 
     $(document).ready(function() { 
      $("a.Editview").click(function() { 
       $("#<%=hdnExperienceID.ClientID%>").val(''); 

      }); 
     }); 
     function Editvalue(Edit) { 
      $("#<%=txtHospitalName.ClientID%>").val(Edit.value); 
      $("#<%=txtDepartment.ClientID%>").val(Edit.value); 
      $("#<%=txtDesignation.ClientID%>").val(Edit.value); 
      $("#<%=txtFromDate.ClientID%>").val(Edit.value); 
      $("#<%=txtToDate.ClientID%>").val(Edit.value); 
      $("#<%=txtWorkDescription.ClientID%>").val(Edit.value); 
      $("#<%=hdnExperienceID.ClientID%>").val(Edit.value); 
     } 

ASPページ:

<a id='<%#Eval("ExperienceID")%>' data-toggle="modal" data-target="#Experienceedit<%#Eval("ExperienceID")%>" href="" class="edit-me Editview"><i class="tg-edit fa fa-pencil"></i></a> 

モーダルポップアップ:

<div class="modal fade bs-example-modal-lg" id='Experienceedit<%#Eval("ExperienceID")%>' tabindex="-1" 
    role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="background-color:black;"> 
    <div class="modal-header" style="background-color:white;"> 
     <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> 
     ×</button> 
     <h4 id="myModalLabel"> 
     Edit Experience 
     </h4> 
    </div> 
    <div class="modal-body" style="background-color:white;"> 
     <div class="errorEditTitle"> 
     </div> 
     <table class="index-table"> 
     <tr> 
      <td> 
       <label> 
       Hospital Name<sub>*</sub></label> 
      </td> 
      <td> 
       <asp:TextBox ID="txtHospitalName" runat="server" class="span11 " MaxLength="100" onchange="javascript:Editvalue(this);" Text='<%#Eval("HospitalName")%>' 
        ></asp:TextBox> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <label> 
       Department<sub>*</sub></label> 
      </td> 
      <td> 
       <asp:TextBox ID="txtDepartment" runat="server" class="span5 " onchange="javascript:Editvalue(this);" Text='<%#Eval("Department")%>' 
        ></asp:TextBox> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <label> 
       Designation<sub>*</sub></label> 
      </td> 
      <td> 
       <asp:TextBox ID="txtDesignation" runat="server" class="span5" onchange="javascript:Editvalue(this);" Text='<%#Eval("Designation")%>' 
        ></asp:TextBox> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <label> 
       From Date<sub>*</sub></label> 
      </td> 
      <td> 
       <asp:TextBox ID="txtFromDate" ReadOnly="true" runat="server" Class="form-control " onchange="javascript:Editvalue(this);" Text='<%#Eval("FromDate")%>'></asp:TextBox> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <label> 
       To Date<sub>*</sub></label> 
      </td> 
      <td> 
       <asp:TextBox ID="txtToDate" runat="server" ReadOnly="true" Class="form-control " onchange="javascript:Editvalue(this);" Text='<%#Eval("ToDate")%>'></asp:TextBox> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <label> 
       Work Description<sub>*</sub></label> 
      </td> 
      <td> 
       <asp:TextBox ID="txtWorkDescription" TextMode="MultiLine" runat="server" Class="form-control " onchange="javascript:Editvalue(this);" Text='<%#Eval("WorkDescription")%>'></asp:TextBox> 
      </td> 
     </tr> 
     </table> 
    </div> 
    <div class="modal-footer" style="background-color:white;"> 
     <input type="button" class="btn btn-success" id="btnEditExperience" 
     value="Update" name="<%#Eval("ExperienceID")%>" /> 
     <button class="btn btn-danger" data-dismiss="modal" aria-hidden="true"> 
     Cancel</button> 
    </div> 
</div> 

See this image

+1

は覚えてカントが、それはこの 'のonchange =のように見えるが必要になることがあります「Editvalue(『本』);」' –

+0

は、あなたは何をする何を期待し?変更時に、同じ値を各テキストボックスに入れますか? – inser

+0

はいすべてのテキストボックスの値が正しい@inser –

答えて

1

jQueryを使用している場合は、イベントをドキュメントにバインドすることをお勧めします。

$(document).ready(function() { 
      $("input#btnEditExperience").click(function() { 

       var id = $(this).attr("name"); 
       var hospitalname = $("#<%=txtHospitalName.ClientID%>").val(); 
       var department = $("#<%=txtDepartment.ClientID%>").val(); 
       var designation = $("#<%=txtDesignation.ClientID%>").val(); 
       var Fromdate = $("#<%=txtFromDate.ClientID%>").val(); 
       var Todate = $("#<%=txtToDate.ClientID%>").val(); 
       var Workdescription = $("#<%=txtWorkDescription.ClientID%>").val(); 

       var Statusval = $("#<%=hdnExperienceID.ClientID%>").val(); 
       if (Statusval == '') { 
        $('.errorEditTitle').html('Status required!'); 
        Statusval.className += ' errors-text'; 
        return false; 
       } 
       //$("div.preloader").show(); 
       $.ajax({ 
        type: 'POST', 
        url: pageUrl + "/UpdateExperience", 
        data: '{ExperienceID: "' + id + '",HospitalName:"' + hospitalname + '",Department:"' + department + '",Designation:"' + designation + '",FromDate:"' + Fromdate + '",ToDate:"' + Todate + '",WorkDescription: "' + Workdescription + '" }', 
        contentType: "application/json; charset=utf-8", 
        dataType: 'json', 
        success: OndocumentSuccess, 
        failure: function (response) { 
         alert(response.d); 
        } 
       }); 
      }); 
     }); 
     function OndocumentSuccess(response) { 
      //$("div.preloader").fadeOut(); 
      //$("#backgroundPopup").fadeOut("normal"); 

      $("#<%=hdnExperienceID.ClientID%>").val('') 
      location.reload(); 
     } 
     $(document).ready(function() { 
      $("a.Editview").click(function() { 
       $("#<%=hdnExperienceID.ClientID%>").val(''); 

      }); 

      $('input[type="textbox"]').on('click', Editvalue); 
     }); 
     function Editvalue(Edit) { 
      $("#<%=txtHospitalName.ClientID%>").val(Edit.value); 
      $("#<%=txtDepartment.ClientID%>").val(Edit.value); 
      $("#<%=txtDesignation.ClientID%>").val(Edit.value); 
      $("#<%=txtFromDate.ClientID%>").val(Edit.value); 
      $("#<%=txtToDate.ClientID%>").val(Edit.value); 
      $("#<%=txtWorkDescription.ClientID%>").val(Edit.value); 
      $("#<%=hdnExperienceID.ClientID%>").val(Edit.value); 
     } 

onchange属性を削除します。

+0

同じエラーが発生しました –

+0

jsエラー? @IvinRaj – inser

+0

[この画像を見る](https://i.stack.imgur.com/xqR2A.png)@inser –

0

変更イベントを処理するために別の方法に変更してみ

$(document).on('change', '#txtFromDate', function() { 
    // 
}); 
関連する問題