2017-06-21 61 views
0

当我运行这个脚本时,我得到AjaxFunction is undefined。我已经搜索并知道它没有在适当的范围内定义,但任何人都可以让我知道什么是定义它的正确方法,以及错误的原因是什么。如何通过ajax和jquery在冷聚变中加载页面?

<script type=”text/javascript”> 
    function(AjaxFunction) { 
    alert(“test”); 

    $.ajax({ 
     type: “GET”, 
     url: “cfquery.cfm”, 
     success: function (res) { 
     alert(res); 
     document.getElementById("loadingdiv").style.display = ”block”; 
     document.getElementById("loadingdiv").innerHTML = res; 
     } 
    }); 
    }; 
</script> 

<cfform id="PageloadAjax" name="PageloadAjax"> 
    <div id="Displayingdiv" name="displayingdiv"> 
    <cfinput id="CFQUERYbutton" name="CFQUERYbutton" type="button" value="Displaypage" onclick="AjaxFunction"> 
    </div> 
    <div id="loadingdiv" name="loadingdiv"></div> 
</cfform> 
+0

'函数(AjaxFunction){'应'函数AjaxFunction(){'和'的onclick = “AjaxFunction”'应该是'的onclick = “AjaxFunction()”' - 或更好的是一个不显眼的事件处理程序。还要注意,你的一些双引号是无效的。使用'''''''',而不是''' –

回答

0
the answer that perfectly worked for me is: 

    <script type="text/javascript"> 
      function AjaxFunction(mode) { 
      var url=""; 
      if (mode =="contacts") url = "cfquery.cfm"; 
      if (mode =="tagsvsscripts") url = "cfqueryprogram.cfm"; 
      if (mode =="siteinfo") url = "CFtagsvsscripts.cfm"; 
      if (mode =="Jqueryhide") url = "dynamic.cfm"; 

       $.ajax({ 
        type: "GET", 
        url: url, 
        success: function (res) { 
         $("#results").addClass("loading"); 
       document.getElementById("loadingdiv").style.display="block"; 
         $("#results").html(res); 
         $("#results").removeClass("loading"); 
        } 
       }); 
      } 
     </script> 

     <div class="card mb-4"> 
     <div class="card-header bg-secondary"> 
      Ajax Page Load Example Using Bootstrap 
     </div> 

     <div class="card-block"> 
      <div class="row"> 
       <div class="col-lg-3 col-xl-2 col-form-label"> 
        <input class="btn btn-primary" name="CFQUERYbutton" 
    type="button" value="Displaypage" onclick="AjaxFunction('Jqueryhide')"> 
        <br><input class="btn btn-primary" 
    name="CFQUERYbutton" type="button" value="Displaypage" 
    onclick="AjaxFunction('contacts')"> 
        <br><input class="btn btn-primary" 
    name="CFQUERYbutton" type="button" value="Displaypage" 
    onclick="AjaxFunction('tagsvsscripts')"> 
         <br><input class="btn btn-primary" 
    name="CFQUERYbutton" type="button" value="Displaypage" 
    onclick="AjaxFunction('siteinfo')"> 
        </div> 
        <div id="loadingdiv" name="loadingdiv"> 

        </div> 
        <div id="results"></div> 
       </div> 
      </div> 
</div> 
0

尝试在onclick = "AjaxFunction()"这个

<script type=”text/javascript”> 
    function AjaxFunction() { 
     alert(“test”); 
      $.ajax({ 
      type: “GET”, 
      url: “cfquery.cfm”, 
      success: function (res) { 
      alert(res); 
      document.getElementById("loadingdiv").style.display=”block”; 
      document.getElementById("loadingdiv").innerHTML=res; 
     } 
    }); 
}; 
</script> 

和呼叫功能。

1

现在您正在使用AjaxFunction作为参数定义一个匿名函数。步骤一在得到这个作品是改变

function(AjaxFunction) {...} 

function AjaxFunction() {...} 

此外,在onclick属性,必须调用该函数,而不仅仅是名字。因此,改变

onclick="AjaxFunction" 

onclick="AjaxFunction()" 

我建议寻找一些基本的JavaScript材料更容易理解和解决这些小问题。如果您需要更深入的JavaScript知识,您可以从容易理解的教程开始使用W3 Schools,或使用You don't know JS开头。

+0

非常感谢您根据您的建议编辑了我的答案,但是我又收到了“Ajax函数未定义”错误,请问这是什么原因? –

+0

There可能是脚本中的另一个语法错误,我不确定ColdFusion是否会尝试对它进行评估。编辑器似乎在使用错误的引号,将''''换成''''或'''因为当前的代码是无效的JavaScript。这可能是问题所在。 – Vintr

相关问题