Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AJAX响应未运行放置在外部JS文件中的函数(仅当直接放置在AJAX响应中时才运行)_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript AJAX响应未运行放置在外部JS文件中的函数(仅当直接放置在AJAX响应中时才运行)

Javascript AJAX响应未运行放置在外部JS文件中的函数(仅当直接放置在AJAX响应中时才运行),javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个问题,AJAX响应没有运行简单的Jquery函数,该函数放在外部JS文件中。 该函数仅在我将其代码直接放入AJAX响应视图代码时运行 该页面显示动态加载的AJAX请求的链接,标题中嵌入了JS文件: <script type="text/javascript" src="script.js"></script> 在标题中嵌入了script.js文件的主页中,我有以下代码: <div><a class="ajax_link">Load AJA

我有一个问题,AJAX响应没有运行简单的Jquery函数,该函数放在外部JS文件中。 该函数仅在我将其代码直接放入AJAX响应视图代码时运行

该页面显示动态加载的AJAX请求的链接,标题中嵌入了JS文件:

<script type="text/javascript" src="script.js"></script>
在标题中嵌入了script.js文件的主页中,我有以下代码:

<div><a class="ajax_link">Load AJAX in some_id</a></div>
<div id="some_id"></div>
单击链接成功地将AJAX响应加载到某个\u id div

现在,在AJAX响应中,我有一个简单的表单:

<form class="ajax_form" method="post" action="/some_other_url">
  <input class="submit" type="submit" value="Send"/>
</form>
现在,如果我不将专用于ajax_表单类的脚本放在表单代码下,它根本不起作用。 如果我将下面的代码放在基本位置,我将重复与script.js文件中相同的函数

<script type="text/javascript">
jQuery(function () {
  $('.ajax_form').submit(function(event) {
    event.preventDefault();
    alert('a');
  });
});
</script>
例如,在AJAX响应视图中,在it works下

为什么呢? AJAX响应不是使用加载到主页的JS文件吗

我真的很想得到帮助:

猜猜看:

在加载/执行script.js时,DOM中似乎没有.ajax\u表单元素。当您将代码放在表单标记下面时,它会再次执行并工作

尝试使用以下代码更新script.js:

jQuery(function () {
   $( document ).on( "submit", ".ajax_form", function( event ) {
      event.preventDefault();
       alert('a');
   });
});
看一看

jQuery(function () {
   $( document ).on( "submit", ".ajax_form", function( event ) {
      event.preventDefault();
       alert('a');
   });
});