begin process at 2012 05 29 05:24:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Effacer un champ si checkbox est cochée


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Effacer un champ si checkbox est cochée

mercredi 26 mai 2010 à 17:23:52 | Effacer un champ si checkbox est cochée

mailliam

Boujour à tous!

voila moi j'ai un formulaire généré par une boucle php, tant qu'il y a des noms dans une base de donnée mon formulaire s'allonge.
J'aimerais un bouton qui puisse effacer le contenu des champs de text qui sont checké..

Donc j'ai mes champs text dont les noms sont quoi1, quoi2, quoi3...
suivi des checkbox dont les noms sont toujours "choix" mais les values sont 1, 2, 3...

function effacer()
{
if (document.forms["planning"].elements["choix"].checked){
document.forms["planning"].elements["quoi[0]"].value = ""
}
}

<form name="planning">
$indice = 1;
<INPUT TYPE="text" NAME="quoi['.$indice.']" VALUE="">
<input type="checkbox" name="choix" value="'.$indice.'" />
$indice++;

<input type="button" value="Effacer" name="B1" onclick="effacer()">
</form>
(j'ai pas écris ici la boucle php car pas très utile..)

ca marche pô


Le pire c'est que si je fais un bouton sans passer par ma fonction, ca marche:
<INPUT type="button" value="Effacer" onClick=' document.forms["planning"].elements["quoi[0]"].value = "" '>

Si qqun à une idée :)
Merci d'avance
mercredi 26 mai 2010 à 19:03:46 | Re : Effacer un champ si checkbox est cochée

PetoleTeam

Membre Club
Bonjour,
...checkbox dont les noms sont toujours "choix"...
ça c'est une vrai mauvaise idée, il te faut pour commencer des NAMEs différents pour tes CHECKBOXs...
;O)
mercredi 26 mai 2010 à 21:04:54 | Re : Effacer un champ si checkbox est cochée

medabdeljalil

Réponse acceptée !
bonjour ???? voila le code corriger
<head>
<script language="javascript">
function effacer()
{
if (document.forms["planning"].elements["choix"].checked)
{
document.forms["planning"].elements["0"].value = "";
}
}</script></head>
<BODY>
<form name="planning">
<? $indice = 0; ?>
<INPUT TYPE="text" NAME="<? $indice ?>" VALUE="">
<input type="checkbox" name="choix" value="<? '.$indice.' ?>" />
<? $indice++; ?>

<input type="button" value="Effacer" name="B1" onclick="effacer()">


<INPUT type="button" value="Effacer" onClick=' document.forms["planning"].elements["0"].value = "" '></form> </BODY>
mercredi 26 mai 2010 à 23:01:18 | Re : Effacer un champ si checkbox est cochée

PetoleTeam

Membre Club
Réponse acceptée !
tout compte fait tu n'as pas besoin de mettre de NAME à tes CHECKBOXs. Je m'explique...
lors de l'appui sur le bouton tu parcours toutes les éléments de la FORM et si il est checked ALORS tu effaces l'INPUT dont le NAME est dans la value du CHECKBOX, c'est ce que l'on voit dans ton exemple.
Ta fonction Effacer est donc à modifier en conséquence.
;O)
jeudi 27 mai 2010 à 20:42:58 | Re : Effacer un champ si checkbox est cochée

mailliam

RE hello les Loulous!

En fait en faisant:
function effacer()
{
if (document.forms["planning"].elements["choix"].checked)
{
document.forms["planning"].elements["0"].value = "";
}
}
ca marchait pas car il y a plusieurs checkbox qui s'appellent 'choix'
en ajoutant une checkbox toute seule avec un autre nom la fonction marche bien..

Alors j'ai mis:
if (document.forms["planning"].elements[5].checked)
je l'ai appelé par son indice en fait et ca marche nickel

Mais merci pour vos réponses rapides! Ché cool
vendredi 28 mai 2010 à 19:08:22 | Re : Effacer un champ si checkbox est cochée

PetoleTeam

Membre Club
Bonjour,
ta solution n'est valable que pour UN SEUL champ et non comme tu le souhaitais plusieurs...
J'aimerais un bouton qui puisse effacer le contenu des champs de text qui sont checké..


;O)
samedi 29 mai 2010 à 18:08:43 | Re : Effacer un champ si checkbox est cochée

mailliam

Coucou,

Oui j'avais pas vu tout de suite ce détail :/
j'essaie justement de modifier ma fonction pour que ca effaces l'INPUT dont le NAME est dans la value du CHECKBOX comme tu disais, mais je crois que je suis obligé de faire des NAME différents

Ce qui m'embête car en fait je suis obligé de les appeler toutes 'choix' car j'ai fait une autre fonction, ou il y a une checkbox qui coche toutes les autres (toutes celles qui ont name='choix')
voici cette fonction:
function selectall(cas,choix){
//test si on a plusieur ligne
if(choix.length>0){
if (cas.checked){
for (var i=0; i<choix.length;i++){
choix[i].checked=true
}
}
else{
for (var i=0; i<choix.length;i++){
choix[i].checked=false
}
}
}
else{
if (cas.checked){
choix.checked=true
}
else{
choix.checked=false
}
}
}

Comment je peux faire pour que les 2 fonctionne ensemble?

