这段代码是给我的。上一次,这是有效的。但现在它抛出了一个Object Expected错误。我是javascript的新手,所以我不知道出了什么问题或者如何修复它。有人能帮我吗?代码流是当用户单击gridview中的Edit链接时,它将更改为Update Cancel。然后gridview现在可以编辑。
<script type="text/javascript">
$(document).ready(function () {
$(':checkbox').change(function () {
if ($(this).is(":checked")) {
$(this).val('1');
} else {
$(this).val('0');
}
});
$("[id^=txtNumberVal]").bind("keypress", function (e) {
var keyCode = e.which ? e.which : e.keyCode
var chars = String.fromCharCode(keyCode);
var intRegex = '[-+]?([0-9]*.[0-9]+|[0-9]+)';
if (!chars.match(intRegex)) {
alert('Please enter a valid number');
return false;
}
});
});
function editClick(i, e, v) {
$(document).ready(function () {
var id = 0;
$("#<%=dgRule.ClientID%> tr").each(function () {
id = $(this).find("td:eq(5) input[type=hidden]").val();
$("#Edit" + id).show();
$("#Update" + id).hide();
$("#Cancel" + id).hide();
if ((i == id) && (e == "E")) {
if (v == "1") {
$("#numberVal" + id).hide();
$("#txtNumberVal" + id).show();
} else if (v == "2") {
$("#chkBoolVal" + id).removeAttr('disabled');
} else if (v == "4") {
$("#charVal" + id).hide();
$("#txtCharVal" + id).show();
}
} else {
$("#numberVal" + id).show();
$("#txtNumberVal" + id).hide();
$("#chkBoolVal" + id).attr('disabled', 'disabled');
$("#charVal" + id).show();
$("#txtCharVal" + id).hide();
}
});
});
if (e == "U") {
$.ajax({
type: "post",
url: "EditPasswordRule.aspx/UpdatePwdRule",
data: "{ numberVal: '" + $("#txtNumberVal" + i).val() + "', boolVal: '" + $("#chkBoolVal" + i).val() + "', charVal: '" + $("#txtCharVal" + i).val() + "', ruleID: '" + i + "' }",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function (result) {
if ((result.d).indexOf("Failed")) {
$("#numberVal" + i).text(parseFloat($("#hdNumberVal" + i).val()).toFixed(2));
}
else {
$("#numberVal" + i).text(parseFloat($("#txtNumberVal" + i).val()).toFixed(2));
}
$("#charVal" + i).text($("#txtCharVal" + i).val());
alert(result.d);
},
error: function (xhr, status, error) {
alert(error);
return false;
}
});
}
else if (e == "E") {
$("#txtNumberVal" + i).val(parseFloat($("#numberVal" + i).text()).toFixed(2));
$("#txtCharVal" + i).val($("#charVal" + i).text());
if ($("#chkBoolVal" + i).is(":checked")) {
$("#boolVal" + i).val('1');
} else {
$("#boolVal" + i).val('0');
}
$("#Edit" + i).hide();
$("#Update" + i).show();
$("#Cancel" + i).show();
} else if (e == "C") {
if ($("#boolVal" + i).val() == "1") {
$("#chkBoolVal" + i).prop('checked', true);
} else {
$("#chkBoolVal" + i).prop('checked', false);
}
$("#Edit" + i).show();
$("#Update" + i).hide();
$("#Cancel" + i).hide();
}
}
</script>
答案 0 :(得分:1)
请打开开发人员工具(F12)并转到控制台窗口,您在控制台日志中也会收到相同的错误,双击该错误将导致您进入导致错误的行。此错误类似于&#34;对象引用未设置为对象的实例&#34; .net中的错误。 :)
祝你好运。