【问题标题】:Transfer value of <select> into <textarea> before submitting with JavaScript在使用 JavaScript 提交之前将 <select> 的值传输到 <textarea>
【发布时间】:2018-07-26 17:23:39
【问题描述】:

假设我有下一个 HTML 代码:

<textarea class="message" type="textarea" name="message" id="message" placeholder="Send us your message"> </textarea>

<select name="cars">
  <option class="car">Volvo</option>
  <option class="car">Saab</option>
  <option class="car">Fiat</option>
  <option class="car">Audi</option>
</select>

<button type="submit" class="button">Send!</button>

所以,使用 JavaScript,我想实现下一个目标: 1.单击按钮时,将选定的值存储在选项内 2. 在 textarea 中传输该值 3. 完成前两步后,提交信息;

在此先感谢您,如果您不明白我的确切要求,我将提供进一步的讨论。 额外信息:也许我应该更具体一点。我正在制作一个联系表格,该表格将消息发送到特定的电子邮件。我的目标是,在提交之前,将 option 的存储值放入 textarea 中,然后将其作为消息发送到该电子邮件。我希望这会有所帮助。

【问题讨论】:

  • 您知道您在提交表单后将获得一个新页面..?
  • 我知道这一点。我不想谈太多细节。我正在处理一个作为消息提交给电子邮件的联系表单,所以我不担心之后页面重新加载。感谢您的回复。
  • 然后你必须在服务器端代码中添加新的占位符,以便它在新页面上可见。
  • 我的错,现在我已经编辑了我的帖子。占位符不相关,我打错了。目标是将 option 的值放在 textarea 中,作为消息发送到电子邮件。
  • 在表单上附加一个onsubmit事件,并在handler函数中设置textarea的值。

标签: javascript html button textarea submit


【解决方案1】:

这样的事情应该让你开始:

<script>
    function transferSelect() {
        document.getElementById('message').value += document.getElementById('cars').value;
    }
</script>

<textarea class="message" type="textarea" name="message" id="message" placeholder="Send us your message"> </textarea>

<select id="cars" name="cars">
  <option class="car">Volvo</option>
  <option class="car">Saab</option>
  <option class="car">Fiat</option>
  <option class="car">Audi</option>
</select>

<button type="submit" onclick="transferSelect();" class="button">Send!</button>

【讨论】:

  • 非常感谢!然后我应该放置一个事件监听器,调用这个函数?这样,由于 += textarea 的值不会改变,只会添加汽车的值吗?再次感谢。
  • 我给出的示例中的按钮已经添加了onclick事件,因此您无需添加单独的侦听器。是的,按照我的做法,选择的值附加到末尾;您可以根据自己认为合适的方式进行调整,以达到您想要的最终结果
  • 非常感谢。可能为我节省了几个小时的麻烦。我是 JavaScript 新手,刚刚完成 DOM 基础知识。所以我有一个想法这样做,但不确定什么是正确的方法。无论如何,再次感谢!
  • 很高兴我能帮上忙。告诉你,如果我回答了你的问题,你可以mark my answer as accepted
  • 好吧,我不知道。你去 - 刚刚做到了:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-12
  • 1970-01-01
  • 2020-09-08
相关资源
最近更新 更多