我有一个非常奇怪的问题
我正在使用phonegap在HTML5中构建一个移动应用程序,将其编译为本机应用程序.
在该应用程序内部是一个联系表单,我无法让它工作.我尝试了我能想到的一切.但每次我提交表格我都会在屏幕上收到PHP部分的代码.
显然,该应用程序在浏览器上运行良好,但不在我的iPhone上.
我甚至尝试使用iframe并在那里添加表单,结果相同.
所以我的问题是.如何在我的应用程序中添加联系表单(需要将用户信息发送到客户端电子邮件)
任何帮助将受到高度赞赏
谢谢
解决方法
如果采用整体方法(html5通过Titanium / Phonegap本地化),你的结构应该是这样的
- /projects/apps/html5app/index.html
- /projects/apps/html5app/contact.html
- /projects/apps/html5app/assets/js/phonegap.js
- /projects/apps/html5app/assets/js/jquery.js
- /projects/apps/html5app/assets/css/css.css
- /projects/apps/html5app/assets/images/logo.jpg
- /projects/apps/html5app/assets/images/button.jpg
在contact.html中,您需要指向带有PHP文件的实时服务器
- <form action="https://service.cdn-app.com/contact-form.PHP" method="get">
然后使用回发在AJAX或JSON中提交感谢页面,这样就不会提示用户离开应用程序.
或者UPDATE – 更简单的方法就是这样做按钮
- <input type="button" onclick="submit()" value="submit contact"/>
然后在你的jQuery你可以做他们的动作(他们不会离开你的应用程序,你可以触发替换div与谢谢等)
//启动jQuery表单流程引擎
jQUERY示例
- $.post('https://service.cdn-app.com/contact-form.PHP',{
- // These are the names of the form values
- FirstName: $('#FirstName_input').val(),LastName: $('#LastName_input').val(),Email: $('#Email_input').val(),MessageText: $('#MessageText_input').val()
- // HTML function
- },function (html) {
- // Place the HTML in a astring
- var response=html;
- // PHP was done and email sent
- if (response=="success") {
- alert("Message sent!");
- } else {
- // Error postback
- alert("Sorry please fill all fields!");
- return false;
- }
- });
PHP SAMPLE
- <?PHP
- // VARS
- $FirstName=$_GET["FirstName"];
- $LastName=$_GET["LastName"];
- $Email=$_GET["Email"];
- $MessageText=$_GET["MessageText"];
- $Headers = "From:" . $Email;
- //VALIDATION
- if(
- $FirstName=="" ||
- $LastName=="" ||
- $Email=="" ||
- $MessageText==""
- ) {
- echo "Error";
- } else {
- mail("youradmin@cdn.com","mobile app message",$MessageText,$Headers);
- echo "Success";
- }
- ?>