Page 1 sur 1
Controle sans effacement
Posté : 11 nov. 2006, 16:26
par Dom!
Bonjour,
Je contrôle un champ de mon formulaire mais le probleme c'est que le clik sur le bouton qui effectue ce controle m'efface tout le formulaire... comment garder les informations saisies avant ce clik ?
Voici le script :
<script language="JavaScript">
function verif_pass() {
type1 = document.formulaire.type.value;
type2 = document.formulaire.type1.value;
if ( type1 == type2 ) {
window.alert('Le client posséde deja une adresse courrier');
return false;
}
else {
formulaire.submit();
return true;
}
}
</script>
Merci pour votre aide
Posté : 13 nov. 2006, 12:34
par Ryle
Ta fonction ne supprimant en rien les données de ton formulaire, n'aurais-tu pas déclaré ton bouton comme étant de type "reset" au lieu de "button" ?
Posté : 13 nov. 2006, 17:21
par Dom!
Je suis reparti sur une autre méthode mais cela pose un autre probleme :
<script type="text/javascript">
function verify()
{
if (document.getElementById('type').value == document.getElementById('type1').value)
document.getElementById('type').value = '';
alert('Le client posséde déja une adresse courrier.');
}
</script>
Le probleme c'est que type est une liste déroulante, du coup quoi que l'utilisateur saisisse dans la liste l'alerte est déclenchée.
Pourquoi ? merci pour votre aide
Posté : 13 nov. 2006, 18:35
par Hermès
Il faudrait que tu nous donnes la partie où il y a le code de ton formulaire pour qu'il soit plus facile de trouver le problème.
Posté : 13 nov. 2006, 18:46
par Ryle
C'est parce que tu n'indentes pas correctement ton code que tu ne vois pas le problème et donc la solution... Comme ceci, ce qui te manque pour executer l'alerte seulement si les deux valeurs sont égales devrait être plus clair :
<script type="text/javascript">
function verify() {
if (document.getElementById('type').value == document.getElementById('type1').value)
document.getElementById('type').value = '';
alert('Le client posséde déja une adresse courrier.');
}
</script>

Posté : 14 nov. 2006, 09:49
par Dom!
Non toujours pas bon !
L'alerte se déclenche...
Je vous indiques le début de mon formulaire :
Si vous avez une idée je suis preneur.. merci d'avance
<form action="ajout_adresse_action.php" method="post" name="formulaire" id="formulaire">
<table width="535" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Type adresse </td>
<td><select name="type" class="saisiederoule" id="type" onChange="verify()">
<option value="" selected="selected">Aucun</option>
<?
$sqldip = 'select * from tb_type_adresse order by ordre';
// $nbsql += 1;
if ($resselectdip = mysql_query($sqldip)) {
while ($selectdip = mysql_fetch_array($resselectdip))
{
print '<option value="'.$selectdip["id"].'"'.$temp.'>'.$selectdip["type"].'</option>';
}
}
?>
</select>
Posté : 14 nov. 2006, 12:40
par Ryle
Le code que j'ai donné n'était rien de plus que le tiens mis en forme... bien sur que l'alerte se déclenche toujours, puisqu'elle n'est pas conditionnée par le if(), comme tu peux le voir avec une indentation correcte
Si tu veux que ton if() porte sur plusieurs instructions il faut utiliser des accolades pour définir lesquelles :
<script type="text/javascript">
function verify() {
if (document.getElementById('type').value == document.getElementById('type1').value) {
document.getElementById('type').value = '';
alert('Le client posséde déja une adresse courrier.');
}
}
</script>