Mailto提交按钮

时间:2012-09-27 17:29:10

标签: html asp.net-mvc mailto

是否可以在mailto:之类的提交按钮上实施<input type="submit" />功能?我使用ASP.NET MVC。也许有一些棘手的控制器动作结果来实现这一点。你能帮我吗?

P.S。我知道我可以让锚看起来像一个按钮。

6 个答案:

答案 0 :(得分:34)

在HTML中,您可以在mailto:元素的<form>属性中指定[action]地址。

<form action="mailto:youraddr@domain.tld" method="GET">
    <input name="subject" type="text" />
    <textarea name="body"></textarea>
    <input type="submit" value="Send" />
</form>

这将允许用户的电子邮件客户端创建一个预先填充<form>字段的电子邮件。

不会做的是发送电子邮件。

答案 1 :(得分:21)

这似乎工作正常:

        <button onclick="location.href='mailto:em@i.l';">send mail</button>

答案 2 :(得分:3)

您需要做的是使用表单中的onchange事件。并根据邮件的上下文更改发送按钮的href属性。

<form id="form" onchange="mail(this)">
                    <label>Name</label>
                    <div class="row margin-bottom-20">
                        <div class="col-md-6 col-md-offset-0">
                            <input class="form-control" name="name" type="text">
                        </div>
                    </div>

                    <label>Email <span class="color-red">*</span></label>
                    <div class="row margin-bottom-20">
                        <div class="col-md-6 col-md-offset-0">
                            <input class="form-control" name="email" type="text">
                        </div>
                    </div>

                    <label>Date of visit/departure </label>
                    <div class="row margin-bottom-20">
                        <div class="col-md-3 col-md-offset-0">
                            <input class="form-control w8em" name="adate"  type="text">
                                <script>
                            datePickerController.createDatePicker({
                                // Associate the text input to a DD/MM/YYYY date format
                                formElements:{"adate":"%d/%m/%Y"}
                                });
                                </script>
                        </div>
                        <div class="col-md-3 col-md-offset-0">
                            <input class="form-control" name="ddate"  type="date">
                        </div>
                    </div>

                    <label>No. of people travelling with</label>
                    <div class="row margin-bottom-20">
                        <div class="col-md-3 col-md-offset-0">
                            <input class="form-control" placeholder="Adults" min=1 name="adult"  type="number">
                        </div>
                        <div class="col-md-3 col-md-offset-0">
                            <input class="form-control" placeholder="Children" min=0 name="childeren"  type="number">
                        </div>
                    </div>

                    <label>Cities you want to visit</label><br/>
                    <div class="checkbox-inline">
                      <label><input type="checkbox" name="city"  value="Cassablanca">Cassablanca</label>
                    </div>
                    <div class="checkbox-inline">
                      <label><input type="checkbox" name="city" value="Fez">Fez</label>
                    </div>
                    <div class="checkbox-inline">
                      <label><input type="checkbox" name="city" value="Tangier" >Tangier</label>
                    </div>
                    <div class="checkbox-inline">
                      <label><input type="checkbox" name="city" value="Marrakech" >Marrakech</label>
                    </div>
                    <div class="checkbox-inline">
                      <label><input type="checkbox" name="city" value="Rabat" >Rabat</label>
                    </div>

                    <div class="row margin-bottom-20">
                        <div class="col-md-8 col-md-offset-0">
                            <textarea rows="4" placeholder="Activities Intersted in" name="activities" class="form-control"></textarea>
                        </div>
                    </div>


                    <div class="row margin-bottom-20">
                        <div class="col-md-8 col-md-offset-0">
                            <textarea rows="6" class="form-control" name="comment" placeholder="Comment"></textarea>
                        </div>
                    </div>

                    <p><a id="send" class="btn btn-primary">Create Message</a></p>
                </form>

功能邮件(表格) {

            var name=form.name.value;
            var city="";
            var adate=form.adate.value;
            var ddate=form.ddate.value;
            var activities=form.activities.value;
            var adult=form.adult.value;
            var child=form.childeren.value;
            var comment=form.comment.value;
            var warning=""
            for(i=0;i<form.city.length;i++)
            {
                if(form.city[i].checked)
                    city+=" "+form.city[i].value;
            }
            var str="mailto:abc@x.com?subject=travel to morocco&body=";
            if(name.length>0){
                str+="Hi my name is "+name+", ";
            }else{
                warning+="Name is required"
            }
            if(city.length>0){
                str+="I am Intersted in visiting the following citis: "+city+", ";
            }
            if(activities.length>0){
                str+="I am Intersted in following activities: "+activities+". "
            }
            if(adate.length>0){
                str+="I will be ariving on "+adate;
            }
            if(ddate.length>0){
                str+=" And departing on "+ddate;
            }
            if(adult.length>0){
                if(adult==1&&child==null){
                str+=". I will be travelling alone"
                }else if(adult>1){
                    str+=".We will have a group of "+adult+" adults ";
                }
                if(child==null){
                    str+=".";
                }else if(child>1){
                    str+="along with "+child+" children.";
                }else if(child==1){
                    str+="along with a child.";
                }
            }

            if(comment.length>0){
                str+="%0D%0A"+comment+"."
            }

            if(warning.length>0){
                alert(warning)
            }
            else{
            str+="%0D%0ARegards,%0D%0A"+name;
            document.getElementById('send').href=str;
            }
    }

答案 3 :(得分:1)

或者您可以创建一个带有操作的表单:mailto

<form action="mailto:rohit@k.com"> 

检查一下。

http://webdesign.about.com/od/forms/a/aa072699mailto.htm

但这实际上是通过电子邮件提交表格。这就是你想要的吗? 您也可以只使用

<button onclick="">然后用一些javascript来解决这个问题。

你可以使<a>看起来像按钮。 可以有很多方法来解决这个问题。做一点搜索。

答案 4 :(得分:1)

只需包含&#34; a&#34;标记在&#34;按钮&#34;标签

<button><a href="mailto:..."></a></button>

答案 5 :(得分:1)

基于html的电子邮件创建表单中的可能字段的完整列表:

  • 受试者
  • CC
  • BCC

<form action="mailto:youraddr@domain.tld" method="GET"> <input name="subject" type="text" /></br> <input name="cc" type="email" /><br /> <input name="bcc" type="email" /><br /> <textarea name="body"></textarea><br /> <input type="submit" value="Send" /> </form>

https://codepen.io/garfunkel61/pen/oYGNGp