fonction dopostback

fonction dopostback - HTML/CSS - Programmation

Marsh Posté le 23-06-2005 à 11:08:36    

Bonjour  
je n'ai jamais fait de javascript et de plus je suis un mauvais..
mais j'avais besoin dans un formulaire de commande de pouvoir rajouter la meme ligne pour rajouter un autre produit :
 
<form name="Vin" method="POST" action="formcomm.php" id="Vin">
        <input type="hidden" name="__EVENTTARGET" value="" />
        <input type="hidden" name="__EVENTARGUMENT" value="" />
        <script language="javascript" type="text/javascript">
<!--
        function __doPostBack(eventTarget, eventArgument) {
                var theform;
                if (window.navigator.appName.toLowerCase().indexOf("microsoft" ) > -1) {
                        theform = document.Vin;
                }
                else {
                        theform = document.forms["Vin"];
                }
                theform.__EVENTTARGET.value = eventTarget.split("$" ).join(":" );
                theform.__EVENTARGUMENT.value = eventArgument;
                theform.submit();
        }
// -->
</script>
        <table border=0>
        <tr>
        <td valign=top width="30%">
        Fournisseur* :
        </td>
        <td align=left>
        <select name="NomFournisseur">
        <?php
        $server='localhost';
        $user='root';
        $password='';
 
        $db = mysql_connect($server,$user,$password)   or die('Erreur de connexion '.mysql_error());
        mysql_select_db('red cash',$db)  or die('Erreur de selection '.mysql_error());
 
       $requete = "SELECT NomFournisseur FROM fournisseurs";
       $result=mysql_query($requete,$db) or die('Erreur SQL !'.$requete.'<br>'.mysql_error());
       $i = mysql_num_rows($result);
       $compteur = 0;
 
       while ($compteur<$i) {
       $var = mysql_result($result, $compteur, "NomFournisseur" );
       echo "<option value=".$var.">".$var."</option>";
       $compteur ++;
        }
 
        ?>
        </select>
        </td>
        </tr>
        </table>
        <table border=0>
        <tr>
        <td valign=top width="10%">
        Vins :
        </td>
        <td valign=top width="10%">
        <select name="NomVin" size=1>
            <?php
 
 
       $requete2 = "SELECT NomProduit, PrixUnitaireHT FROM produits p, départements d WHERE p.numdepartement=d.numdepartement AND nomdepartement='Vin'";
       $result2=mysql_query($requete2,$db) or die('Erreur SQL !'.$requete2.'<br>'.mysql_error());
       $i2 = mysql_num_rows($result2);
       $compteur2 = 0;
 
       while ($compteur2<$i2) {
       $NomVin = mysql_result($result2, $compteur2, "NomProduit" );
       $PHTVin = mysql_result($result2, $compteur2, "PrixUnitaireHT" );
       echo "<option value=".$NomVin.">".$NomVin."&nbsp &nbsp".$PHTVin." €"."</option>";
       $compteur2 ++;
        }
 
        ?>
        </select>
        </td>
        <td valign=top width="10%">Quantité : </td>
        <td valign=top width="10%">
        <INPUT TYPE="TEXT"  name="QuantiteVin" align="top" size="5" maxlength="4">
        </td>
        <td valign=top width="15%">
        Conditionnement :
        </td>
        <td valign=top width="10%">
        <select name="ConditionnementVin"  size=1>
            <?php
 
 
       $requete21 = "SELECT NomConditionnement FROM conditionnements ";
       $result21=mysql_query($requete21,$db) or die('Erreur SQL !'.$requete21.'<br>'.mysql_error());
       $i21 = mysql_num_rows($result21);
       $compteur21 = 0;
 
       while ($compteur21<$i21) {
       $NomConditionnement = mysql_result($result21, $compteur21, "NomConditionnement" );
       echo "<option value=".$NomConditionnement.">".$NomConditionnement."</option>";
       $compteur21 ++;
        }
 
        ?>
        </select>
        </td>
        <td valign=top width="15%">
        Promotion :
        </td>
        <td valign=top width="10%">
        <INPUT TYPE="TEXT"  name="PromotionVin" align="top" size="5" maxlength="20">
        </td>
        </tr>
        <tr><td colspan=5><a href="javascript:__doPostBack('Send$_ctl0','')">Ajouter un autre vin</a><br>
