You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将JavaScript数组选中元素赋值给Form表单Input输入框用于提交

问题原因

你原代码中使用的innerHTML是用于修改DOM节点的内部HTML内容,仅对有闭合结构的容器标签(比如div、p等)生效。input是单标签表单元素,它的展示内容存储在value属性中,所以调整标签后原来的赋值逻辑失效。

修改方案

只需要改动两处代码即可实现需求:

  1. JS逻辑中将innerHTML赋值改为value赋值
  2. HTML中将原来的div标签替换为你需要的input标签

修改后完整代码

JS代码

var target = document.getElementById('target');
var counter = 0;
var myText = [
  "Orange",
  "Avocados",
  "Banana",
  "Berry",
  "Apple"
];

function nextText() {
  counter += 1;
  if (counter > myText.length - 1) {
    counter = 0;
  }
  // 这里把innerHTML改成value
  target.value = myText[counter];
}

HTML代码

<div>
  <!-- 把原来的div替换为input,初始value和原来的div默认内容一致即可 -->
  <input id="target" value="Fruits">
</div>
<input type="button" onclick="nextText()" value="change Text" />

可选优化

如果你不希望用户手动修改这个输入框的内容,可以给input加上readonly属性,提交表单时该值仍会正常提交:

<input id="target" value="Fruits" readonly>

内容的提问来源于stack exchange,提问作者akintundeal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 01:27:02