function mainLoop()
{
val = escape( queryField.value );
if( lastVal != val )
{
var reg = /[^\u4E00-\u9FA5]/g;
if(reg.test(val.value))
{
var response = AjaxMethod.GetSearchItems( val,1 );
}
else
{
var response = AjaxMethod.GetSearchItems( val,0 );
}
showQueryDiv( response.value );
lastVal = val;
}
return true;
}
相信这段代码大家比较熟悉是给输入框增加智能提示的其中一小段。 。没改之前智能提示英文很正常。我该后根据用户输入的是汉字执行var response = AjaxMethod.GetSearchItems( val,1 ); 否则执行var response = AjaxMethod.GetSearchItems( val,0 );程序没错 现在输入汉字或英文却显示不全或没有显示 。请大家帮我看看 问题出在哪里?谢谢了
if(reg.test(val.value))
{
var response = AjaxMethod.GetSearchItems( val,1 );
}
else
{
var response = AjaxMethod.GetSearchItems( val,0 );
}
showQueryDiv( response.value );
lastVal = val;
}
var response是在if/else块中定义的,出了块之后就不存在了,在showQueryDiv(response.value)的时候response.value是null
这个是检查是否存在非汉字吧,LZ改成这样试试
var reg = /[\u4E00-\u9FA5]/g;
若判断是否含有中文字符应用/[\u4E00-\u9FA5]/g,若是判断是否全是中文字符应用/^[\u4E00-\u9FA5]+$/g