Bouton par défaut parmi plusieurs input type="image

Eléphanteau du PHP | 27 Messages

13 janv. 2006, 14:21

Bonjour à tous.

j'ai un formulaire tout ce qu'il y a de plus classique avec 2 boutons <input type="image">.
Sur l'un deux, il y a onclick="javascript:window.close();" (qui ferme le popup) tant dis que l'autre sert à envoyer le formulaire.

Quand je suis dans les champs à saisir et que j'appuie sur valider, le formulaire se ferme (activation du bouton avec le javascript) au lieu de faire une action spécifique qui devrait se lancer grace à l'activation du 2eme bouton.

Question: Comment choisir le bouton par défaut quand on a plusieurs <input type="image">, c'est à dire celui qui sera activer lors de la validation sur un des champs du formulaire.

Il va sans dire que des trucs du style un evenement javascript sur chaque champs pour valider le formulaire sont, de préférences, à éviter, je cherche une maniere pratique, rapide et si possible valable meme si le javascript est désactivé.

Pour ceux qui serait tenter de me dire que j'ai pas a utiliser 2 <type "image"> dans mon formulaire et que des boutons classiques c'est tout aussi bien ou bien que les popup saimal, je réponds d'ores et déjà que le webdesigneur et le client ont décidé que ca serait comme ca et que je n'ai pas mon mot à dire sur ce choix...

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 janv. 2006, 14:36

Salut, essaie en changeant l'ordre des boutons:

1er bouton valider
2eme bouton fermer

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 27 Messages

13 janv. 2006, 14:38

Et non... je ne peux pas non plus changer l'ordre des boutons (c'est dur la vie, hein ?) pour la meme raison, la webdesigneuse n'a pas envie.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 janv. 2006, 14:59

la je sèche...

tu devrais prendre une bonne bouffée d'air et aller cette "webdesigneuse" pour lui imposer un inversement des boutons :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 27 Messages

13 janv. 2006, 15:00

oh ben non, elle est mignone est gentille, je vais pas la taper pour ca... c'est le client qui est un @#$¤% :lol:

Sinon, personne n'a une idée?

Mammouth du PHP | 19672 Messages

13 janv. 2006, 15:02

:idea: Une idée

Tu pourrais ruser : au lieu d'un bouton de type image, mets un type submit et déguise-le avec un style CSS en utilisant ton image. Ça fonctionnera même sans JavaScript.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 27 Messages

13 janv. 2006, 15:05

Oula... c'est crade ca...

C'est quand meme dingue qu'il n'y ait pas un argument "default" ds les input...

Mammouth du PHP | 19672 Messages

13 janv. 2006, 15:11

Oula... c'est crade ca...
Ha bon ? Et pourquoi ça s'il te plait ? C'est au contraire parfaitement valide et ça présente en outre un avantage: on sépare le fond de la forme et le jour où tu voudras faire une refonte graphique, tu changeras une feuille de style et c'est tout sans devoir fouiller le code HTML un peu partout. Et c'est surtout parfaitement fonctionnel.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 27 Messages

13 janv. 2006, 15:21

bon alors j'ai pas compris ce que tu veux faire... pasque moi j'ai compris: "tu mets un bouton et tu rajoutes une image par dessus en css"

Mammouth du PHP | 19672 Messages

13 janv. 2006, 15:23

Ben c'est à peu près ça à ce détail près que tu le mets en background du bouton.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 27 Messages

13 janv. 2006, 15:43

aaaaaaaaaaaaaaaaaaaaahhhhhhhhhh
ok ok ok ok

je teste ca de suite... et... (suspense)... ca marche pas... l'input image prends le dessus

Mammouth du PHP | 19672 Messages

13 janv. 2006, 15:52

Ben je vois pas trop, si tu as le code du formulaire à nous montrer, on pourrait éventuellement faire des tests en local :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 27 Messages

13 janv. 2006, 15:57

rien de transcandant:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="<?php echo PATH_css; ?>style.css" rel="stylesheet" type="text/css">
<link href="<?php echo PATH_css; ?>style_popup.css" rel="stylesheet" type="text/css">
<SCRIPT language="javascript" type="text/javascript" src="edealphp/utils/js/popup_erreur.js"></SCRIPT>
<SCRIPT language="javascript" src="edealphp/utils/js/popup_saisie_rapide.js"></SCRIPT>
</script>

