2

私はたくさん検索しましたが(SOとGOOGLE)、問題を解決するためのより詳細なアプローチを見つけることができませんでした。

9-10 の入力を持つ単純な html5 フォームがあり、「mailto:abc@xyz.com」タグを使用して、そこに入力されたすべてのデータを含む電子メールを作成します。ここまでは問題ありませんが、入力フィールドの 1 つで「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 に答える