2010-03-04 17 views
1

有沒有人可以幫助我? 對不起我的英語...html解析錯誤無法在子元素關閉之前修改父容器元素

這是PHP代碼生成錯誤(僅在Internet Explorer 8,在Firefox,Opera和Chrome的工作好):

<!-- SHIPPING ADDRESS --> 
     <h4 id='onCheckoutShipping'><?php echo JText::_("Indirizzo di spedizione") ?></h4> 
     <?php 
     $baseurl = "index.php?option=com_tienda&format=raw&controller=addresses&task=getAddress&address_id="; 
     $url = JRoute::_($baseurl . @$this->shipping_address->address_id); 
      if (!empty($this->addresses)) 
      { 
      $shipattribs = array('class' => 'inputbox', 'size' => '1','onchange' => "tiendaDoTask('$baseurl'+this.options[this.selectedIndex].value, 'shippingDefaultAddress', '')"); 
      echo TiendaSelect::address(JFactory::getUser()->id, @$this->shipping_address->address_id, 'shipping_address_id', 2, $shipattribs, 'shipping_address_id', false); 
      if(count($this->addresses) == 1){ 
       echo "<input type=\"hidden\" id=\"shipping_address_id\" name=\"shipping_address_id\" value=\"" . @$this->shipping_address->address_id . "\" />"; 
      } 
}?> 

      <script type="text/javascript">tiendaDoTask('<?php echo $url ?>', 'shippingDefaultAddress', '');</script> 

     <p id="shippingDefaultAddress"></p> 

     </td> 
     <td style="width: 50px; text-align: left;"> 
      <!-- BILLING ADDRESS -->    
     <h4 id='onCheckoutBilling'><?php echo JText::_("Indirizzo di fatturazione") ?></h4> 
     <?php 
      $url = JRoute::_($baseurl . @$this->billing_address->address_id); 
      if (!empty($this->addresses)) 
      { 
       $billattribs = array('class' => 'inputbox', 'size' => '1','onchange' => "tiendaDoTask('$baseurl'+this.options[this.selectedIndex].value, 'billingDefaultAddress', '')"); 
       echo TiendaSelect::address(JFactory::getUser()->id, @$this->billing_address->address_id, 'billing_address_id', 1, $billattribs, 'billing_address_id', false); 
       if(count($this->addresses) == 1) 
       { 
       echo "<input type=\"hidden\" id=\"billing_address_id\" name=\"billing_address_id\" value=\"" . @$this->billing_address->address_id . "\" />"; 
       } 
}?> 
     <script type="text/javascript">tiendaDoTask('<?php echo $url ?>', 'billingDefaultAddress', '');</script> 
     <p id="billingDefaultAddress"></p> 
     </td> 
    </tr> 
    </table>   

回答

1

嘗試把最後一個腳本塊關閉 之後您的tiendaDoTast()可能會嘗試修改此標記,並且IE在修改的未關閉標記中存在問題。

您也可以將span放在那裏,而不是將腳本放在流中,並在腳本的末尾訪問它們。

相關問題