在js脚本的末尾调用php脚本

时间:2012-05-13 20:16:59

标签: php javascript ajax

我想知道如何从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脚本。

感谢。

2 个答案:

答案 0 :(得分:3)

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

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

然后mail.php将获取信息,您可以随心所欲地做任何事情。

ADDED

在JavaScript中提交form

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);

答案 1 :(得分:0)

您的表单标记缺少操作属性:

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

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

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


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

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

注意:

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