通过 Javascript 更改时,Safari/Chrome 不发布值

发布于 2024-10-16 11:39:19 字数 589 浏览 4 评论 0原文

我有一些隐藏的表单元素,如下所示:

<input type="hidden" name="numberOfAdults" />

然后我有一个 onsubmit 函数,它执行一些加法并将总和放入隐藏字段中:

form.numberOfAdults.value = numAdults;

表单的提交取决于此函数返回 true 还是 false。提交表单时,IE7+ 和 Firefox 显示 onsubmit 函数中更改的值。 Safari 和 Chrome 没有。但是,如果我给隐藏输入默认值:

    <input type="hidden" name="numberOfAdults" value="2" />

那么该值就会被传递。为什么 Safari 和 Chrome 会忽略这些更改后的值?

编辑:这是完整的代码:http://jsfiddle.net/2q8SX/

I have a few hidden form elements like so:

<input type="hidden" name="numberOfAdults" />

I then have an onsubmit function that does some addition and puts the sum into the hidden fields:

form.numberOfAdults.value = numAdults;

The form is submitted depending on if this function returns true or false. When the form is submitted, IE7+ and Firefox show the changed value from the onsubmit function. Safari and Chrome do not. However, if I give the hidden inputs default values:

    <input type="hidden" name="numberOfAdults" value="2" />

Then the value gets passed. Why are Safari and Chrome ignoring these changed values?

EDIT: Here is the complete code: http://jsfiddle.net/2q8SX/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(1

够运 2024-10-23 11:39:19

只是一个疯狂的猜测:

给你的提交按钮:

onclick="yourFunction(); return false;"

并添加到你的 function() 作为最后一个命令:

document.getElementByTagName('form').submit();

just a wild guess:

give your submit button:

onclick="yourFunction(); return false;"

and add to your function() as it's last command:

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