2011-06-10 19 views
4

我有JS的這部分代碼在Chrome中無法正常工作,但在IE工作的問題。爲什麼document.getElementById隱藏輸入在IE中可用但不是Chrome?

這是我的javascript代碼:

function submitformWithPage(xpage) 
{ 

    document.getElementById('itempage').value = xpage; 
alert(xpage); 
    document.searchForm.submit(); 

} 

,這是我的html代碼

<form name="searchForm" action="search.php" method="get"> 

<input type="text" name="search" value="<?php if(isset($_GET['search'])) { echo $_GET['search']; } ?>"/> 
<input type="hidden" name="parameter" value="test" /> 
<input id="item" type="hidden" name="itempage" value="1" /> 
<input type="hidden" name="pageBigForward" value="10" /> 
<input type="hidden" name="pageSmallForward" value="1" /> 

<button style="" onclick="javascript: submitform()">Search</button> 

</form> 

我通過使用此代碼提交表單,它工作在IE,但不是在Chorme。

<button style="" onclick="javascript: submitformWithPage(3);">3</button> 

我迷失在如何解決這個問題。

誰能幫助我?

在此先感謝。

回答

4

功能的getElementById由屬性 「ID」 搜索,而不是 「名」。

因此,與項目替換itempage,你是好去。

1

它工作在IE,因爲IE認爲「name」屬性以及對「的getElementById()」中的「id」屬性。這實際上是一個非常愚蠢的行爲,但它有利於您的代碼,因爲您沒有將該字符串作爲「id」值。

2

您所設置的名稱,但不是你的隱藏元素的ID爲「itempage」

5

您輸入具有itempage,而不是ID

<input id="item" type="hidden" name="itempage" value="1" id="itempage"/> 

使用的名稱,如-IDS is only supported in IE5-7

3

使用id代替name

document.getElementById('item').value = xpage; 
相關問題