Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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脚本更改页面内容后,AJAX脚本不起作用_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 使用另一个AJAX脚本更改页面内容后,AJAX脚本不起作用

Javascript 使用另一个AJAX脚本更改页面内容后,AJAX脚本不起作用,javascript,jquery,ajax,Javascript,Jquery,Ajax,我尝试运行两个脚本:一个用于使用ajax加载页面内容,另一个用于使用ajax提交联系人表单 加载页面内容: <script> $('#top_links a').click(function (e) { e.preventDefault(); var link = $(this).attr('href'); $('#content').empty(); $.get(link, { }, function(data) {

我尝试运行两个脚本:一个用于使用ajax加载页面内容,另一个用于使用ajax提交联系人表单

加载页面内容:

<script>
$('#top_links a').click(function (e) {
    e.preventDefault();
    var link = $(this).attr('href');
    $('#content').empty();


    $.get(link, { }, 
        function(data) {
            $('#content').replaceWith($(data).find("#content"));

        }
    )
});
</script>

$(“#顶部链接a”)。单击(函数(e){
e、 预防默认值();
var link=$(this.attr('href');
$('#content').empty();
$.get(链接,{},
功能(数据){
$('content')。替换为($(数据)。查找('content');
}
)
});
提交表格:

<script type="text/javascript">

$('#submit').click(function(event){

    event.preventDefault();
    var name = $('#name').val();
    var email = $('#email').val();
    var message = $('#message').val();
    $.post("<?php echo bloginfo( 'template_directory' ) . '/inc/mailit.php';?>", 
        {
        name: name,
        email: email,
        message: message
        },
        function(data) {
            var n = data.indexOf('<span class="success_message">');

            if (n !== 0) {
            $('#message_box_1').empty().append(data);
            } else {
            $('#contact_form').empty().append(data);

            }
        }
    );
});


</script>

$(“#提交”)。单击(函数(事件){
event.preventDefault();
var name=$('#name').val();
var email=$('#email').val();
var message=$('#message').val();
$邮政编码(“,
{
姓名:姓名,,
电邮:电邮,,
信息:信息
},
功能(数据){
var n=数据索引(“”);
如果(n!==0){
$('#message_box_1').empty().append(数据);
}否则{
$('#contact_form').empty().append(数据);
}
}
);
});
这两个脚本都位于页脚中,不包含在动态加载的内容中。当我直接访问联系人页面而不使用ajax加载其内容时,表单代码可以完美地工作。但是当我使用ajax加载表单时,提交脚本停止工作


这实际上是我的一个后续问题。经过一番思考,我不能100%肯定我之前收到的答案是准确的。答案基于这样的假设:表单提交代码是加载内容的一部分,但事实并非如此,因为我将所有代码都放在页脚中,而页脚不受内容更改的影响。由于无法取消选中答案,我需要重新发布。

加载表单后,您需要运行提交表单脚本

尝试将提交表单脚本包装到函数中,如applySubmitFormEvents(){…}或类似的函数


然后,在回调函数中,需要调用applySubmitFormEvents()。

如果提交按钮位于动态加载的内容中,则必须使用$.live()函数

$("#submit").live("click", function(e){})

很明显,您正在更改第二个脚本使用的某些内容,您是否尝试过:
$(文档)。在('click','submit',function(event){…
Live被折旧使用
delegate
$('body')。delegate('submit','click',function(){//stuff});