1

上一个帖子出错了,粘贴的时候出错了。

一开始,我一直在玩 PhoneGap,我最终要做的是构建一个带有联系表格的应用程序,它将结果通过电子邮件发送到我选择的电子邮件中(以及在相机中拍摄的照片)应用程序)(甚至将结果发布到服务器)

我发现了这一点,并且一直在尝试复制它,以初步了解我的表单将如何工作,但是,我似乎无法让它运行。

这是我到目前为止所拥有的一步一步。

Index.html -> 只是指向 callsheet.html 的链接

调用表.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 更改为提交而不是按钮,它可以工作,但这只是使用 html 和 php,而不是应用程序本身的实际 JS。

4

2 回答 2

1

首先,如果您的域未列入白名单,我认为不会允许该请求config.xml

我无法从您的文本中看出您的示例在哪个设备上失败 - 如果我在 android 上,我只需 grep logcat 输出以查找任何错误,默认情况下 CordovaWebView 将发送到那里。

于 2013-03-04T01:22:33.137 回答
0

在您的html文件中,您的输入类型=“按钮”应该是输入类型=“提交”,试试这个我自己也遇到过几次这个问题......

于 2014-03-16T14:38:07.763 回答