Jquery弹出表单提交
我是ajax新手,现在正在使用jquery mobile。我正在做的是在弹出窗口中创建一个登录表单,我必须编写代码使两者都能工作,但我只是不确定如何将两者连接起来,这样它才能真正工作 这是弹出的htmlJquery弹出表单提交,jquery,ajax,jquery-mobile,Jquery,Ajax,Jquery Mobile,我是ajax新手,现在正在使用jquery mobile。我正在做的是在弹出窗口中创建一个登录表单,我必须编写代码使两者都能工作,但我只是不确定如何将两者连接起来,这样它才能真正工作 这是弹出的html <a href="#popupLogin" data-rel="popup" data-position-to="window" data-role="button" data-inline="true" data-icon="check" data-theme="a" data-tran
<a href="#popupLogin" data-rel="popup" data-position-to="window" data-role="button" data-inline="true" data-icon="check" data-theme="a" data-transition="pop">Login</a>
<div data-role="popup" id="popupLogin" data-overlay-theme="a" data-theme="a" class="ui-corner-all">
<form id="popuplogin">
<div style="padding:10px 20px;">
<h3>Please Login</h3>
<label for="un" class="ui-hidden-accessible">Username:</label>
<input type="text" name="user" id="un" value="" placeholder="username" data-theme="a">
<label for="pw" class="ui-hidden-accessible">Password:</label>
<input type="password" name="pass" id="pw" value="" placeholder="password" data-theme="a">
<button type="submit" data-theme="b" data-icon="check">Sign in</button>
</div>
</form>
</div>
老实说,我甚至不确定我是否完全理解ajax,但如果有人能帮助我理解它。非常感谢。请看这一行:
<a href="#popupLogin" data-rel="popup" data-position-to="window" data-role="button" data-inline="true" data-icon="check" data-theme="a" data-transition="pop">Login</a>
及
更改请参见此行:
<a href="#popupLogin" data-rel="popup" data-position-to="window" data-role="button" data-inline="true" data-icon="check" data-theme="a" data-transition="pop">Login</a>
及
更改您的弹出代码看起来正确。
我会把你的表格代码改成
<form id="formLogin" action="@submitUrl" method="post">
然后,您的提交按钮将提交表单数据,而无需执行任何javascript。您的弹出代码看起来是正确的。
我会把你的表格代码改成
<form id="formLogin" action="@submitUrl" method="post">
然后,您的提交按钮可以提交表单数据,而无需执行任何javascript。尝试类似的操作
<button type="button" data-theme="b" data-icon="check" data-inline="true" onclick="validLogin()">Sign in</button>
function validLogin(){
var uname=$('#uname').val();
var password=$('#password').val();
$.ajax({
type: "POST",
url: "scripts/processed.php",
data: {"uname": uname, "password":password},
cache: false,
success: function(result){
var result=trim(result);
if(result=='correct'){
window.location='index.php';
$('#loginForm').submit();
}else{
$("#loginerror").html(result);
return false;
}
}
});
}
这应该是你想要的。试试这样的方法
<button type="button" data-theme="b" data-icon="check" data-inline="true" onclick="validLogin()">Sign in</button>
function validLogin(){
var uname=$('#uname').val();
var password=$('#password').val();
$.ajax({
type: "POST",
url: "scripts/processed.php",
data: {"uname": uname, "password":password},
cache: false,
success: function(result){
var result=trim(result);
if(result=='correct'){
window.location='index.php';
$('#loginForm').submit();
}else{
$("#loginerror").html(result);
return false;
}
}
});
}
这应该可以满足您的要求。False,他应该完全更改ID,因为它们应该是100%唯一的。弹出窗口加载很好,更改它可以做什么?False,他应该完全更改ID,因为它们应该是100%唯一的。弹出窗口加载很好,更改它可以做什么?没有带有ID的表单表单
,因此不会触发任何事件。更不用说你有3个不同的标签,它们的IDpopuplogin
不是有效的HTML5。ID必须是唯一的。我理解ajax开头的部分,只是不完全理解这部分代码是如何工作的。另外,我使用的代码直接来自jquery mobile,无论从哪里获得,没有id为“form”的表单,因此不会调用ajax。也没有id为“name”的输入,因此没有值。提交表单时,jQuery将触发,因为它在提交表单时触发。当它触发时,它调用ajax函数。你能解释一下ajax是如何工作的吗。比如,我将在哪里使用我的php来处理数据?键入:“POST”-意味着数据是通过POST发送的,这意味着URL将不包含数据。url—数据将发送到的url。如果URL为www.mywebsite.com/derp.php,则derp.php将接收数据。数据-传递到POST中的数据,由服务器代码处理。Success-从服务器代码接收“回调”的匿名函数。如果调用成功,服务器代码中的任何输出都将返回。没有ID为form
的表单,因此不会触发任何内容。更不用说你有3个不同的标签,它们的IDpopuplogin
不是有效的HTML5。ID必须是唯一的。我理解ajax开头的部分,只是不完全理解这部分代码是如何工作的。另外,我使用的代码直接来自jquery mobile,无论从哪里获得,没有id为“form”的表单,因此不会调用ajax。也没有id为“name”的输入,因此没有值。提交表单时,jQuery将触发,因为它在提交表单时触发。当它触发时,它调用ajax函数。你能解释一下ajax是如何工作的吗。比如,我将在哪里使用我的php来处理数据?键入:“POST”-意味着数据是通过POST发送的,这意味着URL将不包含数据。url—数据将发送到的url。如果URL为www.mywebsite.com/derp.php,则derp.php将接收数据。数据-传递到POST中的数据,由服务器代码处理。Success-从服务器代码接收“回调”的匿名函数。如果调用成功,服务器代码中的任何输出都将返回。