<body <?php if(isset($_SESSION[ "aFormErrors" ])){echo "onload=\"javascript:openErreur();\"";}?> >
<div id="conteneur"> 
	<form name="form_ecriturecomptable" method="post" action="index.php">
		<input type="hidden" name="php_action" value="BATCH_demande_ecriturecomptable">
		<div id="header"> 
   			<div id="titre"><span class="titre1"><?php echo lang_get('traitement_ecriture_comptable_titre',CONFPRJ_langue); ?></span></div>
 	  	</div>
		
		<table class="tablehidden" align="center" border="0">
			<tr>
				<td class="tdhidden">&nbsp;</td>
			</tr>
			<tr>
				<td class="tdhiddenright" width="50%" ><span class="obligatoire"> * </span><?php echo lang_get('traitement_ecriture_comptable_periodedu',CONFPRJ_langue); ?><span class="textError"><?php /* ERROR_FLAG */ ErrorProvider::dispErrorFlag('TEXT_periode_du',$numError,'textError'); ?></span></td>
				<td class="tdhidden" ><input name="periode_du" type="text" value="<?php echo $periode_du; ?>" size="10" maxlength="10"></td>
			</tr>
			<tr>
				<td class="tdhiddenright" ><span class="obligatoire"> * </span><?php echo lang_get('traitement_ecriture_comptable_periodeau',CONFPRJ_langue); ?><span class="textError"><?php /* ERROR_FLAG */ ErrorProvider::dispErrorFlag('TEXT_periodeau',$numError,'textError'); ?></span></td>
				<td class="tdhidden" ><input name="periode_au" type="text" value="<?php echo $periode_au; ?>" size="10" maxlength="10"></td>
			</tr>
			<tr>
				<td class="tdhiddenright" >
					<div style="visibility: hidden;">
						<?php echo $organisme_dropdown; ?>
					</div>
		        </td>
			</tr>
			<tr><td class="tdhidden">&nbsp;</td></tr>
			<tr>
				<td class="tdhiddencenter"><input type="image" src="<?php echo PATH_images; ?>bt_fermefenetre.gif" class="checkbox" alt="" width="120" height="30" border="0" onclick="javascript:window.close();"></td>
				<td class="tdhiddencenter"><input type="submit" style="background: url(<?php echo PATH_images; ?>bt_valider.gif); width: 76px; height: 30px;" class="checkbox" alt="" width="76" height="30" border="0" value=""></td>
			</tr>
		
		</table>
	</form>
</div>  
</body>
</html>

Mammouth du PHP | 19672 Messages

13 janv. 2006, 16:11

On lui demande pas d'être transcendant, mais utilisable par contre: tu aurai la version seulement HTML ? Je n'ai pas les fonctions ni les fichiers externes, donc je peux pas l'afficher en local. Fais afficher la source et colle-ça à la place ici.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 27 Messages

13 janv. 2006, 16:15

c'est pas con ca :)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="css/fr/style.css" rel="stylesheet" type="text/css">
<link href="css/fr/style_popup.css" rel="stylesheet" type="text/css">
<SCRIPT language="javascript" type="text/javascript" src="edealphp/utils/js/popup_erreur.js"></SCRIPT>
<SCRIPT language="javascript" src="edealphp/utils/js/popup_saisie_rapide.js"></SCRIPT>
</script>

<body >
<div id="conteneur">
<form name="form_ecriturecomptable" method="post" action="index.php">
<input type="hidden" name="php_action" value="BATCH_demande_ecriturecomptable">

<div id="header">
<div id="titre"><span class="titre1">G&eacute;n&eacute;ration des &eacute;critures comptables</span></div>
</div>

<table class="tablehidden" align="center" border="0">
<tr>
<td class="tdhidden">&nbsp;</td>
</tr>

<tr>
<td class="tdhiddenright" width="50%" ><span class="obligatoire"> * </span>P&eacute;riode du:<span class="textError"></span></td>
<td class="tdhidden" ><input name="periode_du" type="text" value="" size="10" maxlength="10"></td>
</tr>
<tr>
<td class="tdhiddenright" ><span class="obligatoire"> * </span>au:<span class="textError"></span></td>

<td class="tdhidden" ><input name="periode_au" type="text" value="" size="10" maxlength="10"></td>
</tr>
<tr>
<td class="tdhiddenright" >
<div style="visibility: hidden;">
<select name="id_organisme" ><option value='FO' selected>Fondation</option><option value='MV'>Mouvement ATD</option><option value='ET'>test</option></select> </div>
</td>

</tr>
<tr><td class="tdhidden">&nbsp;</td></tr>
<tr>
<td class="tdhiddencenter"><input type="image" src="images/fr/bt_fermefenetre.gif" class="checkbox" alt="" width="120" height="30" border="0" onclick="javascript:window.close();"></td>
<td class="tdhiddencenter"><input type="image" src="images/fr/bt_valider.gif" class="checkbox" alt="" width="76" height="30" border="0"></td>
</tr>

</table>
</form>
</div>

</body>
</html>