2010-07-14 66 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); 
相关问题