Aller au contenu
Gribouille26

Bouton reset formulaire

Noter ce sujet :

Recommended Posts

Bonjour, :)

Je voudrais faire un bouton pour remettre à zero les differents champs d'un formulaire.

<input type="reset" value="Remise à zero">

J'ai utilisé ça, mais ça ne marche pas. :huh:

Ca peut être dut au fait que les champs sont remplis par des variables et pas par le visiteur?

Partager ce message


Lien à poster
Partager sur d’autres sites

Je crois oui... en fait ca ne vide pas forcément les champs mais les remet dans leur état initial, remplis dans ton cas ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Alors, si je commence à comprendre un peu le php, il faut que je déclanche une fonction lorsque je clique sur ce bouton qui fasse que toute mes variables prennent un valeur "", puiqu'elles ne sont pas vident par défaut.

C'est bien ça?

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui mais ca implique de recharger la page :)

Le php s'exécute sur le serveur ne l'oublions pas ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour bien faire la différence entre PHP et HTML/javascript je suis tombé sur un site sympa : Le site du Zéro... ne le prend pas mal :) mais ca éclaire bien les néophytes à mon avis.

Partager ce message


Lien à poster
Partager sur d’autres sites

Tiens, c'est drôle! J'ai passé la soirée à lire ses tutoriaux!!! :lol:

J'ai essayé d'ecrire cette fonction de remise à zero.

J'ai placé ça sur le bouton:

<input type="reset" value="Remise à zero" onclick=vide()>

Et cette fonction au début de mon code php:

function vide($euros,$francs,$marks)
{
$euros="";
$francs="";
$marks="";
}

Ca ne marche pas!

Voyez vous des erreurs? :huh:

Partager ce message


Lien à poster
Partager sur d’autres sites

Je te conseillerais plutôt de faire ça en Javascript. Voci quelques éléments qui pourront te servir...

<form name="formulaire">
<input name="champ">
</input>
</form>

document.formulaire.champ.value='';

Tizel

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu peux aussi essayer en php, avec recharchement de la page.

<?php
if ($reset== true)
{
$champ = "";

}
?>



<form name="formulaire" action="<?php echo $PHP_SELF;?>" method="post">
<input name="champ">
<input type="submit" value="Validation">
<input type="submit" name="reset"  value="reset">
</form>

A arranger selon tes désidératas.

xpatval

Partager ce message


Lien à poster
Partager sur d’autres sites

Je préfererai tout mettre en php.

J'ai essayé:

if ($reset== true)
{
$euros="";
$francs="";
$marks="";
}

avec:

<input type="submit" value="Remise à zero" name="reset"></p>

Ca marche mais ça écrit -o! :o

[édit] c'est bon, il fallait mettre un espace entre le guillemets!

MERCI!!! :up: [/edit]

Modifié par Gribouille26

Partager ce message


Lien à poster
Partager sur d’autres sites

En fait, ça ne marche plus pour mon autre bouton submit.

<input type="submit" value="convertir" name="convert">

Il faudrait que je fasse:

if ($convert== true)
{...}

Mais dans ce nouveau if, je devrai y placer plusieurs autres if que je fait déjà!

Comment écrire ça?

Si je place juste mes anciens if dans {...}, ça ne marche pas!

Concrètement, j'ai ça:

<?
if ($reset== true)
{
$euros=" ";
$francs=" ";
$marks=" ";
}
if ($convert== true)
{
if(empty($francs) and empty($marks) and isset($euros))
{
$francs= round(100*$euros*6.559-0.01)/100;
$marks= round(100*$euros*1.955-0.01)/100;
}
if(empty($euros) and empty($marks) and isset($francs))
{
$euros= round(100*$francs/6.559-0.01)/100;
$marks= round(100*$francs/3.3538-0.01)/100;
}
if(empty($euros) and empty($francs) and isset($marks))
{
$euros= round(100*$marks*0.5112-0.01)/100;
$francs= round(100*$marks*3.3538-0.01)/100;
}
}
?>
...
<form method="post" action="convert.php">
<p><input type="text" size="10" name="euros" value="<? echo "$euros";?>"> Euros<br></p>
<p><input type="text" size="10" name="francs" value="<? echo "$francs";?>">  Francs<br></p>
<p><input type="text" size="10" name="marks" value="<? echo "$marks";?>">  Marks<br></p>
<p><input type="submit" value="convertir" name="convert">
<input type="submit" value="Remise à zero" name="reset"></p>
</form>

Voyez-vous une erreur expliquant l'interference entre les deux boutons? :unsure:

