Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
953 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  espaces dans valeurs variable bloque appel à la fonction ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

espaces dans valeurs variable bloque appel à la fonction ?

n°2109608
Pierre2Tou​louse
Posté le 03-11-2011 à 16:31:44  profilanswer
 

Bonjour à tous,
 
J'ai un petit problème, j'ai fait quelques recherches par-ci par-là mais sans succès. Il faut dire que je suis une quenelle en javascript et que je ne sais pas comment demander à mon pote google de m'apporter la solution au problème...bref !
 
Je boucle en php sur ma base pour remplir un tableau, j'insère ma variable en php comme ceci dans l'appel à la fonction :

Code :
  1. ...
  2. <td><a href='' onclick='javascript:affectation(".$result->numero." );'>affecter</a></td>
  3. ...


et ma fonction javascript qui ouvre une nouvelle fenetre avec un passage d'argument :

Code :
  1. function affectation(numero)
  2.  {
  3.  var url="affectation-bl.php?numero="+numero;
  4.  window.open(url,'affection','menubar=no, scrollbars=no, top=100, left=100, width=950, height=300');
  5.  }


Quand la valeur de ma variable php ne contient aucun espace ça fonctionne et ma pop-up s'ouvre, mais quand j'ai une valeur avec des espaces dans ma variable php alors ça ne fonctionne pas...
Pourquoi donc ?! Merci beaucoup pour vos réponses :)

mood
Publicité
Posté le 03-11-2011 à 16:31:44  profilanswer
 

n°2109715
olivthill
Posté le 04-11-2011 à 10:46:45  profilanswer
 

Appel à quelle fonction ?
 
Je crois qu'en fait, c'est un problème URL, car la variable est utilisée pour une URL et car il ne faut pas d'espace dans une URL.
 

Citation :

URLs can only be sent over the Internet using the ASCII character-set.
 
Since URLs often contain characters outside the ASCII set, the URL has to be converted into a valid ASCII format.
 
URL encoding replaces unsafe ASCII characters with a "%" followed by two hexadecimal digits.
URLs cannot contain spaces. URL encoding normally replaces a space with a + sign.
 
[...]
 
In JavaScript you can use the encodeURI() function. PHP has the rawurlencode() function and ASP has the Server.URLEncode() function.
 
(source http://www.w3schools.com/tags/ref_urlencode.asp )

Donc, essayer :

<td><a href='' onclick='javascript:affectation(".rawurlencode($result->numero)." );'>affecter</a></td>


n°2109749
Pierre2Tou​louse
Posté le 04-11-2011 à 12:38:55  profilanswer
 

bonjour,
 
Merci pour ta réponse !
Quelle fonction ? celle-ci
 

Code :
  1. function affectation(numero)
  2. {
  3. var url="affectation-bl.php?numero="+numero;
  4. window.open(url,'affection','menubar=no, scrollbars=no, top=100, left=100, width=950, height=300');
  5. }


 
Ta solution me donne deux résultats différents:  
soit ma variable avec espaces est une chaine de caractères et là, toujours pareil, aucune pop-up ne s'ouvre, rien ne se passe.
soit ma variable avec espaces est une suite de chiffres et là par exemple si la valeur de variable est '12 5435 943' alors la valeur renvoyé par la fonction javascript est '12'  (affectation-bl.php?numero=12)
Il s'arrête donc au premier espace.
 
j'ai essayé sur cette base de comprendre un peu mieux mais sans succès pour l'instant...
des idées ? sinon je peux peut être tenter une autre méthode ? me fiche que ça soit sale c'est une petite application de gestion perso
merci encore

n°2110100
Pierre2Tou​louse
Posté le 07-11-2011 à 11:00:09  profilanswer
 

Bon finalement j'ai fait propre. J'ai rajouté un champ à ma base pour remplacer ma clé primaire sale et compliqué avec espaces par un id à chiffres, simple...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  espaces dans valeurs variable bloque appel à la fonction ?

 

Sujets relatifs
fonction split sur un entierRécuperer tous les index d'un array dans 1 variable
fonction mail() phpproblème pour ajouter un nombre à une variable (heure UTC et CEST)
Lire dans un fichier puis associer une variable à chaque ligneIntercepter une fonction en lua ?
[VBS] associer le stout d'une commande à une variable[Resolu] Regex : Variable et incrementation dans le replace
require_once et paramètre sous forme de variableJeu du morpion (fonction détection)
Plus de sujets relatifs à : espaces dans valeurs variable bloque appel à la fonction ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR