1

最後のスレッドはエラーだらけで、貼り付けを間違えました。

手始めに、私は PhoneGap をいじってみましたが、最終的にやろうとしているのは、選択した電子メールに結果を (カメラで撮影した写真と共に) 電子メールで送信する連絡フォームを備えたアプリを構築することです。 app) (または結果をサーバーに投稿することもできます)

これを見つけて、自分のフォームがどのように機能するかの最初の感触を得るためにそれを複製しようとしましたが、実行できないようです.

これまでに私が持っているもののステップバイステップです。

Index.html -> callsheet.html へのリンクのみ

callsheet.html

    <!DOCTYPE html>
<html>
  <head>
    <title>Send in CallSheet</title>

    <script type="text/javascript" charset="utf-8" src="js/cordova-2.5.0.js"></script>
    <script type = "text/javascript" charset="utf-8" src="js/index.js"></script>
    <script type="text/javascript" charset="utf-8">


    // Wait for Cordova to connect with the device
    //
    document.addEventListener("deviceready",onDeviceReady,false);
</script>

  </head>
  <body>
<form action="http://contest.phoenixamd.com/ANDROIDTEST/callsheet.php" method="post">
          <div class="form-element">

        <label for="msg">Message</label>
        <textarea id="msg" name="msg" placeholder="required" rows="5" required ></textarea>
      </div>
      <input type="button" value="submit contact"/>
      </form>
  </body>
</html>

callsheet.php (リモートサーバー上)

    <?php
    require_once("class.phpmailer.php");


    $MessageText=$_POST["msg"];


    $mailer = new PHPMailer();
    $mailer->isSMTP();
    $mailer->CharSet='utf-8';
    $mailer->AddAddress("gabesteinberg@me.com", "Gabe");
    $mailer->Subject="Mobile App Message";
    $mailer->From = 'test@phoenixamd.com';
    $mailer->Body = $MessageText;


    //VALIDATION
    if(
    empty($MessageText)
    ) {
        echo "Error";
    } else {
        $mailer->Send();
        echo "Success";
    }

?>

index.js (jquery を保持している場所)

    // When the document has loaded...
$(document).ready(function() {
  // Bind this action as a function to be executed when the button is clicked...
  $('input[type="button"][value="submit"]').click(function() {
    $.post('http://contest.phoenixamd.com/ANDROIDTEST/callsheet.php', {


      MessageText: $('#msg').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("Please fill all fields!"); 
            return false;
          }
    });
  });
});

ここここで行った手順に従ってみましたが、何が問題なのかわかりません...送信を押しても、まったく何も起こりません。

私のPHPファイルは機能し、これを介して送信すると、成功がエコーされて電子メールが送信されます。

ボタンの代わりに送信するようにphpを変更すると機能しますが、それはアプリ自体の実際のJSではなく、htmlとphpを使用するだけです。

4

2 に答える 2

1

まず、あなたのドメインがホワイトリストに登録されていない場合、リクエストは許可されないと思いますconfig.xml

あなたの例が失敗したデバイスのテキストからはわかりません.Androidを使用している場合、エラーのlogcat出力をgrepするだけで、CordovaWebViewがデフォルトでそこに送信します。

于 2013-03-04T01:22:33.137 に答える
0

HTML ファイルでは、input type="button" は input type="submit" である必要があります。これを試してみてください。この問題は自分で数回経験しています。

于 2014-03-16T14:38:07.763 に答える