2010-07-14 2 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

+0

@fudgey «mess/somefile.php» находится в примере кода, поэтому я бы сделал это предположение (не уверен, что это имеет отношение к вопросу, хотя) –

ответ

7

да вы можете ...

вы можете сделать это, связывая файл JS к html, как

<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 f код 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);