我对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-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>
这是我的脚本。我的问题是如何将两者连接在一起。
$("#popupLogin").submit(function() {
$.ajax({
type: "POST",
url: "submiturl",
data: $("input#name").val(),
success: function(html) {
// show the confirmation inside the popup
}
})
})
说实话,我甚至不确定我是否完全理解ajax,但如果有人能帮助我理解它。非常感谢。
答案 0 :(得分:1)
尝试这样的事情。
<button type="button" data-theme="b" data-icon="check" data-inline="true" onclick="validLogin()">Sign in</button>
通过添加onclick调用您的javascript函数。 I.E连接两段代码
然后在你的javascript中做这样的事情。
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;
}
}
});
}
应该做你想做的事。
答案 1 :(得分:0)
见这一行:
<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="popuplogin">
将<a href="#popupLogin"
更改为<a href="#popuplogin"
答案 2 :(得分:0)
您的弹出代码看起来是正确的。 我会将您的表单代码更改为
<form id="formLogin" action="@submitUrl" method="post">
然后您的提交按钮即可提交表单数据,而无需您执行任何javascript。