(le "convert" ne marche plus depuis que l'autre est devenu type="submit" aussi...)

Partager ce message


Lien à poster
Partager sur d’autres sites

Gromo dosso, cela pourrait donner qlque chose comme ça:

if ($reset== true)
{
$euros="";
$francs="";
$marks="";
$convert = 0;
}

switch ($convert)
{
  case 0:
  $convert = 1;
  ?>
  <form method="post"action="<?php echo $PHP_SELF;?>" method="post">
  <p><input type="text" size="10" name="euros" value="<? echo "$euros";?">    Euros<br></p>
  <p><input type="text" size="10" name="francs" value="<? echo "$francs";?>">  Francs<br></p>
  <p><input type="text" size="10" name="marks" value="<? echo "$marks";?>">  Marks<br></p>
  <p><input type="submit" value="convertir" name="convert">
  <input type="submit" value="Remise à zero" name="reset"></p>
  </form>
<?php
  break;

  case 1:
    // tu mets tes conditions
  break;
}

xpatval

Partager ce message


Lien à poster
Partager sur d’autres sites

Lorsque $convert vaut 0, tu passes dans le formulaire afin de saisir. Dans ce formulaire, tu valorises $convert à 1.

Lorsque tu soumets, la page se recharge avec, entre autre, la valeur de $convert (1)

Et comme $convert vaut 1, tu ne repasses plus dans le formulaire, mais dans les tests de condition.

Tu peux ainsi continuer comme cel, si tu as d'autres choses à faire.

Dans le case 1: , hormis tes tests, tu valorises $convert à 2, avec un bouton de validation.

Tu recharges ta page, $convert valant deux, tu passeras dans le case2: etc...

xpatval

Partager ce message


Lien à poster
Partager sur d’autres sites
Déjà, je ne vois pas quand $convert peut bien valoir 0 ou même 1?

$convert est une variable de positionnement dans ton script.

C'est TOI qui détermine sa valeur, de manière à franchir les différentes étapes que tu souhaites.

C'est toi qui initialise $convert à vide, ou = 0.

C'est TOI qui lui attribue la valeur 1 lorsque tu passes dans la condition où $convert vaut dans un premier temps 0.

C'est Toi qui lui attribue la valeur 2 lorsque tu passes dans la condition où $convert vaut 1 .

Etc...

xpatval

Partager ce message


Lien à poster
Partager sur d’autres sites

D'accord, je comprend! (un peu)

Mais ça me paraît bien complexe pour ce que je veux faire...

J'ai essaye comme ça aussi:

<?

if ($bouton==zero) 
{
$euros=" ";
$francs=" ";
$marks=" ";
}

if ($bouton==convertir)
{
if(empty($francs) and empty($marks) and isset($euros))
{
$francs= round(100*$euros*6.55957-0.01)/100;
$marks= round(100*$euros*1.95583-0.01)/100;
}
if(empty($euros) and empty($marks) and isset($francs))
{
$euros= round(100*$francs/6.55957-0.01)/100;
$marks= round(100*$francs/3.353855-0.01)/100;
}
if(empty($euros) and empty($francs) and isset($marks))
{
$euros= round(100*$marks*0.511292-0.01)/100;
$francs= round(100*$marks*3.353855-0.01)/100;
}
}
?>
<form method="post" action="convert.php">
<p><input type="text" size="10" name="euros" value="<? echo "$euros";?>"> Euros<br></p>
<p><input type="text" size="10" name="francs" value="<? echo "$francs";?>">  Francs<br></p>
<p><input type="text" size="10" name="marks" value="<? echo "$marks";?>">  Marks<br></p>
<p><input type="submit" value="convertir" name="bouton">
<input type="submit" value="zero" name="bouton"></p>
</form>

Ca me paraît logique, mais ça marche pas non plus... :(

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu es sur de la valeur de $bouton ? Tu devrais l'afficher quelque part pour voir quelle valeur ca te sort...

Et met des guillemets ou des cotes $bouton == "convertir"

Modifié par Titag

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui en fait c'est la conversion qui ne marche pas...

Essaye en changeant les conditions :

empty($francs) && empty($marks) && isset($euros)

je ne sais pas où tu as vu "and" mais je ne suis pas sur que ca marche ainsi... && marche c'est sur.

Partager ce message


Lien à poster
Partager sur d’autres sites

Avant de mettre le bouton pour effacer, j'utilisait AND, et ça marchait très bien!!!

J'ai essayé avec &&: pas de différence... :(

Les conversions marchaient très bien avant, c'est ce bouton qui à mit le bazar et qui a fait que le bouton conversion ne marche plus. Si je l'enleve, ça marche...

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×