PHP和javascript在Internet Explorer和Google Chrome上正常工作,但在三星Galaxy Android上无法正常工作

PHP和javascript在Internet Explorer和Google Chrome上正常工作,但在三星Galaxy Android上无法正常工作,php,javascript,android,format,Php,Javascript,Android,Format,我有一个基于php的web应用程序,当用户输入一个值时,它会从mysql数据库中提取细节并显示出来,而不会刷新页面。这显然是通过javascript实现的 这在internet explorer、chrome等移动设备(如黑莓和平板电脑)上100%正常工作。一旦用户输入数据,格式就会混乱。请参见下面的屏幕截图 Internet explorer,表结构保持不变: 移动设备(Galaxy Tablet),表结构已更改: 涉及的2页代码如下所示。前端是一个php页面,它使用javascript

我有一个基于php的web应用程序,当用户输入一个值时,它会从mysql数据库中提取细节并显示出来,而不会刷新页面。这显然是通过javascript实现的

这在internet explorer、chrome等移动设备(如黑莓和平板电脑)上100%正常工作。一旦用户输入数据,格式就会混乱。请参见下面的屏幕截图

Internet explorer,表结构保持不变:

移动设备(Galaxy Tablet),表结构已更改:

涉及的2页代码如下所示。前端是一个php页面,它使用javascript从mysql获取和显示数据

php页面:

<html>
<head>
<title>test</title>
<script type="text/javascript"> 
  function showUser(userNumber, str) 
  { 
  document.getElementById("r"+(userNumber)).style.display="block";  
    if (str=="") 
    { 
      document.getElementById("txtHint1").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("txtHint1").innerHTML=xmlhttp.responseText; 
      } 
    } 
    xmlhttp.open("GET","getdata1.php?q="+str,true); 
    xmlhttp.send(); 
  } 
</script> 
</head>
<body>

<form name="orderform" id="orderform" action="newsale.php" method="post">

<div align="left" id="txtHint1">mysql data will be shown here</div>
<br>
<table border="1">

    <tr id="r1">  
        <td>
            <input size="8"  type="text" id="sku1" name="sku1" onchange="showUser(1, this.value)" >
        </td>
        <td>
            <input  type="text" id="qty1" name="qty1" size="3">
        </td>
    </tr>
    <tr id="r2">  
        <td>
            <input size="8"  type="text" id="sku2" name="sku2" onchange="showUser(1, this.value)" >
        </td>
        <td>
            <input  type="text" id="qty2" name="qty2" size="3" >
        </td>
    </tr>
</table>

</form>
</body>
</html>

测试
函数showUser(userNumber,str)
{ 
document.getElementById(“r”+(userNumber)).style.display=“block”;
如果(str==“”)
{ 
document.getElementById(“txtHint1”).innerHTML=“”;
返回;
}   
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
} 
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
} 
xmlhttp.onreadystatechange=函数()
{ 
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{ 
document.getElementById(“txtHint1”).innerHTML=xmlhttp.responseText;
} 
} 
open(“GET”、“getdata1.php?q=“+str,true”);
xmlhttp.send();
} 
这里将显示mysql数据

获取mysql数据的getdata1.php页面:

<?php
 $q=$_GET["q"];

$con = mysql_connect('localhost', 'user', 'pass');
 if (!$con)
   {
   die('Could not connect: ' . mysql_error());
   }

mysql_select_db("database", $con);

$sql="SELECT Category, Description,SellingUnits,Grouping,CasesPerPallet,ShrinksPerPallet FROM skudata WHERE packcode = '".$q."'";

$result = mysql_query($sql);


while($row = mysql_fetch_array($result))
   {
   echo "<font color=blue size=2>Description:</font> <font color=red size=2>".$row['Description']."</font>, ";
   }

mysql_close($con);
 ?> 

再次感谢所有的支持,非常感谢

或者,是否有人可以给我另一个javascript来显示mysql中的数据?抱歉,我的javascript技能是不存在的


谢谢大家,

问题出在JavaScript的第一行:

document.getElementById("r"+(userNumber)).style.display="block";
您正在将第一个表格行的显示样式设置为
block
。我认为在你的情况下没有理由这么做,所以只要去掉这一行,你的HTML就可以在所有浏览器中很好地工作,包括三星Galaxy标签(我在实际的平板电脑上测试过)


另一方面,FireFox中也出现了单元格移动的效果(现在不再是了)。

请显示生成的HTML(右键单击->查看源代码)-看起来你的某个地方有一个未关闭的标记,尽管它没有向我跳出来。另外,请选择一个doctype并正确地坚持它。所有属性值都应该用引号括起来<代码>应该避免使用标签-改用CSS。感谢@DaveRandom,我已经更新了这个问题。使用标准html 1.0 strict或html5,并使用验证程序进行验证。我仍然找不到我确定存在的未关闭标签,很难读取您的html。您需要做的第一件事是在所有属性值周围添加引号-问题可能是由
中的空的、未加引号的
值=
属性引起的,例如
值=>
。您无疑给HTML解析器带来了一项困难的工作,我并不奇怪您会出现错误。添加一个
作为文档的第一行,并遍历并添加引号,这样(例如,
就变成了
。@DaveRandom,再次感谢您的帮助和时间。我已经更新了问题,以显示代码的简化版本,其中只包含我正在寻找的功能,结果相同。希望我已经正确格式化了代码。谢谢,莱安汉克斯·亚历克斯,100%。感谢大家为我这样的白痴付出的时间和努力:-)