如何创建你自己的Ajax联系表
2008年10月27日,由菲利普Beel · 6评论
AJAX (异步JavaScript和XML)已成为一个非常流行的工具,在网页设计。 本教程将教你如何使用PHP和jQuery AJAX接触形式。 在行动中的代码在这里。
第1步 - 在HTML
要关闭启动的事情让我们创建一个新文件,并调用它 contact.html,它里面 我们要创建一个简单的HTML表单,像这样:
<div class="loader"> </ DIV> <div class="bar"> </ DIV> <div id="container"> <表格ID =“的ContactForm”方法=“”行动=“mail.php” > <P> <label for="name">名称</标签> <input id="name" name="name" /> </ P> <P> <label for="email">电子邮件< /标签> <input id="email" name="email" </ P> <P> <label for="message">您的留言</标签> <textarea的ID =“消息”名称=“消息”行=“4”COLS =“30”> </ TEXTAREA> </ P> <P> <input class="submit" type="submit" value="submit"/> </ P> </ FORM> < / DIV> 现在我们有一个标准的接触形式,将提交到mail.php
第2步 - PHP的
现在我们要创建一个PHP文件,称为mail.php这我们的形式将处理结果。
<?PHP / /声明变量 $ NAME = $ _GET ['名称']; $电子邮件= $ _GET [“电子邮件”]; $注释= $ _GET [“评论”]; / /获取今天的日期 todayis = DATE(“L,F J,Y,G:IA”); / /设置消息的标题 $主题=“消息”; $消息=“消息:$注释\ r \ n从:$ NAME \ R \ N回复:$电子邮件”; / /把你的电邮地址 邮件(“ [电子邮件保护] “为主题,消息); ?> < - !显示在回调三江源消息 - > <H1> <SPAN>谢谢<h10> <?PHP的echo $名字?> </ H10> </ SPAN> </ H1> <P> <SPAN>您的信息将尽快回答。</ SPAN> </ P> <H3>消息发送:</ H3> <P> <SPAN> <?PHP的echo $ todayis?> </ SPAN> </ P>
在此页中,我们创建一些变量,它收集的姓名,电子邮件和即时消息的形式,然后使用PHP的mail ( )函数将发送到指定的电子邮件地址。 为了本教程中,我已经使用[电子邮件保护] 但你可以使用任何你喜欢的。
一旦这一切都已经执行,我们将显示一个感谢你的消息。 使用我们收集的一些信息。
第3步 - jQuery的
现在到了巧妙的一部分。 要开始,我们将需要包括jQuery框架。 你可以从这个jQuery的网站,然后将其附加像这样。
<script type="text/javascript" src="yourDirectory/jquery.js"> jQuery是一个JavaScript框架,创建使生活变得更加简单,如果你首次使用它,检查了15天的 jQuery 。 我们要创建一个函数来发送我们的形式我们没有考虑到另一页。 我们可以像这样做。
/ /进行页面加载$(函数(){/ /触发AJAX提交$('#的ContactForm“)提交(函数(){/ /隐藏窗体$('#的ContactForm”),隐藏()。 / /显示加载栏$('装载机。“)追加($('.栏”)); $('酒吧'{:块“); / /发送Ajax请求。)CSS(显示}。” $。得到(“mail.php',{名:$('#名称”)。VAL(),电子邮件:$('#电子邮件“)。VAL()评论:$('#消息”)。VAL ()} / /返回数据的功能(数据){/ /隐藏图形$('吧。“)CSS({显示:”无“。}); $('。装载机”)追加(数据) ;}); / /留在页面上返回false;});}); 此代码将表单被提交时触发的事件,这将隐藏的形式和显示加载栏。 美元。get()方法是行,使Ajax调用mail.php通过GET方法发送的形式详细介绍。 一旦AJAX已成功的结果将显示在屏幕上。 这注入的内容mail.php contact.html页。
第4步 - 的CSS
最后一步是添加一些CSS样式的形式,以确保我们能正确显示和隐藏的东西。 它不是一个neccesity,但它使我们看起来更整洁。
BODY { 字体家庭:黑体; } 。装载机{ } 。栏{ 显示:无; 背景:网址(AJAX loader.gif“)不重复; 保证金左:20像素; 保证金:50像素; 高度:20像素; 宽度:230px; } #的ContactForm { 浮动:左; 位置:相对; 背景颜色:#fdfdfd; 高度:200像素; } #集装箱{ 填充:20像素; 浮动:左; 位置:相对; 高度:200像素; 宽度:100像素; }
第5步 - 把它在一起
如果你把所有的代码放在一起,你contact.html看起来应该像这样。
<HTML> <HEAD> <script type="text/javascript" src="../jquery.js"> </ SCRIPT> <script type="text/javascript"> / /进行页面上的负载(功能(){/ /触发AJAX提交$('#的ContactForm“)提交(函数(){/ /隐藏的形式$('#的ContactForm”)隐藏(); / /显示加载栏$(“。装载机“。)追加($('.栏”)); $('。栏“),CSS({显示:”块“}); / /发送Ajax请求$('mail.php', {:$('#名称名称“)。VAL(),电子邮件:$('#电子邮件”)。VAL(),评论:$('#消息“)。VAL()} / /返回数据的功能(数据){/ /隐藏图形$('吧。“)CSS({显示:”无“});。$(”。装载机“)追加(数据);}); / /留在页面上返回false;});}); </ SCRIPT> <style type="text/css"> BODY {字体家庭:。栏黑体;}装载机{} {显示:无;背景:URL(“AJAX loader.gif“)不重复;保证金左:20像素;保证金顶:50像素,高度:20像素,宽度:230px;}#的ContactForm:左位置:亲属;背景色:#fdfdfd;高度: 200像素;}#集装箱{填充:20像素;浮动:左;位置:相对高度:200像素,宽度:100像素;} </ STYLE> </ HEAD> <BODY> <div class="loader"> </ DIV> <div class="bar"> </ DIV> <div id="container"> <form id="contactForm" method="" action="mail.php"> <P> <label for="name">名称</标签> <input id="name" name="name" /> </ P> <P> <label for="email">电子邮件</标签> <输入ID =“电子邮件”名称= “电子邮件”/> </ P> <P> <label for="message">您的留言</标签> <textarea id="message" name="message" rows="4" cols="30"> < / TEXTAREA> </ P> <P> <input class="submit" type="submit" value="submit"/> </ P> </ FORM> </ DIV> </ BODY> </ HTML> 因此,只用2文件,我们已经创建了你自己的强大的AJAX conatct形式。 它的一个简单的。 下载的代码 ,并亲身体验。










下一步是添加一些验证,如验证一个问题,你问用户的基础上的另一个领域。
甜及简单的教程一个很基本的形式... ...
形式的attr方法得到了岗位价值..在PHP文件中使用的全局变量$ _GET .. 为什么呢?
您好Monkeytail,在这里我们使用一个提交功能,捕获的形式生效前,任何地方,所以被忽略后,但我可以看到为什么会看起来混乱。 美元。get()方法指定一个触发Ajax请求时获得的方法,因此我们在mail.php使用$ _GET全局变量来捕捉信息。 谢谢的问题
如果有人想在自己的PHP中使用的$ _POST jQuery代码:
$。AJAX({
类型:'POST',
网址:“mail.php”
数据:“名称='+ $(”#NAME“)VAL()+
“和电子邮件='+ $('#电子邮件”)。VAL()+
“及评论=”+ $(“#消息”)。VAL()},
成功:功能(数据){
$('酒吧。“)CSS({显示:”无“});
$(“装载机”。)追加(数据);
返回false;
}
});
使用后会留下一个备用选项,如果有人的JavaScript关闭,并点击提交(返回false将不经过表单的动作将运行)。 您还必须改变形式的方法后。
Theres在打字错误:
“
第2步 - PHP的
<?PHP
/ /声明变量
$ NAME = $ _GET ['名称'];
$电子邮件= $ _GET [“电子邮件”];
$消息= $ _GET [“评论”];
“
美元的消息,已经有$评论。
尼斯啧啧。 Thanx。
您好... ...感谢你。 您的文章,用jQuery解决我的问题。