2010-07-14 80 views
3

我想爲表單創建外部JS文件並使用AJAX發佈數據。如何創建Jquery外部文件?

簡化的HTML看起來像:

<form action="" id="message" name="message" method="post"> 
<input name="message_subject" type="text" id="message_subject" class="message_wall" /> 
<textarea cols="50" rows="5" id="message_text" class="message_wall"></textarea> 
<button type="submit" id="mess" class="mess">send</button> 

我目前使用這種形式的jQuery的:

$("form#message").submit(function() { 
    var message_subject = $(".message_subject").attr('value').replace(/\n/g,"<br/>").replace(/\n\n+/g, '<br /><br />').replace(/(\<\/?)script/g,"$1noscript"); 
    var message_text= $(".message_text").attr('value').replace(/\n/g,"<br/>").replace(/\n\n+/g, '<br /><br />').replace(/(\<\/?)script/g,"$1noscript"); 
    $.ajax({ 
    type: "POST", 
    url: "mess/somefile.php", 
    contentType: "application/x-www-form-urlencoded;charset=ISO-8859-2", 
    data: "message_subject="+ message_subject + "&message_text=" + message_text, 
    success: function(){ 
     $(".message_field").html('Thanks!'); 
    } 
    }); 
    return false; 
}); 

我可以這樣jQuery代碼放在一個外部JS文件,然後叫做像:

$(document).ready(function(){ 
    myexternalfunction(); 
}); 
+0

你是否在使用PHP? – Mottie 2010-07-14 12:45:15

+0

@fudgey「mess/somefile.php」在示例代碼中,所以我會做出這樣的假設(不知道這個問題與這個問題有什麼關係) – 2010-07-14 12:54:27

回答

7

是你可以...

您可以通過連接js文件做to html like

<html> 
<head> 
<script> 
//......... 
// script calling some external js func 
//......... 
</script> 
<body> 
<!-- other tags --> 
<script src="test.js" type="text/javascript"></script> 
</body> 
</html> 

//test.js 

$(document).ready(function() { 
     $('#arrow img').click(function() { 
      transferEmp('test'); 
     }); 
}); 

function transferEmp(postData) { 
    $.ajax({ 
     url: url, 
     type: 'POST', 
     data: postData, 
     success: function(msg){ 
       //alert(msg); 
     } 
    }); 

} 
1

我會包裝你的jQuery代碼在$(document).ready(function()code throw all o將jQuery代碼轉換爲.js文件,然後使用標準html來包含它。

當瀏覽器加載頁面時,您的JQuery代碼也會包含在內。

0

考慮一下:

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="common.js"></script> 

而且common.js這樣的:

function initialize() 
{ 
    // Your jQuery code goes here 
} 

// Now you have to call this code 
$(initialize);