执行AJAX Post后,Javascript不再有效

时间:2011-10-19 03:10:35

标签: php javascript mysql ajax

美好的一天。我一直在使用AJAX帖子一段时间了。我有这个javascript代码,允许在单击时折叠/展开html代码块(默认情况下它是折叠的)。它在第一次加载表单时有效,但是一旦我执行AJAX帖子,javascript代码就不再起作用了。我已经尝试将javascript代码放在执行php函数的地方,但这也不起作用。

我不是那么精通Javascript或AJAX而且我只从外部源代码中获取此代码。任何帮助将不胜感激。

使用Javascript:

   <script>
            $(document).ready(function()
            {
                        $('p.content2').hide(); 
                        $('p.content2').addClass('active').next().show(); 
                        $('button.clickThis').click(function()

            {
                 if( $(this).next().is(':hidden'))
                    { 
                        $('p.clickThis').removeClass('active').next().slideUp(); 
                $(this).toggleClass('active').next().slideDown(); 
                }               
            else
                {
                $(this).toggleClass('active').next().slideToggle('slow');
                }
            return false;
            });
        }); 
</script>

AJAX脚本:

<script type="text/javascript">
function createTask()
{if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("resultDiv").innerHTML=xmlhttp.responseText;
    }
  }

var params = 'taskName='+encodeURI(document.getElementById('taskName').value)+'&taskDesc='+encodeURI(document.getElementById('taskDesc').value)+'&btnCreateTask='+encodeURI(document.getElementById('btnCreateTask').value);
xmlhttp.open("POST","taskProcess.php",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(params);}
</script>

1 个答案:

答案 0 :(得分:0)

可能因为错误导致JavaScript执行停止吗?

你使用FireFox吗?尝试安装并激活FireBug插件的页面,然后观看“控制台”选项卡。如果出现JavaScript错误,您会在那里看到它。

(如果您使用Chrome,则内置开发人员工具,如果您点击F12,最新版本的IE也会提供一些开发人员工具。就我个人而言,我不喜欢FireBug中的任何一种。)