为什么在onclick javascript函数中未调用文本框值。
$(document).ready(function () {
$("input#btnEditExperience").click(function () {
//$(".errorMsgTitle").show();
//$(".errorEditTitle").show();
var id = $(this).attr("name");
var hospitalname = jQuery('[id$=txtHospitalName]').val();
var department = jQuery('[id$=txtDepartment]').val();
var designation = jQuery('[id$=txtDesignation]').val();
var Fromdate = jQuery('[id$=txtFromDate]').val();
var Todate = jQuery('[id$=txtToDate]').val();
var Workdescription = jQuery('[id$=txtWorkDescription]').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) {
$("#<%=hdnExperienceID.ClientID%>").val(Edit.value);
}
<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>
ASP:
<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" 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" 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>
文件后面的代码:
[WebMethod]
public static UserAjax UpdateExperience(string ExperienceID, string HospitalName, string Department, string Designation, string FromDate, string ToDate, string WorkDescription)
{
UserAjax oUserAjax = new UserAjax();
BD_Doctor oDoctor = new BD_Doctor();
//oDoctor.HospitalName = Experience.Trim();
oDoctor.HospitalName = HospitalName.Trim();
oDoctor.Department = Department.Trim();
oDoctor.Designation = Designation.Trim();
oDoctor.FromDate = Convert.ToDateTime(FromDate.Trim().ToString());
oDoctor.ToDate = Convert.ToDateTime(ToDate.Trim().ToString());
oDoctor.WorkDescription = WorkDescription.Trim();
oDoctor.ExperienceID = Convert.ToInt32(ExperienceID);
oDoctor.SaveUpdateInformation();
return oUserAjax;
}
#endregion
最佳答案
您可以尝试使用JSON.stringify
。另外,请确保该URL有效。
$("input#btnEditExperience").click(function () {
var data = {
hospitalname: $('#<%= txtHospitalName.ClientID %>').val(),
department: $('#<%= txtDesignation.ClientID %>').val(),
....
};
$.ajax({
type: 'POST',
url: '<%= ResolveUrl("~/Default.aspx/UpdateExperience") %>',
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: OndocumentSuccess,
failure: function (response) {
alert(response.d);
}
});
});