簡體   English   中英

將數據從PhoneGap應用程序發布到服務器

[英]Posting data from a PhoneGap app to a server

我是電話缺口的新手。 我正在開發一個具有注冊頁面的應用程序。 我編寫了以下代碼,用於將表單數據提交到服務器。 它工作正常。 但是我的問題是,提交表單后,它重定向到了我在“操作”中提供的URL。

現在,我想在成功將數據提交到服務器而不重定向到URL后顯示警報。如何實現?

<script>
function validateUserName(regform)
{
    var u = document.forms["regform"]["usr"].value
    var uLength = u.length;
    var illegalChars = /\W/; // allow letters, numbers, and underscores
    if (u == null || u == "")
     {
       alert("You left Username field empty");
       return false;
     }
    else if (uLength <4 || uLength > 11)
     {
       alert("The Username must be between 4 and 11 characters");
       return false;
     }
    else if (illegalChars.test(u)) 
     {
       alert("The username contains illegal characters");
       return false;
     }
    else
     {
        return true;
     }
}

function validatePassword(regform)
 {
   var p = document.forms["regform"]["pass"].value
   var cP = document.forms["regform"]["cop"].value
   var pLength = p.length;
    if (p == null || p == "")
     {
      alert("You left the password field empty");
      return false;
     }
  else if (pLength < 6 || pLength > 20)
   {
     alert("Your password must be between 6 and 20 characters in length");
     return false;
   }
  else if (p != cP)
  {
    alert("Th passwords do not match!");
    return false;
  }
 else
  {
    return true;
  }
}

function validateMobileNumber(regform)
  {
    var f = document.forms["regform"]["mob"].value;
    var mLength = f.length;

    if(mLength < 10)
   {
     alert("Please Enter A Valid Mobile Number");
     return false;
   }
    else 
   {
    return true;
   }
}

function validateForm() {
    if(validateUserName() && validatePassword() && validateMobileNumber())
    return true;
else 
    return false;
}

</script>
</head>
<body>
<h1>Registration</h1>
<form name="regform" onsubmit="validateForm()" action="URL" method="post">
<table>
<tr>
    <td><label>Username:</label></td>
    <td><input type="text" name="usr"/></td>
</tr>
<tr>
    <td><label>Password:</label></td>
    <td><input type="password" name="pass"/></td>
</tr>
<tr>
    <td><label>Confirm Password:</label></td>
    <td><input type="password" name="cop"/></td>
</tr>
<tr>
    <td><label>Mobile Number:</label></td>
    <td><input type="text" name="mob"/></td>
</tr>
<tr>
<td></td>
    <td><input  type="submit" onclick = "return validateForm();" value="Register" class="row1" method="post"/>
    </td>
    </tr>
    </table>
</form>
 </body>
 </html>

我建議您使用ajax。 添加每個輸入字段的ID。

javascript

formData = {
    // all your parameters here
    usr: $("#usr"),
    pass: $("#pass"),
    cop: $("#cop"),
    mob: $("#mob")

}
$.ajax({
    type: 'POST',
    contentType: 'application/json',
    url: "URL",
    dataType: "json",
    data: formData,
    success: function(data) {
        //success handling
    },
    error: function(data) {
        //error handling
    }
});

所有這些函數返回true后,您將運行此腳本

validateUserName()
validatePassword()
validateMobileNumber()

確保您使用JSON格式進行請求和響應。 否則,它將無法正常工作。 轉換您的php邏輯,以便可以使用JSON格式請求和響應數據。

參考: http : //www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM