[Safari] changer les propriétés CSS d'un input

cs_Evangelia Messages postés 10 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 24 février 2009 - 23 févr. 2009 à 15:30
cs_Evangelia Messages postés 10 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 24 février 2009 - 24 févr. 2009 à 13:20
Salutations a tous,

je souhaiterai modifier le border d'un input lors d'un onBlur.
Ca marche nickel sous Firefox, mais qd je passe sous Safari, rien ne se passe :(

Voici la fonction que je me suis faite :
function validateFilledInput(inputId){
var inputElt=document.forms['form'].elements[inputId];
var inputValue=inputElt.value;

if(!isFilled(inputId)){
inputElt.style.border= "2px solid red";
} else {
inputElt.style.border= "1px solid black";
}
}

P'tite précision: je teste avec un Safari windows sous Ubuntu... le but final devant ensuite aller sur un Safari iPhone....

Merci d'avance !!!

7 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 13
23 févr. 2009 à 15:46
bonjour,

comme nous n'avons pas toutes les billes ( html et le reste !!! )
difficile de répondre !
à priori pas de raisons....
mais :
_ éviter les name qui ressemblent à ce que connait le html/javascript !
document.forms['form'].elements[inputId]
( en plus simple on fait document.name_du_formulaire.inputId si inputId est le name de l'élément)
_ isFilled(inputId)
   c'est quoi isFilled ? c'est quoi inputId ?
_ avec un Safari windows sous Ubuntu
  ??? avec virtualbox ou quoi ???

Cordialement[mon Site][M'écrire]Bul
0
cs_Evangelia Messages postés 10 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 24 février 2009
23 févr. 2009 à 16:37
oops je vois qu'il manquait des infos dsl... :$ Pr ma defense, la zone de saisie toute pitite est pas tres pratique....=)

'fin bref, merci pr tes remarques j'ai renommé mon form (ca change rien par contre).
En ce qui concerne l'acces a ce formulaire, j'avais vu sur un site que ct plus propre de l'appeler comme ca, sinon j'aurai jms fait ca comme ca, c'est sur que je prefere largement y faire appel comme tu dis :)

- is Filled: est une fonction JS qui teste tout simplement si le champ est rempli ou non, et qui prend en parametre l'identifiant du champ.
function isFilled(inputId){
var inputElt=document.forms['infoForm'].elements[inputId];
var inputValue=inputElt.value;
if (inputValue==""){
return false;
}
return true;
}

- Safari Windows sous Ubuntu c'est par le biais de Wine : http://www.korben.info/comment-installer-safari-sous-linux-ubuntu.html

PS.: dsl de la mise en page, je pensais que y avait des retours a la ligne automatiquement :$ (d'ailleurs si la ca marche pas je veux bien qu'on me dise comment faire :$ :$)

Merci encore !
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 13
23 févr. 2009 à 16:54
alors inputId c'est semble ok dans la fonction isFilled
[ je préfère var inputElt=document.infoForm.inputId, mais bon ;o) ]
mais pas lors de l'appel ( ça doit te dire undefined à priori )

>>dsl de la mise en page, je pensais que y avait des retours a la ligne automatiquement
il y a
mais les "retours manuels" ne fonctionnent pas avec safari je crois
( utiliser la "textbox classique"  ou taper
... et oui....
  pour le moment j'espère et que cela va s'améliorer
  comme d'autres "petites" choses au moins au niveau de la saisie )

je ne sais pas comment ça se passe avec ubuntu,
( enfin safari+wine+unbuntu ! )
avec Windows, je te dirais :
Navigateurs |Quelques Explications |----
Chrome
, contrôler page actuelle / Options pour développeurs
/ Console Javascript, ----
FireFox
, Outils / Console d'erreurs
et mieux : télécharger mon Site][M'écrire]Bul
0
cs_Evangelia Messages postés 10 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 24 février 2009
23 févr. 2009 à 17:24
Hmmm, j'ai pas de undefined.... Par contre, je taffe sous Firefox, donc avec Firebug et il me dit rien, tout est vert :)
C'est apres qd je verifie sous Safari que ca marche pas :(
J'ai rajouté la ligne pour Safari et ca change rien.... faut peut etre redemarrer ubuntu ... ms la je peux pas :( D'un autre coté, rien que l'affichage du code source sous safari ne marche pas... T_T
Si demain ca marche au redemarrage, je te dirais ^^ Merci en tout cas pr ton aide :)
Personne d'autre n'a d'idées ? é.è
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
23 févr. 2009 à 19:43
Bonjour,
Un pitchoune exemple...
<html>
<head>

<script type= "text/javascript">
//-------------
function Test(){
  var Obj =
document.forms.F_MAIN.I_TEST;
  if( Obj.value)
    Obj.style.border=
"2px solid red";
  else
    Obj.style.border= "2px solid black";
}

</script>
</head>

<form
name="F_MAIN" onsubmit="return(false)">
  
  
</form>


</html>
...si cela ne fonctionne pas le loup est ailleurs...

;O)
0
cs_Evangelia Messages postés 10 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 24 février 2009
24 févr. 2009 à 09:37
woooooow ton test marche !! cooool super \\ ^__^ //
J'ai plus qu'a trouver la subtilité de mon code qui a fait rater ca ^^
Merci bcp en tout cas !!
0
cs_Evangelia Messages postés 10 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 24 février 2009
24 févr. 2009 à 13:20
bon.... chuis vraiment dsl... en fait mon code initial marche pas sous Safari-Windows-sous-Ubuntu mais marche sur l'iPhone... :$ Dsl de vous avoir fait perdre votre temps... :(

merci bcp en tout cas pour vos reponses et votre rapidité !!
0