下拉菜单更改表单中的电子邮件



<FORM METHOD="POST" ACTION="mailto:mariamcsorley@hotmail.com">
<p> Name: <INPUT TYPE="text" NAME= "name" SIZE="30"> </p>
<p> Email: <INPUT TYPE="text" NAME= "email" SIZE="30"> </p>
<p> Phone: <INPUT TYPE="text" NAME= "telephone" SIZE="30"> </p>
<p> Practice: <SELECT NAME= "practice" SIZE="1">
<OPTION SELECTED>*Select Practice*
<OPTION>Dungannon
<OPTION>Cookstown
<OPTION>Coalisland
<OPTION>Portnaglone
<OPTION>Aughnacloy
</SELECT> </p>
<p> Species: <SELECT NAME= "species" SIZE="1">
<OPTION SELECTED>*Select Species*
<OPTION>Small Animal
<OPTION>Equine
<OPTION>Farm
<OPTION>Pig
<OPTION>Poultry
</SELECT> </p>
<p> Preferred Date: <SELECT NAME= "day" SIZE="1">
<OPTION SELECTED>*Day* <OPTION>01 <OPTION>02 <OPTION>03 <OPTION>04 <OPTION>05 <OPTION>06 <OPTION>07 <OPTION>08 <OPTION>09 <OPTION>10 <OPTION>11 <OPTION>12 <OPTION>13 <OPTION>14 <OPTION>15 <OPTION>16 <OPTION>17 <OPTION>18 <OPTION>19 <OPTION>20 <OPTION>21 <OPTION>22 <OPTION>23 <OPTION>24 <OPTION>25 <OPTION>26 <OPTION>27 <OPTION>28 <OPTION>29 <OPTION>30 <OPTION>31 </SELECT>
<SELECT NAME="month" SIZE="1">
<OPTION SELECTED>*Month* <OPTION>Jan <OPTION>Feb <OPTION>Mar <OPTION>Apr <OPTION>May <OPTION>Jun <OPTION>Jul <OPTION>Aug <OPTION>Sep <OPTION>Oct <OPTION>Nov <OPTION>Dec </SELECT>
<SELECT NAME="year" SIZE="1">
<OPTION SELECTED>*Year* <OPTION>2016 <OPTION>2017 <OPTION>2018 <OPTION>2019 <OPTION>2020 <OPTION>2021 <OPTION>2022 <OPTION>2023 <OPTION>2024 <OPTION>2025 <OPTION>2026 <OPTION>2027 </SELECT> </p>
<p> Preferred Time: <SELECT NAME="hour" SIZE="1">
<OPTION SELECTED>*Hour* <OPTION>08 <OPTION>09 <OPTION>10 <OPTION>11 <OPTION>12 <OPTION>13 <OPTION>14 <OPTION>15 <OPTION>16 <OPTION>17 <OPTION>18 <OPTION>19 <OPTION>20 </SELECT>
<SELECT NAME="minute" SIZE="1">
<OPTION SELECTED>*Minute* <OPTION>00 <OPTION>15 <OPTION>30 <OPTION>45 </SELECT> </p>
<p> Details: <TEXTAREA NAME="details" ROWS=6 COLS=40>
</TEXTAREA> </p>
<INPUT TYPE="submit">
</form>

您好,有什么方法可以使用 php 或函数来更改电子邮件,因为做法发生了变化。例如,当从练习下拉菜单中选择Dungannon时,dungannon@dungannon.com 通过电子邮件发送,当选择Coalisland时,它会通过电子邮件将表格发送给 coalisland@coalisland.com?

我对此一无所知,所以一直在试图弄清楚并谷歌搜索解决方案,但我似乎无法得到任何东西 - 任何帮助都非常感谢......谢谢!

更改您的 html 代码

<INPUT TYPE="text" id="email" NAME= "email" SIZE="30"> <br>

 Practice: <SELECT NAME= "practice" SIZE="1"onChange="getData(this);">
      <OPTION SELECTED>*Select Practice*
      <OPTION>Dungannon
      <OPTION>Cookstown
      <OPTION>Coalisland
      <OPTION>Portnaglone
      <OPTION>Aughnacloy
</SELECT> 

Javascirpt 代码

function getData(title)
{
     var selectedText = title.options[title.selectedIndex].text
     var emailValue="";
     if(selectedText=="Dungannon")
     {
         emailValue = "dungannon@dungannon.co.uk";
     }
     else if(selectedText=="Cookstown"){
         emailValue= "cookstown@cookstown.co.uk";
     }
     document.getElementById("email").value = emailValue;
 }

这是工作代码笔

要在表单元素中设置电子邮件地址,请修改 html 以包含 onchange 事件处理程序,如下所示,然后在下面添加 javascript。

<p> practice: <select name="practice" onchange='setemail(this.value)'>
    <option selected hidden='true'>*select practice*
    <option value='dungannon'>dungannon
    <option value='cookstown'>cookstown
    <option value='coalisland'>coalisland
    <option value='portnaglone'>portnaglone
    <option value='aughnacloy'>aughnacloy
</select> </p>
<script>
    function setemail(value){
        /* to change form action */
        document.querySelectorAll('form[name="frmhot"]')[0].setAttribute('action','mailto:'+value+'@'+value+'.co.uk' );
        /* to set value of text field called `email` */
        document.querySelectorAll('form[name="frmhot"] input[type="text"][name="email"]')[0].value=value+'@'+value+'.com';
    }
</script>

我注意到表单方法已更改为您的电子邮件地址 - 我不是 100% 确定这会按您的预期工作,但如果您希望更改表单操作而不是/或以及更改表单中电子邮件字段的值,则需要对 javascript 函数进行轻微修改。

将表单操作设置为mailto很可能会调用客户端计算机上的邮件客户端(不确定它在移动设备上的工作方式( - 这是预期的操作方法还是应该直接发送电子邮件?


从@OP:

它适用于一个应用程序,所以我有一页代码来执行此操作,因此如果要执行功能,则必须将标签放入。我一无所知,但是当您单击提交时,我希望它能够更改为通过电子邮件发送练习。我解释得对吗?

最新更新