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

Signaler
Messages postés
10
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
24 février 2009
-
Messages postés
10
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
24 février 2009
-
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

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
10
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
Messages postés
10
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
24 février 2009

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 !
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
10
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
Messages postés
10
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
24 février 2009

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 ? é.è
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
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)
Messages postés
10
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
24 février 2009

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 !!
Messages postés
10
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
24 février 2009

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é !!