2011-06-10 18 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; 
相关问题