ajax avec IE et script-aculo-us

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : ajax avec IE et script-aculo-us

par artotal » 20 janv. 2007, 18:05

Chez moi sous ie6 sa ne fonctionnennait pas ?
http://creatif-web.be/developpeur/index.php
J'ai vider mon cache, mes temps et cookies, et sa fonctionne, j'ai dormis dans un cauchemard pour sa ?¿
Le cache Le cache Le cache Le cache Le cache Le cache Le cache
Je vais m'en souvenir de celle là faut VIDER LE CACHE, arf
En faite tout fonctionne :oops:

par artotal » 20 janv. 2007, 17:38

Mon problème c'est comment stopé l'effet ou evenement pour pas qu'il réapparaisse autrement j'utiliserai d'autre effets.
Je pense qu'il doit bien exister un stop !
edit :
en changeant d'effet sa fonctionne.

Code : Tout sélectionner

new Effect.Appear('datestr',1);

par artotal » 20 janv. 2007, 17:31

Pour ceux que sa interresse j'ai trouvé :
http://creatif-web.be/developpeur/ajax_prototype_1.php
Efin les effets fonctionnent, il me reste à les coordonnés pour ne pas qu'ils se dédoublent...
Je continue sur ce fil si je bug

Code : Tout sélectionner

<script> function getHTML() { var url = '/developpeur/salut_php.php'; var pars = 'someParameter=ABC'; var myAjax = new Ajax.Updater( {success: 'placeholder'}, url, { method: 'get', parameters: pars, onFailure: reportError, onComplete: showResponse}); } function showResponse(req) { $('datestr').innerHTML = req.responseText; new Effect.toggle('datestr','BLIND'); } function reportError(request) { alert('Sorry. There was an error.'); } </script> <div onclick="getHTML()" id="dddd">aaaaa</div> <div id="placeholder"></div>

par artotal » 20 janv. 2007, 17:20

j'ai trouvé quelque chose
http://creatif-web.be/developpeur/ajax_prototype_1.php
Mais je n'arrive âs à accorder les effets sans lancer deux appel ?
Mais sa ne fonctionne plus sous FF

par artotal » 20 janv. 2007, 17:04

voici un script qui fonctionne mais sur un form :
http://creatif-web.be/developpeur/ajax_prototype.php

Code : Tout sélectionner

<script> function getHTML() { var url = '/developpeur/salut_php.php'; var pars = 'someParameter=ABC'; var myAjax = new Ajax.Updater( {success: 'placeholder'}, url, {method: 'get', parameters: pars, onFailure: reportError}); } function reportError(request) { alert('Sorry. There was an error.'); } </script> <input type=button value=GetHtml onclick="getHTML()"> <div id="placeholder"></div> <p>2/ <div id="datestr" style="display:none;">hahaha</div></p>
Enfin sous ie le timestamp ne se recharge pas, un truc de fou ça.
Comme tu le dit restont peace and love ;)

par artotal » 20 janv. 2007, 16:48

Si tu veux regarder de plus près je te conseil ce document qui est une bonne traduction fr :
http://www.hadrien.eu/scriptaculous/
Regarde à prototype puis ajax dans mon cas tu à trois class prédéfinis.
J'ajouterai que des raccourcis il en existe une bonne dizaine comme $F() pour appeler un objet de formulaire, sa réduit considérablement le code.
Et puis une visite sur le site de l'auteur :
http://script.aculo.us/
Et une documentation plus complète toujours en Français mais de prototype :
http://www.electrolinux.com/traductions ... pe.js.html

j'ai changer mon script pour le mettre dans la page d'index, sa fait plus court à débugger :
http://creatif-web.be/developpeur/index.php
coté serveur "salut_php.php'
<?php
echo 'La date d\'aujourd\'hui avec php '.date('d-m-Y').'   
<br />timestamp d\'aujourd\'hui '.mktime(date('d-m-y'), 'TIMESTAMP'); 
?>
ajax :

Code : Tout sélectionner

<script type="text/javascript"> var ajax = new Ajax.Updater( 'datestr', // DIV id (XXX: doesnt work?) '/developpeur/salut_php.php', // URL { // options method:'get', parameters:'var1=val1&val2=var2', onComplete: showResponse, evalScripts:true }); function showResponse(req) { $('datestr').innerHTML = req.responseText; new Effect.toggle('datestr','BLIND'); } </script> <p>2/ <div id="datestr" style="display:none;">hahaha</div></p>
l'erreur dans IE n'existe plus et je n'ai aucun moyen de connaitre l'erreur sans débuggeur enfin là je n'est même plus le triangle jaune, mais sur les autres pages précisent qu'il me manque un objet donc non déclaré pour IE ?
Mais je vais changer et mettre sa sur un onclick...

par Ryle » 20 janv. 2007, 15:27

ah ? je connaissais pas du tout ... je vais y regarder de plus près :)

Et puis ne sois pas aussi pessimiste, regarde déjà si tu trouves la ligne pour savoir si tu peux la débugger ou pas... au pire si tu sais ce qui ne fonctionne pas, tu peux toujours venir demander de l'aide en nous donnant la ligne et les paramètres qui posent problème ;)

par artotal » 20 janv. 2007, 15:19

$('datestr')
sa remplace document.getElementById(); et sa fonctionne bien sous ie, la ligne qu'il renvoie ne correspond pas avec l'erreur.

Et même si je la trouve, je vais avoir du mal à la débuguer.

par Ryle » 20 janv. 2007, 12:19

Je ne connais pas le framework, mais s'il ne l'interprête pas, je ne suis pas certain que la syntaxe $('datestr') soit très répendue en javascript...

document.getElementById('datestr') me semblerait plus adéquat.

Ceci dit, pour savoir ce qui ne va pas sous IE clique sur le triangle jaune qui doit apparaitre en bas à gauche dans la barre d'état en cas d'erreur. Tu auras une fenêtre contenant le message d'erreur et tu pourras plus facilement voir à quelle ligne elle a lieu :)

ajax avec IE et script-aculo-us

par artotal » 20 janv. 2007, 04:35

Bonjour,
je cherche à faire de l'ajax avec ce framework, mais sa fonctionne que sous FF et même bien, sous IE sa bug et je n'arrive pas à comprendre pour quoi ?
http://creatif-web.be/developpeur/class_effet_ajax.php

Code : Tout sélectionner

<script> var ajax = new Ajax.Updater( 'datestr', // DIV id (XXX: doesnt work?) 'http://creatif-web.be/developpeur/salut_php.php', // URL { // options method:'get', parameters:'var1=val1&val2=var2', onComplete: showResponse }); function showResponse(req) { $('datestr').innerHTML = req.responseText; new Effect.toggle('datestr','BLIND'); } </script> date is now: <div id="datestr" style="display:none;">n/a</div>
J'ai pris lexemple du site officiel :
http://wiki.script.aculo.us/scriptaculo ... ax.Request
Merci d'avance -:)²