为什么我无法获取我的联系表来发送消息?

Why cant i get my contact form to send the message?

我的联系表似乎无法正常工作。这是我的联系表格代码:

<form action="MAILTO: Dana@dogmother.ca" method="post" >
                <div class="to">
                    <input type="text" class="text" value="Name" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Name';}"style="margin-left: 10px">
                    <input type="text" class="text" value="Email" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Email';}" style="margin-left: 10px">
                </div>
                <div class="to">
                    <input type="text" class="numbers" value="Phone Number" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Phone Number';}"style="margin-left: 10px">
                    <input type="text" class="text" value="Subject" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Subject';}" style="margin-left: 10px">
                </div>
                <div class="text">
                   <textarea value="Message:" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Message';}">Message:</textarea>
                </div>
                <div>
                    <a href="#" class="submit">Submit</a>
                </div>
           </form>

我已经尝试将 mailto 更改为我的地址,但它仍然没有发送,然后我看到带有 herf link 的提交按钮,但我不知道是否需要使用或者如何使用它来使其工作。

您的提交按钮没有任何作用。尝试:

<input class="submit" type="submit" value="Send">

你应该这样做:

<form action="process.php" method="post">
    <!-- form stuff like inputs, etc. -->
</form>

并在您的 process.php 文件中使用 mail() 函数,如下所示:

mail("Dana@dogmother.ca","My subject","This is the message");

您缺少的一些东西: - 提交按钮应为输入类型提交或按钮。

<input type="submit" name="submit" value="Send" />

没有被告知采取行动的锚不会做任何事情。

  • None 个输入有名称。表单以 name/value 对形式提交。如果您不命名您的值,它将不起作用,例如:

<input name='Name' type="text" class="text" value="Name" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Name';}"style="margin-left: 10px">

请参阅 this tutorial 以了解您可能还遗漏了什么。

<form> 根据其定义仅适用于 http 协议。

要使用默认电子邮件应用程序发送电子邮件,您可以使用普通 <a> 元素并组成其 href 属性。

试试这个:

<a href="mailto:example@example.com?subject=hello&body=world">Email Me!</a>

您需要一个提交按钮,而不是 link,以及您输入的名称:

jsFiddle example

<form action="MAILTO: Dana@dogmother.ca" method="post" enctype="text/plain">
  <div class="to">
    <input type="text" class="text" name="name" value="Name" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Name';}" style="margin-left: 10px">
    <input type="text" class="text" name="email" value="Email" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Email';}" style="margin-left: 10px">
  </div>
  <div class="to">
    <input type="text" class="numbers" name="phone" value="Phone Number" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Phone Number';}" style="margin-left: 10px">
    <input type="text" class="text" name="subject" value="Subject" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Subject';}" style="margin-left: 10px">
  </div>
  <div class="text">
    <textarea value="Message:" name="message" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Message';}">Message:</textarea>
  </div>
  <div>
    <input type="submit" value="Send">
  </div>
</form>

附带说明一下,这是非常不可取的。您应该使用真正的邮件脚本,而不是依赖客户端来实际创建和发送电子邮件。