当我点击使用jquery时,用$ .get加载php页面

时间:2011-12-16 14:47:48

标签: jquery get

我正在运行以下脚本

$(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事件,并且alert中的消息包含正确的值框,但似乎$ .get从不打开auth.php

2 个答案:

答案 0 :(得分:1)

您的代码有些问题。首先是$.get而不是$(this).get。接下来你可能想要阻止默认操作,虽然我不知道你是否想要在你的情况下,似乎你期望页面刷新,如果你取消默认操作不会发生,通常你使用当您想要刷新页面的某些部分并阻止完全刷新时,请使用ajax。如果您希望页面刷新/重定向,那么为什么您首先使用ajax?为什么不直接发帖?

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

答案 1 :(得分:0)

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