[RESOLU] JS ne fonctionne pas sur IIS

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 : [RESOLU] JS ne fonctionne pas sur IIS

Re: JS ne fonctionne pas sur IIS

par wisefun77 » 12 mai 2022, 10:56

Bonjour,

J'ai découvert un cour sur JS, et j'ai pu comprendre comment cela ce passe.
j'ai donc essayé un code.
Et cela fonctionne.

Code : Tout sélectionner

(() => { const button = document.querySelector('.js-copytextbtn'); button.addEventListener("click", () => { const elemText = document.getElementById("texte"); // supprimer l'attribut disabled si existe const disabled = elemText.getAttribute("disabled"); elemText.removeAttribute("disabled"); // selectionne le contenu elemText.focus(); elemText.select(); // copy document.execCommand("copy"); // réactive l'attribut disabled si existe disabled && elemText.setAttribute("disabled", disabled); // remise focus sur Btn button.focus();
Merci à tous pour votre patience et votre aide.

Re: JS ne fonctionne pas sur IIS

par two3d » 11 mai 2022, 17:57

J'ai mis le lien global de la doc car à chaque problème wisefun77 semble poser une question, il serait parfois bon de regarder la doc de temps pour savoir quoi fait quoi, on veut bien aider mais faudrait pas pousser non plus, une recherche prends deux secondes.

Est tu sûr qu'alert.log existe ? d'où vient-il ? une invention 2022 ? :mrgreen: Pareil pour log()... bref, fait un tour sur la doc stp au lieu de dire ça marche pas. (Je n'exclue pas non plus une techno inconnue pour moi mais ça m'étonnerais...)

Re: JS ne fonctionne pas sur IIS

par wisefun77 » 11 mai 2022, 16:42

Bonjour or1,
Oui j'ai bien lu mais le code ne fonctionne pas

Code : Tout sélectionner

.log(text.trim());

Code : Tout sélectionner

<script> (() => { const button = document.querySelector('.js-copytextbtn'); button.addEventListener('click', () => { const text = document.querySelector('.js-text'); const chaine = document.createRange(); chaine.selectNode(text); window.getSelection().addRange(chaine); try { if (document.execCommand('copy')) { // alert('Le texte a été copié !'); document.location.replace('pagefin.php'); } } catch (err) { alert('Pas possible de copier.'); } window.getSelection().removeAllRanges(); }); })(); </script>
J'ai compris que tout se déroule dans la partie

Code : Tout sélectionner

window.getSelection().addRange(chaine);
J'ai essayé avec

Code : Tout sélectionner

window.getSelection().addRange(chaine.trim()); // pas de réponse window.getSelection(text.trim()).addRange(chaine); // pas de réponse
une simple alerte non plus

Code : Tout sélectionner

var chaine1 = window.getSelection().addRange(chaine); alert.log(chaine1.trim()); // pas de réponse var chaineFin = log(chaine1.trim()); alert(chaineFin);// pas de réponse
Franchement je ne sais plus où le placer le trim()
Merci.

Re: JS ne fonctionne pas sur IIS

par or 1 » 11 mai 2022, 16:28

trim existe aussi en JS.

La doc est ici : https://developer.mozilla.org
plus précisément :
https://developer.mozilla.org/fr/docs/W ... tring/Trim

Re: JS ne fonctionne pas sur IIS

par wisefun77 » 11 mai 2022, 16:05

Bonjour two3d,

J'ai tout essayé mais je ne comprends pas la logique, car rien de fonctionne.
dès que je mets trim(), le code ne répond plus.
Merci.

Re: JS ne fonctionne pas sur IIS

par two3d » 11 mai 2022, 15:04

trim existe aussi en JS.

La doc est ici : https://developer.mozilla.org

Re: JS ne fonctionne pas sur IIS

par wisefun77 » 11 mai 2022, 14:27

Bonjour two3d,

Je viens de regarder la function trim().
Mais je ne vois pas comment déclarer une variable dans le code JS.
ce code ne fonctionne pas.
const text = trim($text,"\n");

Code : Tout sélectionner

<script> (() => { const button = document.querySelector('.js-copytextbtn'); button.addEventListener('click', () => { const text = document.querySelector('.js-text'); const text = trim($text,"\n"); const range = document.createRange(); range.selectNode(text); window.getSelection().addRange(range); try { if (document.execCommand('copy')) { // alert('Le texte a été copié !'); document.location.replace('pagefin.php'); } } catch (err) { alert('Pas possible de copier.'); } window.getSelection().removeAllRanges(); }); })(); </script>
Merci

Re: JS ne fonctionne pas sur IIS

par two3d » 11 mai 2022, 10:11

trim() de PHP pourra solutionner ce problème.

Re: JS ne fonctionne pas sur IIS

par wisefun77 » 11 mai 2022, 10:05

Bonjour two3d,

J'ai trouvé une solution qui fonctionne.

Code : Tout sélectionner

<!-- Le formulaire condition ELSEIF--> <form id="form-copier" > <!-- champ de saisie de texte --> <textarea class="js-text" id="texte" cols="80" rows="5"disabled="disabled"><?php echo $_SESSION["Balises2"]?> </textarea> <br /><br /> <!-- Bouton copier --> <input type="button" class="js-copytextbtn" value="Copier les balises"/> </form> <script> (() => { const button = document.querySelector('.js-copytextbtn'); button.addEventListener('click', () => { const text = document.querySelector('.js-text'); const range = document.createRange(); range.selectNode(text); window.getSelection().addRange(range); try { if (document.execCommand('copy')) { // alert('Le texte a été copié !'); document.location.replace('pagefin.php'); } } catch (err) { alert('Pas possible de copier.'); } window.getSelection().removeAllRanges(); }); })(); </script>
Le seul petit soucis, c'est que le texte copié contient un saut de ligne en début du texte et en fin de texte.

Code : Tout sélectionner

[ADC_START][SDP][ANNULE][00000000][bdceeb19][11/05/22 10:04][Version_2.02][ADC_END]
Merci pour ta patience et ton aide.

Re: JS ne fonctionne pas sur IIS

par two3d » 10 mai 2022, 10:26

Re: JS ne fonctionne pas sur IIS

par wisefun77 » 10 mai 2022, 09:30

Bonjour two3d,
J'ai essayé avec ce code.

Code : Tout sélectionner

document.location.replace('http://nomdedomaine/pagefin.php/Location.reload');
Cela fonctionne sur mon serveur IIS en PHP 7.4.9.
Cela fonctionne sur Wamp.
Cela fonctionne sur mon site OVH 'PHP).
Mais ne fonctionne pas sur le serveur IIS en PHP7.4.28 du client.

Merci

Re: JS ne fonctionne pas sur IIS

par two3d » 06 mai 2022, 15:47

Il faut surtout voir la doc pour savoir comment ça fonctionne : https://developer.mozilla.org/fr/docs/W ... on/replace ;)

Re: JS ne fonctionne pas sur IIS

par wisefun77 » 06 mai 2022, 12:36

Bonjour two3d

Je viens de tester

Code : Tout sélectionner

windows.location.replace='monfichier.php'
cela ne fonctionne pas non plus.
Faut-il aussi ajouter le nom de domaine avant la page?
Je vais installer un serveur IIS sur mon pc et voir si les erreurs sont idem.
Merci

Re: JS ne fonctionne pas sur IIS

par two3d » 06 mai 2022, 09:33

Tu as location.replace qui peut t'aider, bizarre que window.location ne fonctionne pas, mal utilisé je pense ou non compatible dans l'environnement utilisé

Fais bien un window. quand window est chargé ;)

Re: JS ne fonctionne pas sur IIS

par wisefun77 » 06 mai 2022, 09:10

Bonjour two3d,
Merci pour tes infos.
Mais les user ne peuvent utiliser que Edge.
J'ai mis mon application sur mon serveur OVH, et cela fonctionne avec Edge.
Mais pas sur le serveur IIS du client.
J'ai essayé aussi.

Code : Tout sélectionner

window.location.href = 'https://nomdedomaine/monfichier.php'
Pas de réponse depuis le serveur IIS sous Edge.
Merci.