Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Mes excuses à tout le monde.
Je ne suis pas susceptible, je suis simplement trop vieux. Le projet open-source sur lequel je travaille date de 2004 http://phpformgen.sourceforge.net/new_demo/phpformgen/
Mais il ne gère pas les checkboxes à choix multiples
Je l'ai "forké" pour en faire ça : http://marigot.toile-libre.org/phpformfr/
Les checkboxes à choix multiples fonctionnent dorénavant mais je pensais apporter un petit + avec la correction js que je vous demandais.
Mettez-vous deux secondes à la place de votre père (voire de votre grand-père) qui a commencé l'informatique avec le "logo" et qui laborieusement, sans formation a essayé de comprendre la logique du PHP et qui doit recommencer avec le javascript. Il croit qu'il a pas trop mal bossé. Il pose juste une question de détail concernant le js.
Pourquoi ne pas lui dire tout simplement que JS sans jquery c'est obsolète, et qu'il doit aller voir ailleurs.
Le vieux, il s'en contenterait, et il irait voir ailleurs. Fin de l'histoire. Topic résolu. (les vieux, c'est comme ça, ils veulent pas déranger...)
Spéciale dédicace à Infantimigulo
Chez nous en Martinique, on dit : "Cé kan ven ka vanté ou ka ouè kiou poul" ce qui peut se traduire par "C'est lorsque le vent souffle que l'on voit le cul de la poule"
Je pense qu'il est temps de passer ce topic en "résolu". Mais l'vieux, y sait même pas comment faire :-)
Tché bé rèd, pa moli !
Philippe
Bonjour Infantimigulo
Voulez-vous dire par là que je n'ai rien à télécharger en plus sur mon serveur (jquery.js par exemple) et que je peux utiliser la proposition de Pierrot à l'intérieur de mon code JS sans autre forme de procès ? J'ai des doutes mais...
peut-être est-ce simplement le fameux humour des "sachants" face aux ignorants.
Si mon ignorance crasse vous a au moins fait sourire, ma demande d'aide aura au moins fait un heureux. En tant que pédagogue, j'ai toujours eu une indulgence bienveillante pour ceux qui ne le sont pas.
Cordialement
Philippe
Bonjour Pierrot,
Merci pour votre réponse rapide, mais je suis grand débutant en javascript et mes compétences se limitent pour l'instant à essayer de comprendre la logique de ce langage. Alors, passer à jquery juste pour ce tout petit bout de code ne me paraît pas réaliste.
Je vais donc continuer à chercher une solution en javascript.
Merci encore
cordialement
Philippe
Bonjour,
Le code suivant (récupéré) de vérification des coches de plusieurs checkboxes fonctionne mais ..... si je ne coche aucune case j'ai bien le message d'alerte mais il ne met que la dernière case vide en surbrillance.
Est-il possible de le modifier pour que dans ce cas (aucune case cochée), la totalité des cases apparaissent en surbrillance ?
Ou faut-il que je recherche un code totalement différent ?
Par avance merci
Philippe
function validateMCQ(fieldId, fieldBoxId, fieldType, mysize, required)
{
fieldBox = document.getElementById(fieldBoxId);
if(required == 1)
{
// Loop through each MCQ option to see if any are checked -->
for( i=1; i<=mysize; i++)
{
myfieldId = fieldId+"_option_"+i; fieldObj = document.getElementById(myfieldId);
// If any option are checked return every option to non-highlighted state -->
if(fieldObj.checked == 1)
{
for( j=1; j<=mysize; j++)
{
myfieldId = fieldId+"_option_"+j; fieldObj = document.getElementById(myfieldId);
fieldObj.setAttribute("class","mainForm");
fieldObj.setAttribute("className","mainForm");
}
// If any option is checked return true condition -->
return true;
// If no options are checked return every option to highlighted state -->
}
else
{ fieldObj.setAttribute("class","mainFormError");
fieldObj.setAttribute("className","mainFormError");
}
}
// If no options are checked return false condition -->
fieldObj.focus();
return false;
}
}
//end MCQ validate ===================================================================================
Bonjour,
J'ai résolu mon problème de récupération des arrays de mes bdd mysql et je peux essayer de vous aider mais...
votre code est le code du formulaire, et je vois "<form method="POST" action="#">. Pourquoi écrivez-vous "#" ? Il devrait y avoir ici l'adresse de la page de traitement du formulaire (ex : traitement.php).
C'est le code de cette page dont j'ai besoin pour vous aider. Avez vous une telle page ? Utilisez vous une bdd MySQL ? Que souhaitez-vous envoyer sous forme d'array? Combien de champs de votre bdd sont concernés ? Avez vous une base de données MySQL ?
Tel que votre code est écrit, il n'est de toute façon pas prévu pour une récupération en BDD MySQL sous forme d'array.
Comprenez-vous ce que j'ai écrit ci-dessus ?
Philippe
Bonjour
Merci de votre réponse et surtout de l'exemple que vous me donnez.
Est-ce que la variable $apref demeure $apref = array("sport", "internet");
Que devient la variable $dbpref= explode(',',$row['pref']); ? Correspond-elle à votre variable $a ?
Vous avez déjà compris que je suis débutant en PHP. J'ai cependant réussi (avec l'aide de votre site) à réaliser un questionnaire PHP mysql avec bdd fonctionnel (champs texte, champs radio, champ select, champ checkbox) mais je butte désespérément sur ce problème de récupération des checkboxes dans mon formulaire de modif.
J'ai aussi bien compris que le but de ce forum n'est pas de donner du code pré-mâché, mais cela fait bientôt 2 mois que je butte sur ce petit bout de code, alors...
Cordialement
Philippe
Bonjour,
Le champ de ma base est "pref" il récupère l'array "sport,internet," envoyé depuis un formulaire d'enquête.
Dans un formulaire de modification, j'essaie de récupérer les cases cochées suivant l'array
Mais je dois faire une erreur car mes cases ne se cochent pas.
Une piste ?
Bonjour,
Merci de votre réponse, c'est sûr, ça aide... ;-)
Bonjour
J'ai laborieusement réussi (avec l'aide de tutos) à écrire un (tout) petit formulaire PHP qui me permet d'envoyer dans dans ma BDD msql les résultats de deux cases à cocher dans un array avec la fonction implode.
Tout fonctionne très bien sauf bien-sûr quand je ne coche rien : j'ai l'erreur "Warning: implode() [function.implode]: Bad arguments."
J'ai essayé diverses solutions de test pour que dans ce cas précis, le formulaire soit simplement réaffiché avec un message d'erreur du type : "vous devez cocher au moins une case", mais je n'arrive à rien de probant.
Pouvez vous me donner quelques pistes pour mes recherches...
<?php
if ($_POST['envoyer_sql']) {
// passe le tableau en chaine de caractere
$chaine_activite = implode(";", $_POST['choix']);
mysql_query("INSERT INTO table_tice3 (choix_activite)
VALUES('".$chaine_activite."')");
echo mysql_error();
}
?>
<form action="index0.php" method="post">
<input name="choix[]" type="checkbox" value="sport">sport
<input name="choix[]" type="checkbox" value="internet">internet<br /><br />
<input type="submit" name="envoyer_sql" value="Envoyer">
</form> <?php
?>
Bonjour,
Je reviens vers vous pour vous faire savoir qu'après recherche sur différents forums, je pense avoir trouvé la solution à mon problème. En fait, 'checked="checked"' s'applique bien aussi aux boutons radios, afin de récupérer la coche en fonction de la bdd mysql. Je faisais simplement une erreur de syntaxe. La bonne syntaxe est :
et ceci quel que soit le type de champ de la bdd mysql (dans mon cas, un simple champ text.
Je ne sais pas comment mettre un "résolu" dans le fil, désolé.
Merci encore de vos précieux conseils. J'attaque maintenant le traitement des checkbox et ne manquerai pas de vous demander conseil si j'ai des soucis.
Philippe
Bonjour,
Merci de vos réponses. Je vais étudier vos suggestions afin de trouver une solution côté code ou base de données.
Philippe
Bonjour,
Merci de votre réponse rapide.
J'ai changé "radio" en "checkbox" mais le résultat n'est pas probant. je ne récupère toujours pas la coche dans mon fichier edit_infos.php. Je pense donc que le problème vient d'ailleurs. Je n'ai pas de variables dans mon traitement, peut-être est-ce là le problème. Peut-être faut-il un champ spécifique dans la BDD. Je vais continuer de chercher des exemples de traitement des boutons radio car je ne suis pas programmeur.
Excusez moi de vous avoir fait perdre votre temps.
Et merci encore
Philippe
Bonjour,
Tout d'abord, veuillez m'excuser si ma question n'est pas au bon endroit, c'est la première fois que j'utilise un forum.
J'ai réussi (laborieusement, car je suis débutant) à construire une ébauche d'enquête PHP/mysql avec entre autre une case à cocher de type oui/non. Quand l'utilisateur remplit l'enquête, toutes les données sont correctement enregistrées dans ma base y compris celles de la case à cocher.
L'utilisateur doit pouvoir reprendre ou modifier son enquête par le biais d'un fichier edit_infos.php. Ce fichier fonctionne parfaitement pour tous les champs sauf pour les cases à cocher qui restent non cochées.
Je pense qu'il y a une erreur de syntaxe au niveau de la récupération des valeurs oui ou non de la base de données mais je ne vois pas où.
Merci par avance de toute aide que pourriez m'apporter.
Philippe
<label for="question">OUI ou NON</label><input type="radio" name="question" value="oui" <?php if (isset($_POST['question']) && $_POST['question'] == "oui") echo 'checked="checked"'; ?> /><br />
<label for="question">OUI ou NON</label><input type="radio" name="question" value="non" <?php if (isset($_POST['question']) && $_POST['question'] == "non") echo 'checked="checked"'; ?>/><br />
<input type="submit" value="Envoyer" />
</div>
</form>
</div>
<?php
}
}
else
{
?>
<div class="message">Pour accéder à cette page, vous devez être connecté.<br />
<a href="connexion.php">Se connecter</a></div>
<?php
}
?>
<div class="foot"><a href="<?php echo $url_home; ?>">Retour à l'accueil</a> - <a href="http://philippe.petit.free.fr/index.php">Accueil Enquete</a></div>
</body>
</html>
Pages : 1