[Résolu] Commande ajax avec wordpress 2.1 (Créer un compte)

  • Statut : non résolu
11 sujets de 1 à 11 (sur un total de 11)
  • Auteur
    Messages
  • #450541
    Patrick-Argentine
    Membre
    Chevalier WordPress
    140 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress 2,1 :
    – Thème utilisé Lush wide :
    – Plugins en place Un tas :
    – Nom de l’hebergeur A small orange :

    Problème(s) rencontré(s) Commande ajax ou java avec wordpress 2,1 :

    Depuis la version 2.1 j’ai un problème avec mes commentaire
    auparavant en clicquant sur leave url la case s’ouvrait et laissait inscrire l’url du blog ou site
    Maintenant plus rien.

    Il me semble que le code incriminé est celui là :

    <p><label for="author">Name:</label> <input type="text" name="author" id="author" /></p>
    <p><label for="email">Email:</label> <input type="text" name="email" id="email" /></p>
    <div id="mailurl" style="display:none;"><p><label for="url">URL:</label> <input type="text" name="url" id="url" /></p></div>
    </div>

    <p id="ctoggle"><a href="javascript:void(null);" onclick="toggleMailUrl();" title="<?php _e('Leave a URL'); ?>« ><?php _e('Leave a URL'); ?></a></p>

    Si vous voulez je pourrais vous donner le code entier du comment-php du thème, mais je ne pense pas que ce soit utile.

    Je n’ai envie de changer de thème et son créateur ne me répond pas. Si quelqu’un peut me dire comment modifier cela, je lui offrirai le meilleur bife de chorizo à son prochain passage à Buenos Aires. 😉
    Merci
    Patrick

    PS : j’ai vu quelque chose ici, mais cela dépasse mon entendement

    #591907
    xavier
    Participant
    Maître WordPress
    2124 contributions

    Il faudrait connaître le contenu de la fonction toggleMailUrl(), c’est elle qui déclenche l’affichage du champ (passage de style= »display:none; » à style= »display:block; », je suppose).

    #591908
    Patrick-Argentine
    Membre
    Chevalier WordPress
    140 contributions

    Code des fonctions lush :


    /* LIVESEARCHING */
    var liveSearchReq = false;
    var t = null;
    var liveSearchLast = «  »;
    var isIE = false;
    // on !IE we only have to initialize it once
    if (window.XMLHttpRequest) {
    liveSearchReq = new XMLHttpRequest();
    }

    function liveSearchStart() {
    if (t) {
    window.clearTimeout(t);
    }
    t = window.setTimeout(« liveSearchDoSearch() »,200);
    }

    function liveSearchDoSearch() {
    if (liveSearchLast != document.forms.searchform.s.value) {
    if (liveSearchReq && liveSearchReq.readyState < 4) {
    liveSearchReq.abort();
    }
    if ( document.forms.searchform.s.value == "") {
    document.getElementById("search-results").style.display = "none";
    return false;
    }
    if (window.XMLHttpRequest) {
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
    liveSearchReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    liveSearchReq.onreadystatechange= liveSearchProcessReqChange;
    liveSearchReq.open("GET", "/livesearch.php?s= » + document.forms.searchform.s.value);
    liveSearchLast = document.forms.searchform.s.value;
    liveSearchReq.send(null);
    }
    }

    function liveSearchProcessReqChange() {
    if (liveSearchReq.readyState == 4) {
    var res = document.getElementById(« search-results »);
    Effect.Appear(res);
    res.firstChild.innerHTML = liveSearchReq.responseText;
    }
    }

    function closeResults() {
    document.getElementById(« search-results »).style.display = « none »;
    }

    /* COOKIES */
    function createCookie(name,value,days) {
    if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = « ; expires= »+date.toGMTString();
    }
    else expires = «  »;
    document.cookie = name+ »= »+value+expires+ »; path=/ »;
    }

    function readCookie(name) {
    var nameEQ = name + « = »;
    var ca = document.cookie.split(‘;’);
    for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
    }

    /* STYLE SWITCHER */
    function setActiveStyleSheet(title) {
    var i, a, main;
    for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
    a.disabled = true;
    if(a.getAttribute("title") == title) a.disabled = false;
    createCookie("style", title, 365);
    }
    }
    }

    function getActiveStyleSheet() {
    var i, a;
    for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
    }
    return null;
    }

    function getPreferredStyleSheet() {
    var i, a;
    for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
    && a.getAttribute("rel").indexOf("alt") == -1
    && a.getAttribute("title")
    ) return a.getAttribute("title");
    }
    return null;
    }

    /* MISC. FUNCTIONS */
    Effect.myAppear = function(element) {
    var options = Object.extend({
    from: (Element.getStyle(element, "display") == "none" ? 0.0 : Element.getOpacity(element) || 0.0),
    to: 0.8,
    beforeSetup: function(effect)
    { Element.setOpacity(effect.element, effect.options.from);
    Element.show(effect.element); }
    }, arguments[1] || {});
    return new Effect.Opacity(element,options);
    }

    function hideSearch() {
    var theElement = document.getElementById('search-results');
    Effect.Fade(theElement);
    document.getElementById('s').value = '';
    }

    function toggleMailUrl() {
    theElement = document.getElementById('mailurl');
    if(theElement.style.display == 'none') {
    Effect.Appear('mailurl');
    }
    else {
    Effect.Fade('mailurl');
    }
    }

    function wtyl(setting) {
    if (setting == 'on') {
    document.getElementById('wtyl').style.visibility = 'visible';
    } else {
    document.getElementById('wtyl').style.visibility = 'hidden';
    }
    }

    /* START THIS BABY! */
    window.onload = function(e) {
    var cookie = readCookie("style");
    var title = cookie ? cookie : getPreferredStyleSheet();
    setActiveStyleSheet(title);
    var theElement = document.getElementById('s');
    theElement.setAttribute('autocomplete','off');
    }

    J’en extrait la fonction :

    function toggleMailUrl()  {
    theElement = document.getElementById(‘mailurl’);
    if(theElement.style.display == ‘none’) {
    Effect.Appear(‘mailurl’);
    }
    else {
    Effect.Fade(‘mailurl’);
    }
    }

    #591909
    Patrick-Argentine
    Membre
    Chevalier WordPress
    140 contributions

    Mais si on me donnait le bon code pour supprimer ce gadget inutile, je suis prenneur
    Merci

    #591910
    xavier
    Participant
    Maître WordPress
    2124 contributions

    Supprimer le gadget ? A priori, retire les lignes en gras :

    <div id="mailurl" style="display:none;">

    <a href="javascript:void(null);" onclick="toggleMailUrl();" title=" »>

    #591911
    Patrick-Argentine
    Membre
    Chevalier WordPress
    140 contributions

    Merci la page de commentaire se voit bien avec le champ url ouvert, mais impossible d’expédier un commentaire

    #591914
    xavier
    Participant
    Maître WordPress
    2124 contributions

    Euh, c’est bien étrange, effectivement. Tu fais ce test en local ? Le formulaire n’a pas changé en ligne : URL tjrs absente, et le bouton de commentaire semble fonctionner.

    #591915
    Patrick-Argentine
    Membre
    Chevalier WordPress
    140 contributions

    Je fais le test en réel, j’ai tout remis comme avant. Cela me renvoyai a une page comment-post qui restait blanche et aucun commentaires, mais j’ai d’autres problèmes maintenant aussi vais-je faire une réinstall et on vera car maintenant mème avec l’ancien formulaire je ne peux faire de commentaires

    #591916
    Patrick-Argentine
    Membre
    Chevalier WordPress
    140 contributions

    Merci beaucoup après réinstall et avec le code suggéré cela marche parfaitement
    Xavier, tu n’as plus qu’à passer à Buenos Aires pour déguster la meilleure viande du monde
    Patrick

    #591912
    xavier
    Participant
    Maître WordPress
    2124 contributions

    Merci mais du coup je ne suis pour rien dans la bonne résolution du problème 🙂
    J’ai déjà fait un resto argentin à Paris, dont on m’avait vanté les mérites de la viande. Je n’ai pas été extraordinairé – mon boucher spécialisé boeuf de Kobé/Coutancy fait bien mieux. Je suis ouvert à de bonnes adresses…

    #591913
    Patrick-Argentine
    Membre
    Chevalier WordPress
    140 contributions

    Bonne viande argentine à Paris, non
    En Europe il me semble que c’est en Allemagne qu’il faut aller pour avoir de la bonne

11 sujets de 1 à 11 (sur un total de 11)
  • Vous devez être connecté pour répondre à ce sujet.