2

私は非常に奇妙な問題を抱えています

phonegap を使用して HTML5 でモバイル アプリを構築し、ネイティブ アプリにコンパイルしています。

そのアプリ内に連絡先フォームがあり、それを機能させることができません。考えられることはすべて試しました。しかし、フォームを送信するたびに、画面にphp部分のコードが表示されます。明らかに、アプリはブラウザでは問題なく動作しますが、私の iPhone では動作しません。

私は iframe を使ってみて、そこにフォームを追加しましたが、同じ結果が得られました。

だから私の質問はです。アプリ内に連絡先フォーム (ユーザー情報をクライアントの電子メールに送信する必要があります) を追加するにはどうすればよいですか?

どんな助けでも大歓迎です

ありがとう

4

1 に答える 1

3

ホリスティックアプローチ(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で感謝ページを送信し、ユーザーがアプリを終了するように求められないようにします。

または、更新-より簡単なアプローチは、このようなボタンを実行するだけです

<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("youradmin@cdn.com","mobile app message",$MessageText, $Headers);
        echo "Success";
    }
?>
于 2012-09-26T09:01:26.420 に答える