【问题标题】:Combine two textarea inputs into one textarea input upon "Submit" with JS/Jquery使用 JS/Jquery 在“提交”时将两个 textarea 输入合并为一个 textarea 输入
【发布时间】:2020-09-08 16:21:07
【问题描述】:

我有一个网站只允许在提交时将这些输入发送到服务器:

  • 姓名(输入)
  • 电话(输入)
  • 电子邮件(输入)
  • 消息(文本区域)

我的服务器只能接收上述这些字段。

我想创建额外的文本区域并在提交事件时将它们组合在一起。它会在网站上显示如下:

  • 姓名(输入)
  • 电话(输入)
  • 电子邮件(输入)
  • 消息(文本区域)
  • 消息 2(文本区域)

接收方式如下:

  • 姓名:姓名
  • 电话:电话
  • 电子邮件:电子邮件
  • 消息:消息,消息 2

我该怎么做?有可能吗?

这是我的代码。但它不会结合文本区域。点击按钮即可加载代码:

    var h1Text = document.querySelector("h1").textContent;
$(function () {
    $('button.requestbtn').click(function () {
        setTimeout(function () {
            $("#message").val("I am interested in " + h1Text);
            $(".rg-modal-contact h2").text(h1Text);
            $("#message").after('<textarea id="message2" class="comments" rows="5" placeholder="Comments, Questions, Special Requests?"></textarea>')
            var _form = document.querySelector("#form");
            _form.addEventListener("submit", function() {
                var msg = document.querySelector("#message");
                var msg1 = document.querySelector("#message2");
                msg.value = msg.value + ", " + msg1.value;
            });
        }, 1);
    });
});

【问题讨论】:

    标签: javascript html jquery contact-form


    【解决方案1】:

    这是一个真正的基本示例,只需捕获表单提交即可。然后将第一个 textarea 的值设置为包含第二个的值。

    var _form = document.querySelector("#form");
    
    _form.addEventListener("submit",function(e){
      var msg = document.querySelector("textarea[name=message]");
      var msg1 = document.querySelector("textarea[name=message1]");
      
      msg.value = msg.value + "," + msg1.value;
      
      e.preventDefault(); //just for this test, remove this in final code
    });
    <form id="form">
    
    <textarea name="message">test</textarea>
    <textarea name="message1">test333</textarea>
    <button>SUBMIT</button>
    </form>

    【讨论】:

    • 由于某种原因这不起作用。这是我的参考表格:link
    • 我还必须使用 jquery onload 添加一个 textarea 输入。如果这改变了什么。
    • 我刚刚在上面添加了我的代码。它不会在提交时结合文本区域。想法?
    • 有趣的是,它明显地合并到了 textarea 中,但合并后的第二个 textarea 实际上并没有得到处理?我什至也延迟了提交。很抱歉收到多条消息。
    猜你喜欢
    • 1970-01-01
    • 2016-10-30
    • 1970-01-01
    • 2016-05-17
    • 2022-01-21
    • 2020-08-30
    • 2012-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多