bouton javascript qui doit agir sans le form ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : bouton javascript qui doit agir sans le form ?

Re: bouton javascript qui doit agir sans le form ?

par wwwbillgates » 16 juin 2010, 14:03

Effectivement faire mon form dans la seconde boucle est sque j'aurais dus faire... arf! :oops: merci pour ton aide bonne journee :wink:

Re: bouton javascript qui doit agir sans le form ?

par Nours312 » 15 juin 2010, 22:36

slt ! .. c'est +/- ce que j'avais compris !...

Donc :: pourquoi ne pas créer un <form> par boucles de ton second while() .. ?

dans l'état, si l'on mets plusieurs valeurs, seule celle la plus basse (dans l'arbo) sera prise en compte ... mais pas forcément celle qui correspond à l'élément que l'on souhaites ajouter au panier !... #-o ... et ce n'est pas bon ^^

Si tu crée un formulaire dans ta seconde boucle (celle qui va créer le bandeau bleu) lorsque l'on va appuyer sur le bouton, seul les données contenues dans ce bandeau seront envoyées ... et tu peux par ailleurs choisir une url spécifique ;)

non ? qu'en penses tu ?

Re: bouton javascript qui doit agir sans le form ?

par wwwbillgates » 15 juin 2010, 16:04

Voici un tit aperçu de la page concerné:

http://www.mabouille.com/mabouille/temp ... ategorie=1

En fait j'ai une liste d'articles qui s'affiche à partir d'un while, et dans ces articles j'ai un autre while qui va afficher le nombre de cellules bleu avec chacune un bouton des sous articles. Le problème est que tout les selecteur de quantité pour les articles ayant plus de 1 cellule de sous articles ne fonctionnes pas car il faudrai que le while génere un id unique pour chacun des boutons mais qui ne pourra jamais etre toujours identique a l'ID du form!!! Je pense qu'il n'y a qu"en se passant de l'id du form que cela est possible ? :?

Voila mon code complet :
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>&#8362; Une idée cadeau original pour un anniversaire et des cadeaux Personnalisés de départ à la retraite.</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	   <meta name="description" content="Idée cadeau original pour homme. La boutique des cadeaux originaux pour femme. Idée cadeaux pour anniversaire, noël, saint valentin, départ en retraite...">
	   <meta name="keywords" content="anniversaire, aniversaire, aniverssaire, idée cadeau, idée cadeaux, idées cadeaux, idee, idée, idées,idee,cadeau, cadeaux, original, cadeau original, originaux, cadeaux originaux, sympathique, caricature, carricature, caricature, insolites, carte personnalisée, perssonalisee, rigolo, pas cher, fun">
	
<!--rollover_mabouille-->
<?php include("../../includes/scripts/rollover_mabouille.php"); ?>
 
 
 
<!--bouton plus et moins pour le choix de la quantité de l'article-->
<script language="JavaScript" type="text/JavaScript">
<!--
function decremente(objet) {
  if (objet.value > 0) {
    objet.value--;
  }
}

function incremente(objet) {
  objet.value++;
}
//-->
</script>
 

   </head>

   
   
   
   
   
   
<body>
<link rel="stylesheet" media="screen" type="text/css" title="CSS" href="../../templates/css/pages.css" />
<link rel="stylesheet" media="screen" type="text/css" title="CSS" href="../../templates/css/etape4.css" />

<!-------------------->
<!---- Menu haut
<!-------------------->   

<!--connexion mysql-->
<?php include("../../class/bouilleDB.php"); ?>
<!--fonctions-->
<?php include("../../includes/functions/functions.php"); ?>
<!--menu du haut-->
<?php include("../../templates/pages/menu_haut.php"); ?>
<!--script POPUP-->
<?php include("../../includes/scripts/popup.php"); ?>





<!---- page blanche début ---->
<div id="page_blanche">





<!---- Frise ---->
<p >
<img src="../../interface/frise_1.gif" />
<img src="../../interface/frise_2.gif" />
<img src="../../interface/frise_3.gif" />
<img src="../../interface/frise_4.gif" />
<img src="../../interface/frise_5off.gif" />
<img src="../../interface/frise_6off.gif" />
<img src="../../interface/frise_7off.gif" />
</p>



<br />



<!---- Introduction ---->
<p class="introduction" >
	Choix des supports...
</p>


<!--------------------------------->
<!---- Titre catégorie supports
<!--------------------------------->

<!---- Catégorie supports ---->
<div class="categorie_par_choix_supports" >
<p>
	<a href="../../templates/pages/etape4_supports_categorie.php?categorie=1"><?php echo mise_en_surbrillance_dun_titre(1, $_GET['categorie']); ?>PAPETERIE, CADRES</span></a>
-
	<a href="../../templates/pages/etape4_supports_categorie.php?categorie=2"><?php echo mise_en_surbrillance_dun_titre(2, $_GET['categorie']); ?>MAISON, DECO</span></a>
-
	<a href="../../templates/pages/etape4_supports_categorie.php?categorie=3"><?php echo mise_en_surbrillance_dun_titre(3, $_GET['categorie']); ?>VAISSELLE, CUISINE</span></a>
-
	<a href="../../templates/pages/etape4_supports_categorie.php?categorie=4"><?php echo mise_en_surbrillance_dun_titre(4, $_GET['categorie']); ?>T-SHIRTS, VETEMENTS</span></a>
-
	<a href="../../templates/pages/etape4_supports_categorie.php?categorie=5"><?php echo mise_en_surbrillance_dun_titre(5, $_GET['categorie']); ?>JEUX, JOUETS</span></a>
-
	<a href="../../templates/pages/etape4_supports_categorie.php?categorie=6"><?php echo mise_en_surbrillance_dun_titre(6, $_GET['categorie']); ?>BUREAU, ACCESSOIRES</span></a>
</p>
</div>

















<?php
  /*********************/
 /*** Variables POST
/*********************/
$_SESSION['supports']['action'] = (isset($_POST['action'])? $_POST['action']:null );
$_SESSION['supports']['libelleProduit'] = (isset($_POST['support_titre'])? $_POST['support_titre']:null );
$_SESSION['supports']['prixProduit'] = (isset($_POST['support_prix'])? $_POST['support_prix']:null );
$_SESSION['supports']['qteProduit'] = (isset($_POST['support_quantite'])? $_POST['support_quantite']:null );
$_SESSION['supports']['optionProduit'] = (isset($_POST['support_option'])? $_POST['support_option']:null );
$_SESSION['supports']['textarea'] = (isset($_POST['textarea'])? $_POST['textarea']:null );




	$_SESSION['supports']['textarea'] = htmlspecialchars($_SESSION['supports']['textarea']);
	
	//Suppression des espaces verticaux
	$_SESSION['supports']['libelleProduit'] = preg_replace('#\v#', '',$_SESSION['supports']['libelleProduit']);
	$_SESSION['supports']['optionProduit'] = preg_replace('#\v#', '',$_SESSION['supports']['optionProduit']);
		   
	//On verifie que $support_prix soit un float
	$_SESSION['supports']['prixProduit'] = floatval($_SESSION['supports']['prixProduit']);
?>

	




	



	
		
		
		
		
		
<?php
  /******************************************/
 /*** Redirection vers étape de supports
/******************************************/
if(!empty($_SESSION['supports']['action']))
{
	$erreur_objet_manquant = array();

	
	
	//Erreur quantité manquante
		if ($_SESSION['supports']['qteProduit'] == 0)
		{
			?><script language="javascript"> alert("Veuillez choisir une quantité pour ce support"); </script><?php
			$erreur_objet_manquant[0] = "Veuillez choisir une quantité";
		}
	//Erreur option manquante
		if (!empty($_POST['numero_option']) AND $_SESSION['supports']['optionProduit'] == $_POST['numero_option'])
		{
			?><script language="javascript"> alert("Veuillez choisir une option pour ce support"); </script><?php
			$erreur_objet_manquant[1] = "Veuillez choisir une option pour les supports concernés";
		}
		
		
		if (empty($erreur_objet_manquant))
		{
			header("Location: ../../templates/pages/etape4_supports.php");
			exit();
		}
					
}	
?>















<?php
  /*********************************************************/
 /*** Affichage du tableau d'erreur pour la redirection
/*********************************************************/
echo '<div class="tableau_derreur" >';
	if (isset ($erreur_objet_manquant))
	{
		if( count( $erreur_objet_manquant ) !== 0 )
		{
			echo( "\t\t<ul>\n" );
			foreach( $erreur_objet_manquant as $error )
			{
				echo( "\t\t\t<li>$error</li>\n" );
			}
			echo( "\t\t</ul>\n" );
		}
	}
echo '</div>';
?>			
		
		
	










	



<?php
  /***********************/
 /*** Boite de support
/***********************/
if (isset($_GET['categorie']))
{

			// Insertion à l'aide d'une requête préparée
			$reponse = $bdd->prepare("
									SELECT *
									FROM bouille_supports
									WHERE categorie = :categorie
									ORDER BY ordre
									");
			$reponse->execute(array('categorie' => $_GET['categorie']));


	while ($bouille_supports = $reponse->fetch())
	{
	
		$bouille_supports['description'] = nl2br($bouille_supports['description']);
		?>
		
		
		
		
		
		
		
		<!---Post--->		
		<form method="post" name="formulaire<?php echo $bouille_supports['id']; ?>" action="">
			
			<input type="hidden" name="id" value="<?php echo $bouille_supports['id']; ?>" />
			<input type="hidden" name="support_titre" value="<?php echo $bouille_supports['titre']; ?>" />
			<input type="hidden" name="support_prix" value="<?php echo $bouille_supports['prix1']; ?>" />
			<input type="hidden" name="action" value="ajout" />
		
		
		
	
		
		
		
		
		
		<div id="boite_support" >
		
		<p><span class="titre" ><?php echo $bouille_supports['titre']; ?></span></p>
		
		
		
		<p><img src="../../support/<?php echo $bouille_supports['photo']; ?>" alt="Image contractuelle du support." /></p>


		
		<div class="description" >
		

			<?php
			  /****************************************************************/
			 /*** Afficher Textarea s'il est présent dans la base de donnée
			/****************************************************************/		
			if ($bouille_supports['areatext'] != null)
			{
				?>
				<p class ="textarea" >
				<label for="textarea" ><?php echo $bouille_supports['areatext']; ?></label><br />
				<textarea rows="5" cols="20" name="textarea" id="textarea"></textarea>
				</p>
				<?php
			}
			?>

			
			<p><?php echo $bouille_supports['description']; ?></p>
		</div>
		




 
		
		
		
	
		
		
		
		
		<?php
		  /****************************************/
		 /*** Quantite de cellules d'un article
		/****************************************/					
		$quantite_cellules = 0;		
				
		if (!empty($bouille_supports['texte1']))
		{
			$quantite_cellules = 1;
		}
		if (!empty($bouille_supports['texte2']))
		{
			$quantite_cellules = 2;
		}
		if (!empty($bouille_supports['texte3']))
		{
			$quantite_cellules = 3;
		}
		?>
		
		
		
		<?php	
		  /*************************/
		 /*** Boucle des cellule
		/*************************/
		$cellule_supplementaire = 1;
		while ($cellule_supplementaire <= $quantite_cellules)
		{

			

			
				?>
				<div class="cellule" >
				<p>
				<span class="gras" ><?php echo 'Prix : ' . $bouille_supports['prix' . $cellule_supplementaire] . ' €'; ?></span>
				
				<span class="nom_de_larticle" ><?php echo $bouille_supports['texte' . $cellule_supplementaire]; ?></span>
				
				
				
				
				
				<?php
				  /*************************/
				 /*** Select des options
				/*************************/			
				if (!empty($bouille_supports['options']))
				{

					//Select des options tailles, couleur, choix, etc.
					$nombre_de_lignes = 0;


					$select_option = $bouille_supports['options'];
					$select_option = explode('[sep]', $select_option);
					$nb_de_select_option = count($select_option);
					$nb_de_select_option = $nb_de_select_option - 2;

					
					

					?><select name="support_option" id="menu"><?php
					while ($nombre_de_lignes <= $nb_de_select_option)
					{
						?>
						<option value="<?php echo $select_option[$nombre_de_lignes]; ?>"><?php echo $select_option[$nombre_de_lignes]; ?></option>
						<?php
						$nombre_de_lignes++;
					}
					?></select>
					<input type="hidden" name="numero_option" value="<?php echo $select_option[0]; ?>" />

				<?php
				}

				
				
				
				
				
				  /****************************/
				 /*** selecteur de quantité
				/****************************/					
				// Vérifie qu'il ne s'agit pas d'un support numérique gratuit puis affiche le selecteur de quantité
				if ($bouille_supports['numerique'] == null)
				{
					?>
					<span class="gras" >Quantité :</span>


					<img src="../../interface/bt_moins.gif" onmouseover="this.src='../../interface/bt_moins_push.gif';" onmouseout="this.src='../../interface/bt_moins.gif';" onclick="javascript:decremente(document.formulaire<?php echo $bouille_supports['id']; ?>.support_quantite);" />
						<input type="text" name="support_quantite" value="0" size="1" />
					<img src="../../interface/bt_plus.gif" onmouseover="this.src='../../interface/bt_plus_push.gif';" onmouseout="this.src='../../interface/bt_plus.gif';" onclick="javascript:incremente(document.formulaire<?php echo $bouille_supports['id']; ?>.support_quantite);" />             
					<?php
				}
				elseif ($bouille_supports['numerique'] == 1)
				{
					?><input type="hidden" name="support_quantite" value="1" /><?php
				}
				
				
				
				
				  /*********************/
				 /*** Bouton ajouter
				/*********************/				
				?>
				<input type="image" value="ajouter" class="bouton_ajouter" src="../../interface/bt_ajouter.gif" onmouseover="this.src='../../interface/bt_ajouter_push.gif'" onmouseout="this.src='../../interface/bt_ajouter.gif'" />
				</p>
				</div>
				<?php
					
					
			$cellule_supplementaire++;
		}

		?>
		</form>
		</div>
		<?php
	}
}
?>












</div>
<!---- page blanche fin ---->




<!---- copyright ---->
<br />
<?php include("copyright.php"); ?>
 
 
</body>
</html>

Re: bouton javascript qui doit agir sans le form ?

par Nours312 » 15 juin 2010, 00:05

peux tu être plus explicites dans ce que tu cherches à faire au final, car il est probable que tu ne soit pas parti dans la meilleure direction, et il serait dommage que l'on continu à t'entrainer dans une terrain scabreux ^^ :D

bouton javascript qui doit agir sans le form ?

par wwwbillgates » 14 juin 2010, 17:08

Bonjour tout le monde...
J'ai un bouton qui a besoin d'un numéro unique qui est ici :
formulaire<?php echo $bouille_supports['id']; ?>


Et voici mon bouton au complet :
<form method="post" name="formulaire<?php echo $bouille_supports['id']; ?>" action="">

<img src="../../interface/bt_moins.gif" onmouseover="this.src='../../interface/bt_moins_push.gif';" onmouseout="this.src='../../interface/bt_moins.gif';" onclick="javascript:decremente(document.formulaire<?php echo $bouille_supports['id']; ?>.support_quantite);" />
<input type="text" name="support_quantite" value="0" size="1" />
<img src="../../interface/bt_plus.gif" onmouseover="this.src='../../interface/bt_plus_push.gif';" onmouseout="this.src='../../interface/bt_plus.gif';" onclick="javascript:incremente(document.formulaire<?php echo $bouille_supports['id']; ?>.support_quantite);" />
Celui-ci doit avoir le meme numéro unique indiqué dans le bouton et dans le form pour qu'il fonctionne.

Mon problème est que du fait que j'utilise mon bouton dans une boucle qui va créer plusieur boutons et qui ne sont pas englobé par le form je n'arrive pas à lui donner un nom unique à mon form et à mes boutons.
Il faudrait donc que je puisse récupérer une valeur en $_POST en me passant de donner le meme numéro unique a mon form.
Etant débutant il est probable que se soit quelques chose de très simple mais je ne sais vraiment pas comment faire :?