Aller au contenu

Bouton reset formulaire


Gribouille26

Sujets conseillés

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?

Lien vers le commentaire
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?

Lien vers le commentaire
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:

Lien vers le commentaire
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

Lien vers le commentaire
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

Lien vers le commentaire
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
Lien vers le commentaire
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...)

Lien vers le commentaire
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

Lien vers le commentaire
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

Lien vers le commentaire
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

Lien vers le commentaire
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... :(

Lien vers le commentaire
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
Lien vers le commentaire
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.

Lien vers le commentaire
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...

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...