2010-02-25 77 views
0

問題是我正在使用get_info()對Result.lasso進行ajax調用,並將響應粘貼到ID爲'test'的div中。我無法使用sendForm()函數我正在調用get_info()的頁面。從Ajax響應加載腳本

我也試過使用不同版本的jQuery 1.1.1.3工作正常。但我使用更高版本的jquery時遇到了問題。

具有更高版本的錯誤是如下

missing } in XML expression 
[Break on this error] alert('hi');\n 
test.lasso (line 3) 
sendForm is not defined 
[Break on this error] sendForm(); 

的get_info()函數定義

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type="text/javascript"></script> 
<SCRIPT> 
function get_info() 
{ 
    $.ajax({url: "Result.lasso", context: document.body, success: function(response){ 
    document.getElementById('test').innerHTML = response ;},dataType:"script"}); 
} 
</SCRIPT> 

在Result.lasso的代碼如下

[Content_Type: 'text/html; charset=UTF-8'] 
<script type="text/javascript"> 
    function sendForm() 
    { 
     alert('hi'); 
    } 
</script> 
[Date] 
form name= "abc" method = "get" action = "abcd.lasso"> 
    input type ="text" name = "element1"/> 
    input type = "button" value="Click" onClick = "javascript: sendForm();"/> 
</form> 

請幫我解決這個問題

感謝, 拉傑什Konatham

回答

0

您的格式是相當弄亂了,所以我可能會誤會,但它聽起來像你與加載腳本標記HTML你想要執行?

嘗試$('#test').html(response);而不是document.getElementById('test').innerHTML = response;。另外,它應該是dataType:"html"而不是腳本。

+0

你的表單標籤缺少的開始<的@noah謝謝你的回覆 它的工作通過使用$(「#測試」 ).html(響應) 爲什麼它不適用於更高版本的jquery,而它適用於較舊版本的原因是什麼? – user377435 2010-02-25 21:20:34

+0

我真的不知道爲什麼它適用於舊版本的jQuery。 innerHTML在跨瀏覽器執行腳本時不可靠,所以如果舊版本可靠地工作,我會感到驚訝。 – noah 2010-02-26 15:12:45

0

您也可以具有瀏覽器翻譯一些奇怪的問題,因爲在Result.lasso