2

我搜索了很多(SO & GOOGLE),但找不到任何更仔细的方法来解决我的问题。

我有一个简单的 html5 表单,有 9-10 个输入,并使用“mailto:abc@xyz.com”标签来撰写一封电子邮件,其中包含通过输入输入的所有数据。到这里我很好,但现在我需要用其输入字段之一更改“abc@xyz.com”值。

例如

 <form method="post" action="now it should have what is value of 1." enctype="text/plain">

  1. <input type="Email" name="ToEmail" id="ToEmail" value="" required placeholder="Target Email Address.."/>
  2. 
  3.
   .
   .
  <button type="submit">Submit</button></div>
 </form>

我自己尝试的:创建了一个javascript函数
function actionValue()

        {
        var email = document.getElementById('ToEmail').value;
        var action = "mailto:"+email+"?subject=Test"
        return action;
        }

并像这样调用这个函数

  <form method="post" action="javascript:actionValue();" enctype="text/plain">

我怀疑我的逻辑或我使用 javascript 的方式有问题。任何帮助将不胜感激。

谢谢,ps:我对js不太好..

4

2 回答 2

2

您应该能够按照以下方式做一些事情:

<form method="post" action="javascript:;" onSubmit="this.action='mailto:'+document.getElementById('ToEmail').value;" enctype...>
于 2013-03-05T07:23:21.640 回答
0

我已从您的 HTML 中删除了内联内容:

(function() {
  var theForm = document.querySelector('form');
  theForm.addEventListener('submit', function(e) {
    theForm.action = document.getElementById('ToEmail').value;
  });
}());

演示:http: //jsbin.com/odihew/1

于 2013-03-05T11:44:42.843 回答