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

call custom JS function inside jquery/ajax that is defined in an external .js file

本文关键字:JS 调用 ajax 自定义 函数 外部 文件 定义 jquery      更新时间:2023-09-26

只执行一次函数,然后使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>

您需要更改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>