Jump to content
Sign in to follow this  
Gribouille26

Bouton reset formulaire

Rate this topic

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?

Share this post


Link to post
Share on other 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 ;)

Share this post


Link to post
Share on other 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?

Share this post


Link to post
Share on other sites

Oui mais ca implique de recharger la page :)

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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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:

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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]

Edited by Gribouille26

Share this post


Link to post
Share on other 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...)

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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... :(

Share this post


Link to post
Share on other 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"

Edited by Titag

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...