我正在尝试自学jquery,(到目前为止还没那么成功)为什么当我点击提交时,没有id填充的div会更新?
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("input#go").click(function(){
$("div#fill").load('test1.txt');
});
});
</script>
</head>
<body>
<form name="login">
<label><strong>Administrative Login </strong></label>
<p>Username:</p>
<input name="username" type="text" id="username" />
<p>Password</p>
<input name="password" type="password" id="password" />
<br>
<input type="Submit" id="go">
<div id="fill"></div>
答案 0 :(得分:1)
您需要通过在点击处理程序中返回false来取消提交按钮的默认操作:
$(document).ready(function(){
$("input#go").click(function() {
$("div#fill").load('test1.txt');
return false;
});
});
通过返回false,表单未正常提交,浏览器停留在同一页面上,而您正在执行的从服务器获取text.txt
文件的AJAX调用有足够的时间来执行。
作为替代方案,我建议您订阅表单的提交事件,而不是提交按钮的click事件:
$(document).ready(function(){
$("form").submit(function() {
$("div#fill").load('test1.txt');
return false;
});
});
这将确保每次提交表单时都会执行AJAX调用,而不仅仅是在单击提交按钮时。但当然这取决于您的要求。