</td></tr>
 
et au fait au lieu de me rajouter un ligne, ca m'ouvre la page de destination du formulaire...pourrait-on m'indiquer l'erreur ou m'orienter


---------------
merci
Reply

Marsh Posté le 23-06-2005 à 11:08:36   

Reply

Marsh Posté le 23-06-2005 à 11:09:36    

Oh maman le code [:le kneu]

Reply

Marsh Posté le 23-06-2005 à 12:07:27    

hummm jette tout à la poubelle

Reply

Marsh Posté le 23-06-2005 à 12:20:12    

L'idée m'intéresse.
 
J'ai un formulaire avec une ligne de paramètres à entrer.
Je veux pouvoir ajouter une nouvelle ligne similaire en cliquant sur un bouton.
 
Quelqu'un connait un site qui utilise ce genre de script (ou un tutorial ?)
 
à bientôt.


---------------
London Box Office: Comédie Musicale Londres
Reply

Marsh Posté le 23-06-2005 à 12:21:24    

Pouet, parce que ça repose entièrement sur JS, donc pas top

Reply

Marsh Posté le 23-06-2005 à 12:29:19    

FlorentG a écrit :

Pouet, parce que ça repose entièrement sur JS, donc pas top

ok, mais existe-t-il d'autres alternatives ? CSS ?  :??:  
 
Je n'ai pas le souvenir d'avoir vu ce genre de choses autrement qu'en JS.
 
L'idée est d'éviter d'avoir 36 lignes par défaut dans le formulaire pour qu'il reste lisible.


---------------
London Box Office: Comédie Musicale Londres
Reply

Marsh Posté le 23-06-2005 à 12:30:45    

C'est possible en PHP, mais ça nécessitera un va-et-vient d'information entre le serveur et le client à chaque fois que je veux ajouter une ligne, c'est pas top.


---------------
London Box Office: Comédie Musicale Londres
Reply

Marsh Posté le 23-06-2005 à 13:50:56    

FlorentG a écrit :

Pouet, parce que ça repose entièrement sur JS, donc pas top


En même temps si ce n'est que l'extensibilité du formulaire (-> amélioration de l'user experience) c'est pas gênant, tant que le formulaire de base reste utilisable sans JS [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 23-06-2005 à 13:52:23    

effisk a écrit :

ok, mais existe-t-il d'autres alternatives ? CSS ?  :??:  
 
Je n'ai pas le souvenir d'avoir vu ce genre de choses autrement qu'en JS.
 
L'idée est d'éviter d'avoir 36 lignes par défaut dans le formulaire pour qu'il reste lisible.


CSS :  

Citation :

CSS 2.1 is a style sheet language that allows authors and users to attach style (e.g., fonts and spacing) to structured documents (e.g., HTML documents and XML applications). By separating the presentation style of documents from the content of documents, CSS 2.1 simplifies Web authoring and site maintenance.


Quel rapport avec notre formulaire ? :D

masklinn a écrit :

En même temps si ce n'est que l'extensibilité du formulaire (-> amélioration de l'user experience) c'est pas gênant, tant que le formulaire de base reste utilisable sans JS [:spamafote]


C'est sûr ;)


Message édité par FlorentG le 23-06-2005 à 13:52:32
Reply

Marsh Posté le 23-06-2005 à 13:53:19    

D'ailleurs un truc marrant que j'ai remarqué. Quand on signale qu'un truc est relou à faire en JS, automatiquement y'a au moins un gars qui demande si c'est faisable en CSS :D

Reply

Marsh Posté le 23-06-2005 à 13:53:19   

Reply

Marsh Posté le 23-06-2005 à 13:58:28    

FlorentG a écrit :

D'ailleurs un truc marrant que j'ai remarqué. Quand on signale qu'un truc est relou à faire en JS, automatiquement y'a au moins un gars qui demande si c'est faisable en CSS :D


Les gens ont déjà du mal à séparer les couches d'une application, alors sur une page web hein :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 23-06-2005 à 14:03:29    

FlorentG a écrit :

CSS :  

Citation :

CSS 2.1 is a style sheet language that allows authors and users to attach style (e.g., fonts and spacing) to structured documents (e.g., HTML documents and XML applications). By separating the presentation style of documents from the content of documents, CSS 2.1 simplifies Web authoring and site maintenance.


Quel rapport avec notre formulaire ? :D

Eh bien avec une CSS, on peut faire mettons 30 lignes qu'on va cacher avec l'aide de la CSS et qui apparaîtront une par une à chaque fois qu'on clique sur un bouton.
C'est con ce que je dis ?  :)  


---------------
London Box Office: Comédie Musicale Londres
Reply

Marsh Posté le 23-06-2005 à 14:05:24    

effisk a écrit :

Eh bien avec une CSS, on peut faire mettons 30 lignes qu'on va cacher avec l'aide de la CSS et qui apparaîtront une par une à chaque fois qu'on clique sur un bouton.
C'est con ce que je dis ?  :)


Oui :)  
 
1- parce qu'aucun pseudo évènement CSS n'est associé aux clics (donc on ne peut de tte façon pas le faire, sauf avec :focus et ça devient un bordel immonde)
2- parce qu'on charge du markup inutile et probablement innomable pour mettre en place un truc pareil
3- parce qu'on retrouve le problème si on veut remplir... say... 60 champs


Message édité par masklinn le 23-06-2005 à 14:06:08

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 23-06-2005 à 14:11:52    

masklinn a écrit :

Oui :)  
 
1- parce qu'aucun pseudo évènement CSS n'est associé aux clics (donc on ne peut de tte façon pas le faire, sauf avec :focus et ça devient un bordel immonde)
2- parce qu'on charge du markup inutile et probablement innomable pour mettre en place un truc pareil
3- parce qu'on retrouve le problème si on veut remplir... say... 60 champs


1/ oui en fait que je disais "bouton" je pensais à un lien quoi. ok.
2/ je m'en doutais un peu mais bon...
3/ je m'attendais à celle-là. Supposons que 30 soit déjà beaucoup (et si c'est plus on soumet le formulaire et on recommence, pas grave).
 
