设为首页 收藏本站
查看: 310|回复: 0

[经验分享] 点击弹出层ajax php jquery 发送表单

[复制链接]

尚未签到

发表于 2017-4-8 12:56:32 | 显示全部楼层 |阅读模式
点击弹出层ajax php jquery 发送表单
 
DSC0000.jpg
演示
 
JavaScript Code

  • <script type="text/javascript">  
  •   
  • var messageDelay = 2000;  // How long to display status messages (in milliseconds)  
  •   
  • // Init the form once the document is ready  
  • $( init );  
  •   
  •   
  • // Initialize the form  
  •   
  • function init() {  
  •   
  •   // Hide the form initially.  
  •   // Make submitForm() the form's submit handler.  
  •   // Position the form so it sits in the centre of the browser window.  
  •   $('#contactForm').hide().submit( submitForm ).addClass( 'positioned' ); 
  •  
  •   // When the "Send us an email" link is clicked: 
  •   // 1. Fade the content out 
  •   // 2. Display the form 
  •   // 3. Move focus to the first field 
  •   // 4. Prevent the link being followed 
  •  
  •   $('a[href="#contactForm"]').click( function() { 
  •     $('#content').fadeTo( 'slow', .2 ); 
  •     $('#contactForm').fadeIn( 'slow', function() { 
  •       $('#senderName').focus(); 
  •     } ) 
  •  
  •     return false; 
  •   } ); 
  •    
  •   // When the "Cancel" button is clicked, close the form 
  •   $('#cancel').click( function() {  
  •     $('#contactForm').fadeOut(); 
  •     $('#content').fadeTo( 'slow', 1 ); 
  •   } );   
  •  
  •   // When the "Escape" key is pressed, close the form 
  •   $('#contactForm').keydown( function( event ) { 
  •     if ( event.which == 27 ) { 
  •       $('#contactForm').fadeOut(); 
  •       $('#content').fadeTo( 'slow', 1 ); 
  •     } 
  •   } ); 
  •  
  • } 
  •  
  •  
  • // Submit the form via Ajax 
  •  
  • function submitForm() { 
  •   var contactForm = $(this); 
  •  
  •   // Are all the fields filled in? 
  •  
  •   if ( !$('#senderName').val() || !$('#senderEmail').val() || !$('#message').val() ) { 
  •  
  •     // No; display a warning message and return to the form 
  •     $('#incompleteMessage').fadeIn().delay(messageDelay).fadeOut(); 
  •     contactForm.fadeOut().delay(messageDelay).fadeIn(); 
  •  
  •   } else { 
  •  
  •     // Yes; submit the form to the PHP script via Ajax 
  •  
  •     $('#sendingMessage').fadeIn(); 
  •     contactForm.fadeOut(); 
  •  
  •     $.ajax( { 
  •       url: contactForm.attr( 'action' ) + "?ajax=true", 
  •       type: contactForm.attr( 'method' ), 
  •       data: contactForm.serialize(), 
  •       success: submitFinished 
  •     } ); 
  •   } 
  •  
  •   // Prevent the default form submission occurring 
  •   return false; 
  • } 
  •  
  •  
  • // Handle the Ajax response 
  •  
  • function submitFinished( response ) { 
  •   response = $.trim( response ); 
  •   $('#sendingMessage').fadeOut(); 
  •  
  •   if ( response == "success" ) { 
  •  
  •     // Form submitted successfully: 
  •     // 1. Display the success message 
  •     // 2. Clear the form fields 
  •     // 3. Fade the content back in 
  •  
  •     $('#successMessage').fadeIn().delay(messageDelay).fadeOut(); 
  •     $('#senderName').val( "" ); 
  •     $('#senderEmail').val( "" ); 
  •     $('#message').val( "" ); 
  •  
  •     $('#content').delay(messageDelay+500).fadeTo( 'slow', 1 ); 
  •  
  •   } else { 
  •  
  •     // Form submission failed: Display the failure message, 
  •     // then redisplay the form 
  •     $('#failureMessage').fadeIn().delay(messageDelay).fadeOut(); 
  •     $('#contactForm').delay(messageDelay+500).fadeIn();  
  •   }  
  • }  
  •   
  • </script>  


 
