2011-08-12 17 views
3

私はProcessMakerというWebアプリケーションを使用しています。Jquery Ajaxing in Processmaker

jqueryのサポートはありません。だから私はそれを自分でどのように統合するかを考えなければならなかった。彼らのフォーラムには多くの人が参加しようとしていましたので、ありがたいことに今は文書化されています。もし誰かがそうしたいのであれば、ここで私はプロセスを詳述したリンクです:jQuery with ProcessMaker

私の質問は今jquery ajaxリクエストを使用しています。 jqueryをprocessmakerで使用するには、2つの問題を克服しなければなりませんでした。プロセスメーカーがテンプレートランゲージを使用しているため、最初のSmartyフィルタリング。そして2番目のMaborakのライブラリは特定のものを許可しません。 今私はそれをマボラーク問題と信じていますが、確かなことは分かりません。私のコードを実行しようとすると私が知る限り、エラーコンソール(firefox 4.x)は私に次のエラーを与えます:jqXHR [i]は関数ではありません。 これは私のjqueryライブラリの7323行目(バージョン1.6.2)で発生しています。

私はグーグルで、これまでに思いついたのは、人々がおそらく問題になる可能性があり、それを無効にすることで解決するということです。 私はそれを正しく無効にする方法を知らないかもしれませんが、まだ動作していません。

誰もが私にこれを手伝うことができれば、非常に感謝しています。

おかげで、 ゼッド

答えて

0

は前: あなたはこれを宣言する必要があります。 変数$ J = jQuery.noConflict();

と...あなたが代わりに$()、それ以上

を使用していない必要があります。

use $j() 

例:Processmakerですべて

0

// Use jQuery via $j(...) 
$j(document).ready(function() { 
    $j("div").hide(); 
}); 

存在しますライブラリ "makorak"このライブラリは他のライブラリとの問題を生成します。したがって、あなたは次のようにjqueryを使うべきです...


var $ JQ = jQuery.noConflict();

$ JQ( "#myField")。値= 'コチャロ';


私は

0

はこれを試してみてください助けてきた希望:

$.noConflict(); 
jQuery(document).ready(function($)){ 

    $("button").click.function(){ 

     $("p").text("jquery is still working"); 
    } 

} 
0

dynaformにAJAXについての新しいドキュメントを読むthis

または

この機能を書きます
function ajax(url, callback, error, method, cache, async) { 
    async = async || true; 
    //alert(cache); 
    if (typeof(cache) == 'undefined') { 
     cache = false; 
    } 
    if (typeof(method) == 'undefined') { 
     method = 'GET'; 
    } 
    if (window.XMLHttpRequest) // code for IE7+, Firefox, Chrome, Opera, Safari 
    { 
     xmlhttp = new XMLHttpRequest(); 
    } else // code for IE5, IE6 
    { 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    xmlhttp.onreadystatechange = function() { 

     if (xmlhttp.readyState == 4) { 
      if (xmlhttp.status == 200) { 
       if (typeof(callback) == 'function') { 
        callback(xmlhttp.responseText); 
       } 

      } else { 

       if (typeof(error) == 'function') { 
        error(xmlhttp.status); 
       } else { 
        alert('خطا : لطفا مجددا تلاش کنید.'); 
       } 


      } 


     } 

    } 
    var d = new Date(); 
    var n = d.getTime(); 
    var getExplode = url.split("?"); 
    scriptName = url; 
    param = ''; 
    if (getExplode.length > 1) { 
     scriptName = getExplode[0]; 
     param = getExplode[1]; 
     if (cache == false) { 
      param = param + "&n=" + n; 
     } 

    } else { 
     if (cache == false) { 
      param = param + "n=" + n; 
     } 
    } 

    if (method.toLowerCase() == 'post') { 
     xmlhttp.open("POST", scriptName, async); 
     xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
     xmlhttp.send(param); 

    } else { 
     xmlhttp.open("GET", scriptName + '?' + param, async); 
     xmlhttp.send(); 
    } 



} 

この

var url = ajaxUrl + "OperationRenovation.php?Command=GetDetail&IdDarkhast=" + ID + "&Code=" + Code + "&Mabna=" + Mabna; 
ajax(url, function(Response) { 
    alert(response); 
}, function() { 
    alert('مشکل در برقراری ارتباط با سرور'); 
}, 'post'); 
0

のようにそれを使用する私は($ .noConflictを走りました)。 processmakerのFIRSTPAGEで放火魔コンソールではなく、エラーが発生しました:

$.noConflict(); 
TypeError: $.noConflict is not a function 


$.noConflict(); 

私はprocessmaker 3.1

を使用しています