为什么隐藏输入的 document.getElementById 在 IE 中有效,但在 Chrome 中无效?
我有一个问题,这部分 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>
我不知道如何解决这个问题。
谁能帮助我吗?
提前致谢。
i have a problem with this part of js code not working in Chrome but working in IE.
this is my javascript code :
function submitformWithPage(xpage)
{
document.getElementById('itempage').value = xpage;
alert(xpage);
document.searchForm.submit();
}
and this is my html code
<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>
I submitted the form by using this code and it works in IE but not in Chorme.
<button style="" onclick="javascript: submitformWithPage(3);">3</button>
I am lost on how to solve this problem.
Can anyone help me ?
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您输入的内容是
itempage
的名称,而不是id。使用names-as-ids仅在IE5-7中受支持!
Your input has the name of
itempage
, not the id.Using names-as-ids is only supported in IE5-7!
函数 getElementById 按属性“id”搜索,而不是“name”。
因此,将 itempage 替换为 item 就可以了。
Function getElementById is searching by attribute "id", not "name".
So replace itempage with item and you are good to go.
使用
id
代替name
:Use
id
instead ofname
:您已将隐藏元素的名称设置为“itempage”,但未将其 ID 设置为“itempage”
You have set the name but not the ID of your hidden element to "itempage"
它在 IE 中有效,因为 IE 会考虑“getElementById()”的“name”属性和“id”属性。实际上,这是一种非常愚蠢的行为,但它对您的代码有益,因为您没有该字符串作为“id”值。
It works in IE because IE considers the "name" attribute as well as the "id" attribute for "getElementById()". It's a pretty stupid behavior, really, but it benefits your code because you don't have that string as an "id" value.