我有一个问题,这部分js代码无法在Chrome中运行但在IE中工作。
这是我的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>
我迷失了如何解决这个问题。
任何人都可以帮助我吗?
提前致谢。
答案 0 :(得分:5)
您的输入具有itempage
的名称,而不是 ID 。
<input id="item" type="hidden" name="itempage" value="1" id="itempage"/>
使用name-as-id is only supported in IE5-7!
答案 1 :(得分:4)
函数getElementById按属性“id”搜索,而不是“name”。
所以用项目替换itempage,你就可以了。
答案 2 :(得分:3)
使用id
代替name
:
document.getElementById('item').value = xpage;
答案 3 :(得分:2)
您已将隐藏元素的名称而非ID设置为“itempage”
答案 4 :(得分:1)
它适用于IE,因为IE会考虑“name”属性以及“getElementById()”的“id”属性。实际上,这是一个非常愚蠢的行为,但它有利于您的代码,因为您没有将该字符串作为“id”值。