2011-11-23 64 views
1

我不確定這個問題是否有最好的標題,但我不確定還有什麼可稱之爲對不起。Dynamic Javascript Ajax + Php

我正在使用ajax爲我的網站上的div引入內容(選擇選項後)。內容是由PHP腳本生成的表單。當表單被提交時,應該調用JavaScript函數,但我只是收到一個錯誤,說該函數找不到。

JavaScript通過ajax與表單拉入,我無法真正改變它,因爲它需要改變所選選項的要求。

我的問題是應該這項工作?如果沒有,我只需要重新思考我做這件事的方式,只是想檢查它是不是工作,因爲它永遠不會或如果我做錯了什麼。

我會顯示代碼,但它很長。

在此先感謝!

編輯:感謝所有的意見等,道歉不包括在此之前的代碼。

function select(id){ 
    $.ajax({ 
      url: 'select/'+id, 
      type: 'GET', 
      dataType: 'html', 
      success: function(msg) { 
       $('.product_details').html(msg); 
       return false; 
      } 
    }); 
} 
+3

只顯示代碼的_relevant_部分(Ajax調用,例如)。或者使用pastebin或鍵盤。你是否使用Ajax部分的任何框架(jQuery,Dojo,Mootols ...)?在jQuery中,你可以看看delegate()或on()(> 1.7),但很難說沒有看到任何東西 –

+0

我假設通過「append()」或「html()」添加腳本元素doesn實際上不會執行它,這意味着包含的函數將不會被聲明。 你的*代碼*必須根據用戶的選擇而改變,這似乎很奇怪 – Roman

+3

你想要做什麼是可能的,但除非我們看到你在做什麼,否則我們無法幫助你。 –

回答

3

你使用的是JavaScript庫嗎?

使用jQuery指定的HTML數據類型,並確保腳本變量是在響應

$.ajax({ 
    url: "something.php", 
    dataType: "html", 
    success: function(data, text, request) { 
     ... 
    } 
}); 
在mootools的

的HTML之前...

var myRequest = new Request({ 
    url: "something.php", 
    evalScripts: true, 
    onSuccess: function(responseText, responseXML){ 
     .... 
    } 
}); 

myRequest.send(); 

現在你通過標籤會評估並可用於DOM

+1

+1很高興看到Mootools和JQuery的例子! –

+0

您好TimWickstrom.com,謝謝你的回覆,我曾嘗試添加dataType:「html」,但它沒有看到解決了問題。 – flyersun

+1

感謝您的幫助,我已經整理過了! – flyersun