我是电话差距的新手。我正在开发一个应用程序,我正在注册页面。我写下面的代码用于将表单数据提交给服务器。它工作得很好。 但我的问题是在提交表格后重定向到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>
答案 0 :(得分:0)
我建议你使用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/