我正在运行以下脚本
$(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" /> 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
答案 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提交的表格。