在外部.js文件中定义的jquery / ajax中调用自定义JS函数

时间:2014-10-19 21:34:21

标签: javascript jquery

只有函数执行一次,然后使jquery的整个部分不起作用。 我试图搜索,但我没有找到正确的答案。 代码:

<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>

1 个答案:

答案 0 :(得分: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>