ajax调用后javascript不工作
我有一页。在该页面的标题中,我有我所有的javascript。在页面主体中,我有一个链接,用于调用ajax http请求(我使用的是长柄xhr而不是jquery),该请求将一个php表单拉到我的页面上 该表单有一些select下拉列表,这些下拉列表使用jquery进行格式化/设置样式。我遇到的问题是,当我将表单直接放在页面中时,select在页面加载时的格式很好。但是当我从页面中删除表单并使用ajax将其拉入时,就好像javascript没有加载一样 因此,当页面加载时,javascript正在加载,但当我通过ajax将php表单拉入页面时,javascript不起作用。“选择”下拉列表未格式化/设置样式。这几乎就像javascript需要重新加载或其他什么 我没有使用jquery进行调用。我只是在使用长手ajaxajax调用后javascript不工作,javascript,ajax,xmlhttprequest,Javascript,Ajax,Xmlhttprequest,我有一页。在该页面的标题中,我有我所有的javascript。在页面主体中,我有一个链接,用于调用ajax http请求(我使用的是长柄xhr而不是jquery),该请求将一个php表单拉到我的页面上 该表单有一些select下拉列表,这些下拉列表使用jquery进行格式化/设置样式。我遇到的问题是,当我将表单直接放在页面中时,select在页面加载时的格式很好。但是当我从页面中删除表单并使用ajax将其拉入时,就好像javascript没有加载一样 因此,当页面加载时,javascript正在
function getPage(str)
{
if (str=="")
{
document.getElementById("center").innerHTML="";
return;
}
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("center").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","xhr_php/get_page.php?page="+str,true);
xmlhttp.send();
}
在原始表单中,select的格式是否使用在页面加载时运行的脚本?如果是这样,那就是你的问题。通过ajax/after/page load加载表单意味着onload脚本不会影响选择。您需要在加载表单后运行脚本。jquery样式脚本运行,然后就完成了。如果希望它在ajax调用后再次运行,请将其放入函数中,并在成功时调用该函数
function dostuff()
{
$('selector').css('var', 'val');
}
成功的例子是,当status==200,readyState==4时,在插入HTML响应后,在其中启动JSCSS调整
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("center").innerHTML=xmlhttp.responseText;
dostuff();
}
}
在没有看到代码的情况下,我会说您需要使用或将行为附加到元素。如果要在php表单页面上应用datepicker或其他功能,则需要在XHR请求的回调函数中重新分配使用XHR拉入的元素。将其添加到Ajax调用的onSuccess事件中。大多数jQuery教程将向您展示如何做到这一点,请参见下面的MyAjax。我没有使用jquery。很抱歉,我不会回答我自己的问题,所以请看我上面的帖子,我已经添加了ajax。请让m知道我把onSuccess功能放在哪里了。在放这个的部分:
document.getElementById(“中心”).innerHTML=xmlhttp.responseText代码>如何在那里编写onSuccess函数。我对ajax的成功很满意,但根本找不到什么。谢谢。你能用我上面的代码贴一个例子吗。我一直在寻找一个“成功”的例子几个小时了,但没有找到一个。我一直在寻找jquery的东西,我正在使用一个jQueryAfax函数,我正在使用一个LongHand函数。请参见上面我的ajax。谢谢。哦,这是AJAX调用的标准部分。我将把它放在回答中,而不是评论中。