在Firefox中破坏了表单动态

时间:2011-05-31 22:29:27

标签: php javascript mysql forms firefox

我目前正在创建一个专为满足客户需求而设计的简单CMS。整体设计使用mysql数据库将页面数据存储在表中,然后使用AJAX访问和显示这些页面。我已经到了需要添加页面编辑功能的部分,作为其中的一部分,我需要一个包含站点中所有当前页面列表的表单,因此用户可以选择要编辑的页面(以及作为其他功能)它当前工作的方式浏览器发出“管理”或编辑页面的请求然后PHP然后根据所需的参数构造表单,将其存储为一个html字符串,并通过“回声”返回“。 (再一次,使用AJAX)

第一个测试将“页面”表中的所有行放入HTML选择框。 第二次尝试是使用overflow:auto。

列出div中的所有行

在这两种情况下,IE中没有任何缺陷,但Firefox不允许打开选择框,或者滚动div。

任何想法?

由于

编辑:

继承代码。我做了一些进一步的测试,尝试删除可能导致问题的任何事情。我复制了php生成的代码并将其保存为html文档。它继续在firefox中表现出相同的行为。我删除了所有的JavaScript,所以它只是HTML。唯一导致它正常工作的是当我将html文件复制到我的桌面上时(因此它不再在我的xampp网络服务器上。)这导致表单再次工作。

编辑:再次:它似乎与我的CSS文档有关,但我无法弄清楚我的CSS中会导致表单中断的内容。想法?

下面是HTML和CSS:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
    <title>On Semiconductor Corporate IP Website</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">      

    <link rel="stylesheet" type="text/css" href="css/headerCSS.css">



</head>

<body>
  <div id="header">
     <div id="header_top_layer">   <!-- SET WITH HERE -->
        <div id="logo"></div>

        <div id="title_wrapper">
           <div id="page_title">
              <div id="large_text">Corporate R&amp;D</div>

              <div id="small_text">Intellectual Property</div>
           </div>
        </div>
     </div>
  </div>

     <div class="clear_float"></div>



     <div class="clear_float"></div>


  <div id="main_container">
     <div id="background">
        <div id="container">       <!-- SET WITH HERE -->

           <div id="sidebar">
           </div>


           <div id="main">        
              <div id="content">
                 <form action="" method="post">
                    <input name="lastname" type="text"><br>
                    <select id="selectBox">
                       <option value="1">Home</option>
                       <option value="2">Foundation IP</option>
                       <option value="3">Memories</option>
                       <option value="4">Analog IP</option>
                       <option value="5">System IP</option>
                       <option value="6">Search</option>
                       <option value="7">Login</option>
                       <option value="8">Admin</option>
                    </select><br>
                    <input value="Submit" type="submit">
                 </form>
              </div>
           </div>
        </div>

     </div>
     <div id="bottom_bookend">
        <div id="bbColor"></div>
        <img src="Images/bottomDiagonal.png" id="bbImage">
     </div>

  </div>

并且在一个pastebin中的CSS因为它很长:

http://pastebin.com/7hBiWz85

2 个答案:

答案 0 :(得分:2)

我也相信你应该把注意力从数据库和其他任何事情上转移出去,只关注html。

你已经知道浏览器确实存在差异,我记得我自己在firefox中的选择框有同样的问题,在尝试了不同的事情之后我解决了它。例如(如果我没有错,则选择两种不同的语法)..

至于div我发现最可靠的div在每个定义为绝对位置的地方运行良好,幸运的是我发现构建具有绝对位置的页面对我来说更容易,更简单,更清洁!

答案 1 :(得分:1)

原来这是一个分层问题,我只是个白痴。

在我的CSS中,我用其中的表单创建了容器,其z-index为-2。这导致另一个div位于表单之上,阻止用户单击表单元素。

感谢任何看过这个问题的人。