2013-03-04 3 views
1

Последняя тема была пронизана ошибками, ошибся при вставке.Отправка формы PHP с помощью PhoneGap

Чтобы начать, я играл с PhoneGap, и в конце концов я пытаюсь создать приложение с формой контакта, которая отправит результаты по электронной почте по моему выбору (вместе с изображением (или опубликовать результаты на сервере)

Я нашел this, и я пытаюсь воспроизвести его, чтобы получить ощущение начала работы моей формы, однако я не могу показаться чтобы запустить его.

Это шаг за шагом того, что у меня есть.

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("[email protected]", "Gabe"); 
    $mailer->Subject="Mobile App Message"; 
    $mailer->From = '[email protected]'; 
    $mailer->Body = $MessageText; 


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

?> 

index.js (где im, сохраняя мой 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; 
      } 
    }); 
    }); 
}); 

Я пробовал следующие шаги: here и here, но не могу понять, что случилось ... Когда я попал в submit, абсолютно ничего не происходит.

Мой файл PHP работает, и если я отправлю его через this, он повторяет успех и отправляет электронное письмо.

Если я изменяю свой php для отправки вместо кнопки, он работает, но это просто использование html и php, а не собственно JS самого приложения.

+0

Есть ли в вашей Ошибка консоли JS? – BenOfTheNorth

+0

TIMEOUT ERROR :( –

+0

О, его высказывание Невозможно открыть файл для чтения. –

ответ

1

Прежде всего, я не думаю, что запрос будет разрешен, если ваш домен не включен в белый список config.xml.

Я не могу сказать из вашего текста, на каком устройстве ваш пример терпит неудачу - если бы я был в android, я бы просто grep выводил вывод logcat для любых ошибок, которые CordovaWebView пошлет туда по умолчанию.

+0

Добавлено домен в белый список, теперь его пропуск прямо до ошибки, как только я запускаю приложение –

+0

-> Если я раскомментировал это, он сразу же ошибся. –

+0

Я ждал вас добавить s.th. например . Никогда не видел тег contant, который вы описываете. Кроме того: Каков тип ошибки, что она говорит? Какую платформу/устройство вы тестируете? – Philzen

0

В вашем HTML файл, ваш входной тип = «кнопка» должен был тип ввода = «отправить», попробовать это я имел эту проблему несколько раз сам ....

Смежные вопросы