通过javascript发送电子邮件[html]

时间:2014-12-15 16:26:25

标签: javascript html email

我是javascript的新手。我想问一下是否有可能从html输入中检索值到javascript?我在这里有这个电子邮件表单,用户输入其信息等。我想知道这将如何工作?

注意:我知道如何在php上执行此操作。但我不打算在php上做这件事。我目前正在处理的电子邮件表单是一个小部件。我不喜欢用户将被引导到另一个页面等等。

这是我的电子邮件表单[HTML]

<div class="box box-info">
                                <div class="box-header">
                                    <i class="fa fa-envelope"></i>
                                    <h3 class="box-title">Quick Email</h3>
                                    <!-- tools box -->
                                    <div class="pull-right box-tools">
                                        <button class="btn btn-info btn-sm" data-widget="remove" data-toggle="tooltip" title="Remove"><i class="fa fa-times"></i></button>
                                    </div><!-- /. tools -->
                                </div>
                                <div class="box-body">
                                    <form action="#" method="post">
                                        <div class="form-group">
                                            <input type="email" class="form-control" name="emailto" placeholder="Email to:"/>
                                        </div>
                                        <div class="form-group">
                                            <input type="text" class="form-control" name="subject" placeholder="Subject"/>
                                        </div>
                                        <div>
                                            <textarea class="textarea" placeholder="Message" style="width: 100%; height: 125px; font-size: 14px; line-height: 18px; border: 1px solid #dddddd; padding: 10px;"></textarea>
                                        </div>
                                    </form>
                                </div>
                                <div class="box-footer clearfix">
                                    <button class="pull-right btn btn-default" id="sendEmail">Send <i class="fa fa-arrow-circle-right"></i></button>
                                </div>

2 个答案:

答案 0 :(得分:1)

html中的唯一选项是mailto protocol

mailto:email@example.com?subject=xxx&body=xxx

这将打开用户邮件客户端,其中包含主题和正文的预填充值。

正如您所看到的,这并不总是最佳解决方案,而是您可以使用服务器端脚本来发送邮件。正如你所提到的,你不希望页面改变等等。

查看AJAX这是从客户端发送数据的方法 - &gt;没有整页刷新的服务器。

为方便起见,您可能希望查看jQuery's implementation of ajax

答案 1 :(得分:0)

&#13;
&#13;
function sendMail(){
  
  var subject = document.getElementById('subject').value;
  var message = document.getElementById('message').value;
  
  open('mailto:email@email.com?subject=' + subject + '&body=' + message);
  
  }
&#13;
<input type="text" name="subject" id="subject"/><br/>
<textarea name="message" id="message"></textarea><br/>
<input type="button" onclick="sendMail()" value="Send Message"/>
&#13;
&#13;
&#13;