为什么隐藏输入的 document.getElementById 在 IE 中有效,但在 Chrome 中无效?

发布于 2024-11-14 16:28:17 字数 1032 浏览 2 评论 0原文

我有一个问题,这部分 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

情何以堪。 2024-11-21 16:28:17

您输入的内容是 itempage名称,而不是id

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

使用names-as-ids仅在IE5-7中受支持!

Your input has the name of itempage, not the id.

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

Using names-as-ids is only supported in IE5-7!

天生の放荡 2024-11-21 16:28:17

函数 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.

攒一口袋星星 2024-11-21 16:28:17

使用id代替name

document.getElementById('item').value = xpage;

Use id instead of name:

document.getElementById('item').value = xpage;
执笏见 2024-11-21 16:28:17

您已将隐藏元素的名称设置为“itempage”,但未将其 ID 设置为“itempage”

You have set the name but not the ID of your hidden element to "itempage"

话少情深 2024-11-21 16:28:17

它在 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文