XML/HTML Code

  • <div id="content">  
  •   
  •   <p style="padding-bottom: 50px; font-weight: bold; text-align: center;"><a href="#contactForm">点击这里测试</a></p>  
  •   <div id="click_area">  
  •     </div>  
  • </div>  
  •   
  • <form id="contactForm" action="processForm.php" method="post">  
  •   
  •   <h2>发送表单</h2>  
  •   
  •   <ul>  
  •   
  •     <li>  
  •       <label for="senderName">Your Name</label>  
  •       <input type="text" name="senderName" id="senderName" placeholder="Please type your name" required="required" maxlength="40" />  
  •     </li>  
  •   
  •     <li>  
  •       <label for="senderEmail">Your Email Address</label>  
  •       <input type="email" name="senderEmail" id="senderEmail" placeholder="Please type your email address" required="required" maxlength="50" />  
  •     </li>  
  •   
  •     <li>  
  •       <label for="message" style="padding-top: .5em;">Your Message</label>  
  •       <textarea name="message" id="message" placeholder="Please type your message" required="required" cols="80" rows="10" maxlength="10000"></textarea>  
  •     </li>  
  •   
  •   </ul>  
  •   
  •   <div id="formButtons">  
  •     <input type="submit" id="sendMessage" name="sendMessage" value="Send Email" />  
  •     <input type="button" id="cancel" name="cancel" value="Cancel" />  
  •   </div>  
  •   
  • </form>  
  •   
  • <div id="sendingMessage" class="statusMessage"><p>Sending your message. Please wait...</p></div>  
  • <div id="successMessage" class="statusMessage"><p>Thanks for sending your message! We'll get back to you shortly.</p></div>  
  • <div id="failureMessage" class="statusMessage"><p>There was a problem sending your message. Please try again.</p></div>  
  • <div id="incompleteMessage" class="statusMessage"><p>Please complete all the fields in the form before sending.</p></div>  


processForm.php
 
PHP Code

  • <?php  
  •   
  • // Define some constants  
  • define( "RECIPIENT_NAME""text" );  
  • define( "RECIPIENT_EMAIL""john@example.com" );  
  • define( "EMAIL_SUBJECT""freejs.net" );  
  •   
  • // Read the form values  
  • $success = false;  
  • $senderName = isset( $_POST['senderName'] ) ? preg_replace( "/[^\.\-\' a-zA-Z0-9]/"""$_POST['senderName'] ) : ""; 
  • $senderEmail = isset( $_POST['senderEmail'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderEmail'] ) : ""; 
  • $message = isset( $_POST['message'] ) ? preg_replace( "/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/", "", $_POST['message'] ) : ""; 
  •  
  • // If all values exist, send the email 
  • if ( $senderName && $senderEmail && $message ) { 
  •   $recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">"; 
  •   $headers = "From: " . $senderName . " <" . $senderEmail . ">"; 
  •   $success = mail( $recipient, EMAIL_SUBJECT, $message, $headers ); 
  • } 
  •  
  • // Return an appropriate response to the browser 
  • if ( isset($_GET["ajax"]) ) { 
  •   echo $success ? "success" : "error"; 
  • } else { 
  • ?> 
  • <html> 
  •   <head> 
  •     <title>Thanks!</title> 
  •   </head> 
  •   <body> 
  •   <?php if ( $success ) echo "<p>Thanks for sending your message! We'll get back to you shortly.</p>" ?>  
  •   <?php if ( !$success ) echo "<p>There was a problem sending your message. Please try again.</p>" ?>  
  •   <p>Click your browser's Back button to return to the page.</p>  
  •   </body>  
  • </html>  
  • <?php  
  • }  
  • ?>  


 
  
原文地址:http://www.freejs.net/article_biaodan_127.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-361994-1-1.html 上篇帖子: PHP的pack("H*", $str)转换为java函数 下篇帖子: felayman-----php_读取文件内容的三种方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表