2012-01-21 67 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 =「按鈕」'。然而,這取決於你;-) –

相關問題