2012-01-21 35 views
0

我想教我自己jquery,(到目前为止还不是那么成功)为什么我点击提交时不会更新id为id的div?jquery为什么没有这个文本显示

<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

什么类型的输入是'#go'?文本文件是否存在,你确定吗? –

+0

它是键入“提交”,我认为文本文件存在 – user557862

+0

你想加载一个文本文件或什么? – Devjosh

回答

1

您需要通过单击处理程序返回false取消提交按钮的默认操作:

$(document).ready(function(){ 
    $("input#go").click(function() { 
     $("div#fill").load('test1.txt'); 
     return false; 
    }); 
}); 

通过返回false,窗体未正常提交,浏览器停留在相同的页面和您正在执行的从您的服务器获取text.txt文件的AJAX调用有足够的时间执行。

作为替代方案,我建议你订阅的形式,而不是提交按钮的单击事件的提交事件:

$(document).ready(function(){ 
    $("form").submit(function() { 
     $("div#fill").load('test1.txt'); 
     return false; 
    }); 
}); 

这将确保每次的形式是AJAX调用将被执行不仅仅在提交按钮被点击的情况下提交。但是,这当然取决于你的要求。

+0

啊......好吧,这是标准的做法,以这种方式使用提交按钮? – user557862

+0

或者你改变你的输入类型为一个按钮,这对我来说听起来是一个更好的选择,因为这就是他们主要的目的。 –

+0

@ user557862不,这不是,所以我推荐使用'type =“按钮”'。然而,这取决于你;-) –

相关问题