javascript - onclick 更改多个表单输入值

标签 javascript html

我对 Javascript 非常陌生,找不到问题的答案。我有许多页面的设置完全相同,每个页面上都有一个表单和按钮。当用户单击提交按钮时,我希望 javascript 设置隐藏输入的值。在我设置第二页之前,我的工作一直很完美。单击提交按钮时,第二页需要添加不同的值。但只有我的 javascript 中的最后一个值有效。它无法识别第一个值。我相信,如果我更改每个提交按钮上的 Id,这个问题很容易解决,但由于我拥有其他代码,这会导致工作数小时。

<script language="javascript" type="text/javascript">
<!--

window.onload=function() {document.getElementById("atc").onclick=function() 
{document.forms[0].autosccartprice.value = "40.00";
document.forms[0].fwbcartprice.value = "118.00";
}}

//-->
</script>

这是我第一页上的 html,效果很好。

<form action="https://www.mywebsite.com" method="post" 
class="buttonform">
<input type="hidden" name="price" id="fwbcartprice" value="" /><br />
<input type="submit" value="" class="addtocart3" id="atc" title="Add To Cart">
</form>

这是第二页的 html,不起作用

<form action="https://www.mywebsite.com" method="post" 
class="buttonform">
<input type="hidden" name="price" id="autosccartprice" value="" /><br />
<input type="submit" value="" class="addtocart3" id="atc" title="Add To Cart">
</form>

最佳答案

您似乎正在尝试填写隐藏的输入,但表单已提交。 因此,首先您需要停止表单提交,填写隐藏字段,然后重新提交表单。

<小时/>

试试这个代码:

window.addEventListener("load", function() {
   document.getElementsByClassName("buttonform")[0].addEventListener("submit", function(e) {
     e.preventDefault();
     this.autosccartprice.value = "40.00";
     this.fwbcartprice.value = "118.00";
     this.submit();
   }
}
<小时/>

Ps:如果为每个表单指定一个唯一的ID,然后使用 getElementById() 方法选择每个表单,而不是使用document.forms[i].

关于javascript - onclick 更改多个表单输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48847591/

相关文章:

javascript - 无法在 angularjs 中更改我的表数据?

Javascript 动态链接问题?

javascript - Emscripten Uncaught RangeError : Source is too large, 多个 Float32Arrays

html - 如何使用元音符号生成 javadoc 文档?

html - css- 使背景跨越页面?

css - HTML5 Canvas 以全分辨率填充窗口

html - 如何从网站提取图像到我的 Rails 元素中?

javascript - 尝试使用 React Route 和 Webpack 实现代码分割的 React "Lazy"路由

javascript - 增加对象框的大小以删除滚动条

javascript - 如何在 HTML5 中使用二维数组绘制圆弧元素?