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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Problème de if dans une function

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de if dans une function

n°2015159
bingojm
Posté le 07-08-2010 à 22:42:52  profilanswer
 

Bonjour,
 
Voici mon problème. Je débute, mais je parie que c'est tout bête...
 
J'ai une fonction comme ceci:

Code :
  1. function verifForm(f)
  2. {
  3.    var nomOk= verifpreneur(f.nom);
  4.    var prenomOk = verifpreneur(f.prenom);
  5.    var rueOk= verifpreneur(f.rue);
  6.    ...


 
J'aimerais rajouter un var supplémentaire avec une condition, mais je n'arrive pas à l'écrire.
Pouvez-vous me corriger?
L'idée était:

Code :
  1. function verifForm(f)
  2. {
  3.    var nomOk= verifpreneur(f.nom);
  4.    var prenomOk = verifpreneur(f.prenom);
  5.    var rueOk= verifpreneur(f.rue);
  6.  
  7.    if($_SESSION['radios_0'] == Oui)
  8.    {
  9.       var numero_tvaOk = verifcompte(f.numero_tva);
  10.    }
  11.    ...


mood
Publicité
Posté le 07-08-2010 à 22:42:52  profilanswer
 

n°2015170
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 08-08-2010 à 00:31:56  profilanswer
 

Tu dois mettre Oui entre guillemets (si c'est ça la question)

 

Mais j'ai comme un doute. T'es en PHP ?

Message cité 1 fois
Message édité par WiiDS le 08-08-2010 à 00:32:18

---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°2015179
bingojm
Posté le 08-08-2010 à 09:46:38  profilanswer
 

WiiDS a écrit :

Tu dois mettre Oui entre guillemets (si c'est ça la question)
 
Mais j'ai comme un doute. T'es en PHP ?


Oui je suis bien en PHP, mais je vais reformuler mon problème car je vois que je me trompe...
 
Alors voilà, j'ai dans mon formulaire le champ suivant:

Code :
  1. tr>
  2.         <td><label for="tva">Etes-vous assujetti à la TVA?</label></td>
  3.         <td id="td_radios_0"><input type="radio" id="tva_oui" name="radios_0" onClick="javascript:visibilite('form_tva'); " value="Oui" <?php if ($_SESSION['radios_0'] == Oui) echo 'checked="checked"' ?> >&nbsp;Oui&nbsp;&nbsp;<input type="radio" id="tva_non" name="radios_0" onClick="javascript:invisibilite('form_tva'); " value="Non" <?php if ($_SESSION['radios_0'] == Non) echo 'checked="checked"' ?> />&nbsp;Non</td>
  4. </tr>


J'ai un Onclick qui permet d'afficher le div 'form_tva' qui est plus bas (caché au départ).
Tout ça fonctionne. Mon problème est que je voudrais rendre le champ "numero_tva" obligatoire SI "radios_0 == Oui". Et pas obligatoire si c'est "non", surtout que ce champ est dans mon div caché qui apparait seulement si c'est oui.
 
Pour rendre certains champs obligatoires, j'utilise:

Code :
  1. function surligne(champ, erreur)
  2. {
  3.    if(erreur)
  4.       champ.style.backgroundColor = "#fba";
  5.    else
  6.       champ.style.backgroundColor = "";
  7. }
  8. function verifpreneur(champ)
  9. {
  10.    if(champ.value.length < 2 || champ.value.length > 25)
  11.    {
  12.       surligne(champ, true);
  13.       return false;
  14.    }
  15.    else
  16.    {
  17.       surligne(champ, false);
  18.       return true;
  19.    }
  20. }


Alors comment puis rendre obligatoire mon champ "numero_tva" à la condition que "radios_0 == Oui"?
 
NB: Je ne veux pas utiliser $_SESSION comme j'avais commencé au-dessus, car cette variable ne sera pas encore remplie au départ!
 
Merci d'avance!!!


Message édité par bingojm le 08-08-2010 à 09:49:38
n°2015180
Dj YeLL
$question = $to_be || !$to_be;
Posté le 08-08-2010 à 09:58:39  profilanswer
 

Code :
  1. $foo == "bar";
 

Et non

 
Code :
  1. $foo == bar;

Message cité 1 fois
Message édité par Dj YeLL le 08-08-2010 à 09:59:19

---------------
Gamertag: CoteBlack YeLL
n°2015181
bingojm
Posté le 08-08-2010 à 10:13:07  profilanswer
 

Dj YeLL a écrit :

Code :
  1. $foo == "bar";


 
Et non  
 

Code :
  1. $foo == bar;



Tu parles de  

Code :
  1. if($_SESSION['radios_0'] == Oui)


qui devrait être

Code :
  1. if($_SESSION['radios_0'] == "Oui" )


OK, mais je ne peux pas utiliser $_session à ce stade vu que j'utilise $_session pour récupérer les infos de ma 2ème page pour quand je reviens vers la première.
A moins que $_session enregistre déjà les infos quand je suis sur ma première page?

n°2015192
gatsu35
Blablaté par Harko
Posté le 08-08-2010 à 12:59:25  profilanswer
 

tu mélange le JS et le PHP revoit un peu les bases o_O


---------------
Blablaté par Harko
n°2015198
lasnoufle
La seule et unique!
Posté le 08-08-2010 à 14:00:55  profilanswer
 

Salut,
 
Comme le dit Gatsu35, tu veux utiliser du PHP ($_SESSION) dans du Javascript... Et c'est pas possible et n'a meme pas de sens: Javascript est coté client et PHP coté serveur.
 
Bref, ca ne peut pas marcher...
 
Je pense que ce que tu "veux" faire, c'est regarder directement dans la DOM si le radio button de la TVA est coché ou non.
Pour cela, tu peux partir de ta form passée en paramètre (f), récupérer ton groupe de boutons (radios_0) et regarder si c'est le premier qui est coché ([0].checked):

if (f.radios_0[0].checked) {
 var numero_tvaOk = verifcompte(f.numero_tva);
}

Ou sinon, vu que tu as donné un identifiant au bouton "TVA oui":

if (document.getElementById('tva_oui').checked) {
 var numero_tvaOk = verifcompte(f.numero_tva);
}


---------------
C'était vraiment très intéressant.
n°2015224
bingojm
Posté le 08-08-2010 à 19:48:49  profilanswer
 

C'est super, cela fonctionne si tva_oui est bien coché, la vérification du champs se fait bien.
Par contre, si je coche tva_oui par erreur et que je recoche tva_non à la place, la variable se déclanche quand même à moitié et je me retrouve bloqué à moins que je ne recoche tva_oui et compléte le n° de tva.
Y a-t-il une solution pour éviter ce problème?

n°2015241
lasnoufle
La seule et unique!
Posté le 09-08-2010 à 02:14:45  profilanswer
 

Rajoute un alert dans le if, puis déclenche-le dans les deux cas (coché, coché puis décoché) pour déterminer la différence entre les deux...

if (f.radios_0[0].checked) {
 alert(f.radios_0[0].checked);
 var numero_tvaOk = verifcompte(f.numero_tva);
}


Ensuite adapte le test. Je suppute que ca va donner un test genre ca: if (f.radios_0[0].checked=='checked').
Edit: évidemment, une fois que ton test est bon, enlève le alert :)


Message édité par lasnoufle le 09-08-2010 à 02:16:13

---------------
C'était vraiment très intéressant.

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

  Problème de if dans une function

 

Sujets relatifs
[Résolu] Problème concaténation et chemin vers autre classeurproblème formulaire de contact
Script Galleria, problème avec FirefoxBatch windows : probleme avec wget
[c++][problème]no matching function for call to...Probleme variable entrante function Oracle
problème if dans function matlabScilab problème de callback <function>
[SQL] Petit problème -> ...not contained in an aggregate function...[PHP] Probleme avec function
Plus de sujets relatifs à : Problème de if dans une function


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