2014-10-19 70 views
-3

只有函數執行一次,然後使得整個jquery部分不起作用。 我試圖搜索,但我沒有找到正確的答案。 CODE:調用jquery/ajax中定義的外部.js文件中的自定義JS函數

<script type="text/javascript" src="Plugs/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="Plugs/jquery.validate.min.js"></script> 
<script type="text/javascript" src="Plugs/pop-up.js"></script> <!-- FILE THAT CONTAINS function popup(divNama) { /*instruction*/ } --> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    //document.write(''); 
    $("#feeStructure").validate({ 
     submitHandler: function(form) { 
       popup('popUpDiv'); // custom fn that fire once and make jquery/ajax stop working 
      $.post('michangoProc.php', $("#feeStructure").serialize(), function(data) { 
        $('#msgErr').html(data); 
     }); 
     } 
    }); 
     }); 
     </script> 
+0

請讓你清晰地用英語描述問題的朋友或同事的幫助。事實上,我擔心你的問題太不清楚了,無法回答。 – 2014-10-19 21:39:52

回答

0

您需要更改JavaScript文件的加載順序。

如果您希望文件中存在的函數在內聯腳本中運行,那麼必須在您的內聯腳本之前加載之前。你的代碼應該如下所示。看到Plugs/pop-up.js文件導入現在您的嵌入式腳本之前發生

<script type="text/javascript" src="Plugs/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="Plugs/jquery.validate.min.js"></script> 
<script type="text/javascript" src="Plugs/pop-up.js"></script> <!-- FILE THAT CONTAINS function popup(divNama) { /*instruction*/ } --> 
<script type="text/javascript"> 
    // $.noConflict(); 
    $(document).ready(function(){ //$.fn.popup=function(){ } ; 
     //document.write(''); 
     $("#feeStructure").validate({ 
      submitHandler: function(form) { 
       popup('popUpDiv'); 
       $.post('michangoProc.php', $("#feeStructure").serialize(), function(data) { 
        $('#msgErr').html(data); 
       }); 
      } 
     }); 
    }); 
</script> 
+0

我試過,但問題仍然存在彈出('popUpDiv');函數觸發一次,然後整個js/jquery塊停止工作,直到我刷新頁面 – 2014-10-20 08:00:21

+0

@FadhilMakunga我再也忍不住了。我不知道'pop-up.js'是什麼,我不知道'validate'方法是什麼 – jasonscript 2014-10-22 01:43:44