是否可以使用其中一个字段动态更改html表单的操作标记值的值?

时间:2013-03-05 07:19:41

标签: javascript html5

我经常搜索(S.O& GOOGLE),但无法找到解决问题的近距离方法。

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

e.g。

 <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的方式有问题。 任何帮助都将受到高度赞赏。

谢谢, p.s:我对js不太好..

2 个答案:

答案 0 :(得分:2)

你应该能够按照以下方式做点什么:

<form method="post" action="javascript:;" onSubmit="this.action='mailto:'+document.getElementById('ToEmail').value;" enctype...>

答案 1 :(得分:0)

我已从HTML中删除内联内容:

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

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