2017-06-21 60 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

相關問題