Donc pas de JS, pas de PHP, pas de CSS. Il reste quoi ?


---------------
London Box Office: Comédie Musicale Londres
Reply

Marsh Posté le 23-06-2005 à 14:13:17    

Ben si, du PHP déjà... Et pis du JS pourquoi pas pour apporter un peu de confort pour ceux qui en disposent...

Reply

Marsh Posté le 23-06-2005 à 14:15:56    

effisk a écrit :

Donc pas de JS, pas de PHP, pas de CSS. Il reste quoi ?


Faudrait ptet lire mes posts :sarcastic:


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 23-06-2005 à 14:18:01    

FlorentG a écrit :

Ben si, du PHP déjà... Et pis du JS pourquoi pas pour apporter un peu de confort pour ceux qui en disposent...

Bon en fait le formulaire est en PHP.
Le JS est effectivement là pour apporter du "confort", i.e. faciliter la saisie de données en créant une nouvelle ligne de façon simple et rapide si besoin.
 
Finalement, le JS de guen16 ne va pas ?


---------------
London Box Office: Comédie Musicale Londres
Reply

Marsh Posté le 23-06-2005 à 14:18:49    

masklinn a écrit :

Faudrait ptet lire mes posts :sarcastic:


masklinn a écrit :

En même temps si ce n'est que l'extensibilité du formulaire (-> amélioration de l'user experience) c'est pas gênant, tant que le formulaire de base reste utilisable sans JS [:spamafote]


 :jap:  
 
C'est exactement ça


---------------
London Box Office: Comédie Musicale Londres
Reply

Marsh Posté le 23-06-2005 à 14:42:39    

effisk a écrit :

Bon en fait le formulaire est en PHP.
Le JS est effectivement là pour apporter du "confort", i.e. faciliter la saisie de données en créant une nouvelle ligne de façon simple et rapide si besoin.
 
Finalement, le JS de guen16 ne va pas ?


Chais pas, j'ai pas trop eu le courage de lire son code vu comme il est "propre", mais j'ai l'impression qu'il submit son formulaire à chaque fois, donc ça n'a rien à voir, il aurait mis un submit normal à la place de son machin qui fait de la magie noire ça aurait donné le même résultat [:petrus75]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 23-06-2005 à 15:19:39    

j'aodre les formulaires fait avec des tableaux lauleee
 ca allourdi la page à mort

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed