2011-09-30 28 views
0

可以說這是我的HTML表單定義觸發一個jQuery文件的jquery.js裏面的函數:如何從一個html <form>

 <form id="feedback" action="" enctype="multipart/form-data" method="post"> 

jQuery的文件頭標記定義:

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

我還建立了一個輸入字段中的HTML DIV作爲一個按鈕:

 <div id ="button" class="button"> 
     <input type="submit" name="submit" id="submit" value="Enviar" /> 
    </div> 

我有JavaScr在我的index.html中的ipt代碼,我更願意讓代碼在index.htm之外驗證我的表單。我可以在這樣的句子加我的功能 (但我寧願想從外部文件調用我的函數):

 if ($li_e.attr('class')==='cc_content_13'){ 
     /*here I try to recieve code from the ajaxarchive.js inside functions*/ 
    } 

我爲了如何定義的功能也ajaxarchive.js裏面的東西一樣

var formData = $('form').serialize(); 
     submitForm(formData); <-- This is the name of the function 
+1

Whaaaat?你能花時間讓這個問題可讀嗎? – Blender

回答

0

這聽起來像你想添加一些驗證邏輯掛接到「提交」按鈕的點擊,而無需修改實際的HTML包括一個參考。如果是這樣的話那麼就綁定到click事件在外部JS文件

$(document).ready(function() { 
    $('#submit').click(function() { 
    // Call your function here. 

    }); 
}); 
+0

我自己的回答

0

您可以綁定到你的表單的「提交」事件的功能。只要在調用$ .ready之前包含源文件,就可以在任何地方定義你的函數。

// somewhere in $(document).ready: 
$("#feedback").submit(yourExternalFunctionNameHere); 

其中函數中的參數e是事件對象。請確保在函數內部調用e.preventDefault()或返回false,以便表單默認不提交 - 您可以使用以下方式手動提交:

$("#feedback").submit(); 
+0

我喜歡更好的解決方案我只是在action字段中添加了jQuery函數的名稱和形式(作爲參數)。這樣可以將我的表單從外部驗證到我的index.html –

+0

@ user972593:您可以將其作爲答案發布,然後再接受它 – Hasturkun

相關問題