2011-12-16 19 views
0

我运行下面的脚本加载PHP页面,当我点击使用jQuery

$(document).ready(function() { 
    $('#submit').click(function(){ 
     $(this).get("auth.php",{username: $('#log').val(), password: $('#pwd').val()}); 
    }); 
}); 

下面是HTML

<form class="clearfix" action="#" method="post"> 
    <h1>Member Login</h1> 
    <label class="grey" for="log">Username:</label> 
    <input class="field" type="text" name="log" id="log" value="" size="23" /> 
    <label class="grey" for="pwd">Password:</label> 
    <input class="field" type="password" name="pwd" id="pwd" size="23" /> 
    <label><input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /> &nbsp;Remember me</label> 
    <div class="clear"></div> 
    <input id="submit" type="submit" name="submit" value="Login" class="bt_login"/> 
    <a class="lost-pwd" href="#">Lost your password?</a> 
</form> 

虽然当我点击id为输入提交即使auth.php在单独运行时重定向到另一个站点,页面也会重新加载。

我可以得到警报,告诉我,这是对click事件和警报的消息包含框正确的价值观,但它似乎$不用彷徨从未打开auth.php

+0

为什么你使用jquery这个如果你想页面刷新?为什么不直接发布? – 2011-12-16 14:50:25

回答

0

您必须在表单中添加return false;以停止表单提交,您只需在提交按钮中添加一个.click即可。但是STILL提交的表单。

1

你的代码有一些问题。首先是$.get而不是$(this).get。接下来,您可能想要防止默认操作,尽管我无法判断您是否希望或不希望看到您的情况,但似乎您希望刷新页面,如果取消默认操作,则不会发生这种情况,通常您会使用ajax当你想刷新页面的一部分,并防止完全刷新。如果你期望页面刷新/重定向,那么你为什么首先使用ajax?为什么不直接发帖?

$(document).ready(function(e) { 
    $('#submit').click(function(){ 
     $.get("auth.php",{username: $('#log').val(), password: $('#pwd').val()}); 
     e.preventDefault(); 
    }); 
});