我有一个非常奇怪的问题
我正在使用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"; } ?>