Merci pour ton aide en tout k!
samedi 29 mai 2010 à 22:05:11 | Re : Effacer un champ si checkbox est cochée

PetoleTeam

Membre Club
Bonjour,
concernant ta fonction selectall, il est effectif qu'en passant par un name commun cela simplifie les choses, même si une fois cochés les données de ce cochés seront transmises par le submit.
Tu peux néanmoins simplifier ta function comme ceci
Code Javascript :
//------------------------
function selectall( this_){
  //-- Recup. reference de la FORM
  var O_Form = document.forms["planning"];
  //-- Recup etat de la CHECKBOX
  var bChecked = this_.checked;
  //-- Recup des elements CHECKBOX choix
  var O_Check = O_Form.elements['choix'];
  //-- Affecte etat aux elements CHECKBOX choix
  for( var i =0; i < O_Check.length; i++) {
    O_Check[i].checked = bChecked;
  }
}
avec un appel du type
Code HTML :
<input type = "checkbox" onclick = "selectall(this);">


maintenant dans le même style tu peux avoir une fonction efface qui pourrait ressembler à cela
Code Javascript :
//----------------
function effacer(){
  //-- Recup. reference de la FORM
  var O_Form = document.forms["planning"];
  //-- Recup des elements CHECKBOX choix
  var O_Check = O_Form.elements['choix'];
  //-- Parcours pour effacement
  for( var i =0; i < O_Check.length; i++){
    //-- Si checkbox coche
    if( O_Check[i].checked){
      //-- Recup. du name dans la value
      var szId = O_Check[i].value;
      //-- Efface l'input correspondant
      O_Form.elements[szId].value = "";
    }
  }
}

voila une façon de procéder...
;O)
dimanche 30 mai 2010 à 11:33:00 | Re : Effacer un champ si checkbox est cochée

mailliam

Re Salut!

merci pour ton implication! :)

que veut dire exactement for( var i =0; i < O_Check.length; i++) dans la fonction effacer?

la fonction selectall marche nickel, mais pas effacer :(
et du coup je trouve pas l'erreur..

mais sinon tant pis, ne te prend pas trop la tête, je vais pas mettre cette fonction, je fini mon site et j'y reviendrai + tard..
samedi 12 juin 2010 à 18:09:37 | Re : Effacer un champ si checkbox est cochée

PetoleTeam

Membre Club

Bonjour,
en mettant de l'ordre je retombe sur ce zappage complet, 1000 EXCUSES

que veut dire exactement for( var i =0; i < O_Check.length; i++) dans la fonction effacer?
O_Ckeck contient une liste de TOUS les éléments choix
O_Check.length représente la longueur de cette liste, donc on parcours tous les éléments, sachant qu'un tableau démarre à l'indice 0.

la fonction selectall marche nickel, mais pas effacer
je viens de reprendre le code et je n'ai pas de problème !!!!

;O)

1 2

Cette discussion est classée dans : checkbox, champ, effacer, noms, cochée


Répondre à ce message

Sujets en rapport avec ce message

vérifier qu'au moins une checkbox d'un formulaire est cochée [ par hugodelire ] hello,je souhaite vérifier à la fin d'un formulaire si, parmis plusieurs checkbox au moins une a été cochée.voilà le code testé mais qui ne marche pas copier un champ avec un Checkbox [ par christobal ] Bonjour, j'ai un formlaire qui me permet de mettre dans ma DB des produits.Comme j'utilise la "ref" du produit pour le nom de l'image, j'aimerais pouv Nombre de Checkbox cochée [ par jumano ] Bonjour,J'ai récupéré sur le forum une fonction permettant de calculer le nombre de checkbox cochée dans un formulaire (http://www.javascriptfr.com/in Verification qu'une checkbox est bien cochée [ par loupile ] Bonsoir je sais c'est une question abordé mille fois mais voilà je n'y arrive pas sous firefox pas moyen de soumettre le formulaire quand la checkbox effacer plusieurs champ text au clic d'un champ [ par joebuz ] Bonjour, comme le dit le titre je souhaiterais effacer 5 champs text quand on clic sur le premier ! pour effacer un champ text au clic pas de problem Effacer un champ texte [ par actu5394 ] Bonjour,Je cherche la syntaxe javascript qui permet d'effacer un champ texte rempli quandon y accède par le click de la souris.Merci vérifier qu'au moins une checkbox d'un formulaire est cochée [ par silvia12 ] Bonjours, J'aimerais vérifié qu'au moins une chekbox a été coché dans mon formulaire a savoir que je créer mé texbox en fonction de ma base de donnée, Modifier un champ a partir d'un lien dans un calque [ par Blacknight91titi ] Bonjours a tous.Suite a un précédent post j'ai encore un petit problème.J'ai créer un calque dans lequel se trouve une liste on l'on peut sélectioner insertion dans un champ de texte [ par yravas ] Bonjour à tous, J'ai crée un champ texte sur la page principale qu'un utilisateur doit remplir et pour l'aider il peut cliquer sur un lien qui ouvre Formulaire de texte [ par sebalex ] Salut à tous,J'expose:J'ai un champ texte avec une valeur initiale (p. ex: utilisateur). Je souhaite que lorqu'un visiteur clique dans le champ, la va


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales