[mobile] maxlength input

Nouveau WRInaute
Bonjour à tous, j'ai déjà poser la question sur divers forum mais je n'ai pas eu de réponse qui ont résolue mon problème...
En fait j'ai fais la version mobile de mon site web et j'ai un petit soucis côté input :
en fait j'ai un maxlength sur un input, quand j'atteinds les 30 caractères ça bloque bien, sauf qu'après je ne peux ni modifier ce que je viens de taper dans cet input ni modifier les inputs précédents ni écrire des les inputs suivant... quelqu'un aurait une idée svp merci d'avance :)
PS : je précise que c'est que sur mobile... donc je ne peux pas voir si le mobile détecte des erreurs de code ... et quand je mets la version mobile sur un navigateur d'ordinateur cela marche impec...
 
Nouveau WRInaute
Je vous montre mon code peut être que le problème ne vient pas d'où je pense...
code input :
Code:
<input type="text" name="titre" id="titre" style="width:100%;" onkeyup="char_remaining(this);" size="0" maxlength="30" value="<? if(isset($titre)){echo $titre;}?>"/>
et la fonction char_remaining :
Code:
function char_remaining(input)
{
	document.getElementById('max_char').innerHTML = 
	input.maxLength - 
	input.value.length+' caract&egrave;res restants pour le champ titre';
}
alors une lumière svp
 
Nouveau WRInaute
Salut,

As-tu testé sans le "onkeyup", juste pour voir ce que ça donne ?

En tout cas, je t'invite à légèrement réécrire ta fonction Javascript, d'une manière me semble-t-il plus robuste :

Code:
function char_remaining(input) {
   document.getElementById('max_char').innerHTML = parseInt(input.maxLength - input.value.length)+' caract&egrave;res restants pour le champ titre';
}

En effet, sans le parseInt, ton écriture me semble un peu cavalière.

Tiens-nous au courant !
 
Nouveau WRInaute
Salut, je viens de tester sans le "onkeyup" et c'est pareil ...
j'ai changé également ma fonction javascript comme tu me l'a conseillé et merci.
Mais du coup j'en suis au même point et je ne sais pas comment faire pour résoudre au plus vite ce problème et mettre la version mobile de mon site en place...
 
Nouveau WRInaute
Ah, désolé pour la mauvaise piste. Donc, ton champ input bugge même sans Javascript, juste dans son écriture HTML ? Pas évident, voire, étonnant... Quelques pistes :
- Et si ça venait du navigateur mobile ? As-tu testé sur une seule version ? As-tu une URL pour qu'on teste ? Perso, je n'ai pas vraiment réussi à reproduire ton bug sur mon tel en copiant-collant ton code, mais ça ne veut pas dire grand chose.
- Si je devais encore juste essayer un truc dans ton code, ça serait un supprimant le "size=0", dont la présence ne me semble pas nécessaire, et bien que j'en doute, pourquoi pas source de bug.
- Enfin : et si le problème venait d'ailleurs, par exemple d'un autre script dans ton code ?

Bon courage !
 
Nouveau WRInaute
spout a dit:
filiiip a dit:
ça serait un supprimant le "size=0"
+1

Et sinon ton input maxlength="30" et en JS tu accèdes à input.maxLength.

input.maxLength c'est OK, les propriétés du DOM s'écrivent avec cette règle de la majuscule. Anyway, ça bugge même sans le Javascript. Galère, cette histoire !
 
WRInaute accro
ooops sry j'étais encore pas bien réveillé :lol:

Sans JS et sans le maxlength="0" ?
Tu aurais donné une URL on tournerais pas autour du pot. De plus dans les browser t'as des outils intégrés pr tester différents UA, ça tu nous a pas dis si tu l'as fait?
 
Nouveau WRInaute
Merci pour vos réponses :) j'avais déjà effectivement supprimer le "size=0"
Sinon dans la console javascript j'avais des bugs hier que j'ai corrigé mais maintenant plus d'erreur et pourtant le problème persiste...

spout a dit:
De plus dans les browser t'as des outils intégrés pr tester différents UA, ça tu nous a pas dis si tu l'as fait?
Je ne sais pas comment tester les différents UA...

Je vais essayer sur un autre navigateur et sur un autre smart phone pour voir si le problème viens de mon navigateur actuelle ou de mon telephone... je vous en tiens informé

EDIT: j'ai testé sur Chrome et ça marche... mais la plus part des utilisateurs utilisent le navigateur par défaut de leur smart phone.... comme faire?
 
Nouveau WRInaute
J'ai essayé de changer mon input en textarea et ça marche... pensez-vous que c'est une bonne solution?
si oui, comment faire pour avoir le textarea sur 1 seule ligne comme un input??? svp
 
Nouveau WRInaute
Attribut "rows" du textarea (bwarf, t'as pas du chercher beaucoup !). Cependant, rien n'empêche de faire de retours à la ligne dans un textarea avec rows=1, car c'est juste le nombre de lignes visibles. Perso, je ne mettrais pas un textarea à la place d'un input pour des raisons aussi obscures, en tout cas, conceptuellement, c'est quand même dommage.

Pour tester les différents UA, tu as des extensions de Chrome ou Firefox super simples à utiliser : en farfouillant tu devrais mettre la main dessus !

Je crois être à bout d'idées pour ton problème, désolé... et bon courage !
 
Discussions similaires
Haut