我写了这个小页面,出于某种原因,当我点击提交时没有任何反应(在firebug上检查,没有提交)
<head>
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$('form#login').submit(function() {
$.ajax({
type: 'POST',
url: 'http://my.site/login.php',
data: this.html(data),
success: success,
dataType: dataType
})
});
</script>
</head>
<body>
<form action="#" id="login">
<input type="textbox" id="UserName" value="user">
<input type="textbox" id="Password" value="password">
<input type="submit" value="submit">
</form>
</body>
答案 0 :(得分:3)
您需要将代码包装在document.ready
上运行,如下所示:
$(function() {
$('form#login').submit(function() {
$.ajax({
type: 'POST',
url: 'http://my.site/login.php',
data: this.html(data),
success: success,
dataType: dataType
})
});
});
当前$('form#login')
在页面中存在表单之前正在运行,因此它没有找到任何挂起该提交处理程序的内容,使其等待运行直到document.ready
将解决此问题。至于为什么你没有看到萤火虫发生任何事情,你的默认表单行动目前正在发生,提交到#
,例如无处可去......所以没有萤火虫的交通。