0

必须使用 html5 在 phonegap 中设计一个应用程序,其中必须从表单中收集一些数据并存储在数据库中。
问题是,我怎样才能在不使用 php 和 'post' 方法的情况下从表单中获取这些数据..?
假设用户必须在继续之前登录,现在我如何从表单中获取用户名和密码并将其与数据库匹配。问题不在于

4

1 回答 1

1

Phonegap 是完整的 javascript api。你不会有一个带有 html 表单发送请求/响应的系统。您必须以使用服务的方式设计您的应用程序。尝试添加一些 JavaScript 库,如jquery mobilesencha或只是jquery(如下面的示例)来帮助您的工作。这些库与 Phonegap 一起工作得很好(而 sencha 是最优化的)。

  • 写下你的服务端;它可能只是简单的 php 页面,可以像标准的 html 应用程序一样处理表单参数。你需要一个服务器端来访问数据库;因此,将此文件托管在应用程序可以访问的某个 php/apache 上。

--

<?php 
   /* mySaveService.php */
   /* do something like $_GET['param1'] mysql_connect() / mysql_query() and all the stuff */
?>

--

  • 设计客户端的视图,您可以编写裸 html 代码或使用 Sencha 之类的框架(更简洁、更难的方式)。

--

<form>
  <input type="text" name="param1" value="" />
  <input type="button" class="submit" value="send" />
</form>

--

  • 在您的表单提交或提交按钮单击上添加一个侦听器:

--

$('form .submit').click( function() {
  saveInDb($(this).parents('form:first'));
});

--

  • 编写一个 javascript 函数,该函数使用表单数据发送ajax 调用。url 不会在同一个域中,一定要允许跨域请求。

--

saveInDb = function($form) {   
  var myParams = array();   
  $form.find('input').each(function() {
    myParams[$(this).attr('name')] = $(this).val(); 
  });   
  $.ajax({
    url: 'http://domain.com/mySaveService.php',
    data: myParams,
    success: myCallback
  });   
}

--

  • 不要忘记编写回调函数,以提醒用户一切正常

--

myCallback = function() {
  alert('It works');
}

--

  • 或者,如果您不需要在一个地方收集所有表单的数据,您可以直接使用localstorage

我希望它会有所帮助。问候

于 2012-05-16T08:08:57.143 回答