2012-09-26 33 views
2

I'm有一個非常奇怪的問題PhoneGap的接觸形式沒有結束PHP工作

I'm使用PhoneGap的把它編譯成一個原生應用HTML5構建一個移動應用程序。

裏面的應用程序是一個聯繫表單,我不能讓它工作。我試過了我能想到的一切。但每次我提交表單時,我都會在屏幕上收到php部分的代碼。 很明顯,該應用程序在瀏覽器上工作得很好,但不在我的iphone上。

我甚至嘗試過使用iframe並在那裏添加表單,結果相同。

所以我的問題是。我如何添加聯繫人的形式(需要發送用戶信息給客戶的電子郵件),我的應用程序內

任何幫助將高度讚賞

感謝

回答

3

你的結構應該是這樣的,如果這樣做全面的方法(通過鈦/ PhoneGap的HTML5原生)

/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中的感謝頁面,以便不提示用戶離開應用程序。

或者更新 - 更簡單的方法就是做這樣的

<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示例

<?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("[email protected]","mobile app message",$MessageText, $Headers); 
     echo "Success"; 
    } 
?> 
+0

您的歡迎。 jQuery回傳是最好的解決方案 - 使它們保持在應用程序中,並創建良好的用戶界面和用戶體驗感受。 – TheBlackBenzKid

+0

感謝您的回答 我還有幾個問題。 1.我在哪裏可以得到phonegap.js 2.我可以簡單地將jquery示例複製/粘貼到我的jquery.js中 3.我的PHP鏈接應該是$ .post('http://xxxx.com /contact-form.php',{和

或者我需要創建2個PHP文件submit-action.php和contact-form.php 4.是否需要遵循上面描述的結構,或者我可以使用不同的文件夾結構 對不起,這些轉儲的問題,但我有點不知所措 – AlicaIM

+0

1 - Phonegap.js是通過您使用的IDE軟件生成的,除非您使用手冊。2 - 複製並粘貼jQuery 3 - 鏈接到PHP應該是相同的,對不起,我寫的方式 - 只是示例虛擬數據 - 需要相同的形式!最後4文件夾結構是一個建議,也給你一個清晰的看法..有時看到這樣的文件夾結構幫助.. – TheBlackBenzKid