0

当它在 IE 10 上搜索数据库英文字符时效果很好,但是当它搜索数据库以查找希腊字符时,没有任何内容显示为文本。这只发生在 IE 上

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="js/textinputs_jquery.js"></script>
<script type="text/javascript" src="js/textinputs_jquery_src.js"></script>
<script>
$(document).ready(function(){   

  $("#comp_text").live('input paste',function(){
    var str=document.getElementById("comp_text");
    if (str.value.length <3){
        return false;
    }
    var twidth=str.offsetWidth;
    $('#txtHint').width(twidth);
    $('#txtHint').load('gethint.php?q='+str.value);  
  });
  $(".add").submit( function(){
    if($('#company').length){
        return true;
    }else{
        alert("");
        return false;
    }
    });
});  

function showHint(str)
{
if (str.length==0)
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","gethint.php?q="+str,true);
xmlhttp.send();
}


function set_val(str, company){
    document.getElementById('comp_text').value= str;
    document.getElementById('txtHint').innerHTML="";
    document.getElementById("customer_place").innerHTML='<input type="hidden" id="company" value="'+company+'">';
}
function cust_control(){

    if (document.getElementByName('company')){
        alert ("");
        return false;
    }else
        return true;
}

</script>
<form method=\"post\" name=\"addn\" class=\"add\" action=\"do_insert.php\">
<input type="text" id="comp_text" onkeyup="showHint(this.value)" name="company" size="20" style="text-align: center; font-size: 13px;"/>
<div id="txtHint"></div>
<div id="customer_place"></div>
</form>

和 gethint.php ...

$q=$_GET["q"];
$response='';

$query="SELECT uid, company FROM users where company like '".$q."%' and userid='$userid' order by company";
mysql_query("set character set 'utf8'");
$result=mysql_query($query);

if (mysql_num_rows($result) > 0) {
$response.='<table>';
    while ($row=mysql_fetch_array($result)){
        $response.='<tr><td onclick="set_val(\''.$row['company'].'\', \''.$row['uid'].'\')">'.$row['company'].'</td></tr>';
    }
$response.='</table>';  
echo $response;
}else{
}
4

1 回答 1

0

替换 xmlhttp.open("GET","gethint.php?q="+str,true);xmlhttp.open("GET","gethint.php?q="+encodeURIComponent(str,true)); 解决问题...

于 2013-05-15T23:40:34.173 回答