Javascript 对象没有';IE8中的t支撑修剪方法
我已经通过javascript编写了一个表单验证,它可以在除ie8之外的所有浏览器上运行。我在IE8中看到的错误是:对象不支持此属性或方法,并指向带有“var firstnameObject”的行。此错误在页面加载后立即显示。代码不止这些,但是我不想用不必要的内容来填充这个问题 有人对我为什么会出现这个错误有什么线索/建议吗?感谢您的帮助,谢谢Javascript 对象没有';IE8中的t支撑修剪方法,javascript,jquery,object,methods,internet-explorer-8,Javascript,Jquery,Object,Methods,Internet Explorer 8,我已经通过javascript编写了一个表单验证,它可以在除ie8之外的所有浏览器上运行。我在IE8中看到的错误是:对象不支持此属性或方法,并指向带有“var firstnameObject”的行。此错误在页面加载后立即显示。代码不止这些,但是我不想用不必要的内容来填充这个问题 有人对我为什么会出现这个错误有什么线索/建议吗?感谢您的帮助,谢谢 var generalMethods = { //Validate Alpha validateAlphaFields : functi
var generalMethods = {
//Validate Alpha
validateAlphaFields : function(field){
console.log(field)
var currentValue = $(v[field]).val();
console.log('current value:' + currentValue);
if (!currentValue || !currentValue.match(/^[A-z]+$/)){
$(v[field]).addClass('Invalid');
$('#s-'+ field).html(eval(field + 'Object.labelName'));
} else{
$(v[field]).removeClass('Invalid');
$('#s-'+ field).empty();
}
return generalMethods.testSubmit();
}
//Enable submit button if parameter === 'enable', else disable submit button
,disableEnable : function(condition){
if (condition === 'enable'){
//Enable submit button
$('#form_submit_button, #form-submit-button').removeAttr('disabled');
}
}
//Test all fields to enable Submit Button
,testSubmit : function(){
var invalidCount = 0;
$('#errorMessage span').each(function(){
if ($(this).text().trim().length){
invalidCount++;
}
});
//Disable submit if any invalid fields
if (invalidCount < 1){
generalMethods.disableEnable('enable');
$('#errorMessage').css('display','none');
return true;
} else{
$('#errorMessage').css('display','block');
return false;
}
}
}
//Validate Fields Objects
//=====================================================
var firstnameObject = {
labelName : $('#sfield_firstname label').text().trim()
,validate : generalMethods.validateAlphaFields
}
var-generalMethods={
//验证阿尔法
ValidateAlpha字段:函数(字段){
console.log(字段)
var currentValue=$(v[field]).val();
console.log('当前值:'+当前值);
如果(!currentValue | |!currentValue.match(/^[A-z]+$/){
$(v[field]).addClass(“无效”);
$('#s-'+field).html(eval(field+'Object.labelName');
}否则{
$(v[field]).removeClass('Invalid');
$(“#s-”+字段).empty();
}
返回generalMethods.testSubmit();
}
//如果参数==“启用”,则启用提交按钮,否则禁用提交按钮
,禁用启用:功能(条件){
如果(条件=='enable'){
//启用提交按钮
$(“#表单提交按钮,#表单提交按钮”).removeAttr('disabled');
}
}
//测试所有字段以启用“提交”按钮
,testSubmit:function(){
var invalidCount=0;
$('#errorMessage span')。每个(函数(){
if($(this.text().trim().length){
invalidCount++;
}
});
//如果有任何无效字段,请禁用提交
如果(无效计数<1){
generalMethods.disableEnable('enable');
$('#errorMessage').css('display','none');
返回true;
}否则{
$('#errorMessage').css('display','block');
返回false;
}
}
}
//验证字段和对象
//=====================================================
var firstnameObject={
labelName:$('#sfield_firstname label').text().trim()
,验证:generalMethods.validateAlphaFields
}
在IE9中添加了String
的trim
方法,因此在IE8中不可用。使用$.trim()
来实现跨浏览器兼容性:
var firstnameObject = {
labelName : $.trim($('#sfield_firstname label').text()),
,validate : generalMethods.validateAlphaFields
}
这就是您应该如何使用验证,它将在所有浏览器中工作。请提供您看到的全部错误。听起来您需要调试对象,并找出哪个对象为null或缺少所需的属性
$(document).ready(function() {
$('#btnsubmit').click(function() {
if ($.trim($('#TextCust').val()).length == 0) {
alert("Please Enter Customer Name");
return false;
}
});
});