3 votes

Jquery Ajaxing dans le Processmaker

J'utilise une application web appelée ProcessMaker.

Ils n'ont pas de support pour jquery. J'ai donc dû trouver comment l'intégrer moi-même. Il y avait beaucoup de gens sur leurs forums qui essayaient de le faire, donc heureusement il a maintenant été documenté. Si quelqu'un souhaite le faire, voici le lien où j'ai détaillé le processus : jQuery avec ProcessMaker

Ma question est maintenant d'utiliser la requête jquery ajax. Afin d'utiliser jquery avec processmaker j'ai dû surmonter 2 problèmes. Le premier est le filtrage Smarty puisque processmaker utilise le langage de templating. Et le second est que la librairie Maborak ne permet pas certaines choses. Donc maintenant je crois que c'est un problème de Maborak, mais je n'en suis pas certain. Tout ce que je sais, c'est que lorsque j'essaie d'exécuter mon code, la console d'erreur (firefox 4.x) me donne l'erreur suivante : jqXHR[i] n'est pas une fonction. Cela se produit à la ligne 7323 de ma librairie jquery que j'ai incluse (version 1.6.2).

J'ai fait des recherches sur Google, et tout ce que j'ai trouvé jusqu'à présent, c'est que les gens disent que cela peut être un problème de befreSend et que le désactiver le résout. Peut-être que je ne sais pas comment le désactiver correctement, mais il ne fonctionne toujours pas.

Si quelqu'un peut m'aider à ce sujet, ce serait très apprécié.

Merci, Zedd

0voto

carlajessica Points 1

Avant : vous devez déclarer ceci : var $j = jQuery.noConflict() ;

et... vous ne devez plus utiliser $()

à la place :

use $j()

exemple :

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

c'est tout

0voto

cochalo Points 1

Dans Processmaker il existe une bibliothèque "makorak" cette bibliothèque génère des problèmes avec d'autres bibliothèques... donc vous devriez utiliser jquery comme suit...


var $JQ = jQuery.noConflict() ;

$JQ("#myField").value = 'cochalo' ;


J'espère que j'ai aidé

0voto

rodrigo ivan Points 1

Essayez ça :

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

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

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

}

0voto

ashkufaraz Points 3734

Lire la nouvelle documentation sur l'ajax dans dynaform en ce

ou

Écrire cette fonction

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();
    }

}

et l'utiliser comme ceci

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X