-6

我想知道如何从 javascript 调用 php 脚本,我知道您打算使用 AJAX,但我无法让它工作。

我有一个 html 中的联系我表单,onClick 会激活一个 JavaScript 脚本,该脚本验证输入到不同字段中的值。

如果一切都有效,我希望它调用一个名为 mail.php 的 php 脚本,该脚本会发送一封电子邮件。

html、javascript 和 php 脚本都可以工作,只是这一点我不确定。

形式:

    <form name="mail" id="mail" method="post">
        <textarea class="message" name="message" id="message">Input message to send here.</textarea>
          <div class ="type">
          <h2>Contact</h2><br /><br />
          <h3>Name</h3><br />
          <h3>Email</h3><br />
          <h3>Subject</h3><br />
          <div class="text-boxes">
             <input type="text" class="input-text" name="name" id="name"/><br /><br />
             <input type="text" class="input-text" name="email" id="email"/><br /><br />
             <input type="text" class="input-text" name="subject" id="subject"/><br /><br />
          </div>
          <div class="submit">
             <input type="image" src="images/submit.gif" alt="Submit button" onClick="validate(this.form)"/>
          </div>
     </form>

提交时,表单调用 js 脚本。

谢谢。

4

2 回答 2

3

你应该submit表格。(或使用 JavaScript 验证表单然后提交)

<form id="email_form">
    <input name="name">
    <input type="submit" id="submit_btn">
</form>

然后mail.php会得到信息,你可以在那里做任何你想做的事情。

添加

form在 JavaScript 中提交:

document.querySelector("#submit_btn").addEventListener("click",function(e){
    var form = document.querySelector("#email_form");  //Select the form
    form.submit();                            //Submit it (very self-explanatory)
    e.preventDefault();
},false);
于 2012-05-13T20:18:59.833 回答
0

您的表单标签缺少 action 属性:

<form name="mail" id="mail" method="post" action="mail.php">

没有它,表单将不会提交到任何地方!

请注意,mail.php应该与您的html文件位于同一文件夹中。


此外,要使用 JavaScript 提交,在您验证所有字段后,您可以:

document.forms["mail"].submit();

笔记:

如果您发布您的 javascript 和 PHP,可以提供更好的帮助!

于 2012-05-13T20:41:52.373 回答