Comment récupérer la valeur du textbox [Résolu]

rodlake 14 Messages postés lundi 27 février 2012Date d'inscription 8 mai 2012 Dernière intervention - 1 mars 2012 à 16:25 - Dernière réponse : rodlake 14 Messages postés lundi 27 février 2012Date d'inscription 8 mai 2012 Dernière intervention
- 1 mars 2012 à 20:19
Bonjour

Je ne connais pas grand chose a JS mais je n,ai pas eu le choix de me tourner vers cette alternative pour realiser ce que je voulais faire. J,ai trouvé un script sur le forum et modifié un peu. Tout fonctionne parfaitement or je suis incapable de trouver un moyen de récupérer la valeur dans le textbox.

J'ai 4 boutons radio dans un formulaire qui lorsque selectionnés affiches différentes valeurs dans la textbox. Je ne trouve pas de moyen de faire afficher cette valeur. Est-ce quelqu'un pourrait m,aider ou me donner une piste.
Merci

<FORM ACTION="#" NAME=reponse>
Oui


Non


N/A
  

 Autre



</SELECT>



</FORM>
<SCRIPT TYPE="TEXT/JAVASCRIPT">
document.reponse.show.value=new  
</SCRIPT>
Afficher la suite 

10 réponses

Répondre au sujet
TychoBrahe 1310 Messages postés samedi 31 janvier 2009Date d'inscription 5 juin 2013 Dernière intervention - 1 mars 2012 à 18:43
+3
Utile
Ha je commence à comprendre. Essaye donc ceci pour le javascript :
      function q1_switch() {
  $('#q1rinput').hide();
  if ($('#q1ryes:checked').length >= 1)
      $('#q1rinput').show();
      }

      q1_switch();
      $('.quest1').change(function() {
  q1_switch();
  $('#q1rinput').val($(this).val());
      });

Et après change les value des boutons radio.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de TychoBrahe
cs_jperre 268 Messages postés lundi 9 janvier 2006Date d'inscription 19 janvier 2017 Dernière intervention - 1 mars 2012 à 17:02
0
Utile
Effectivement c'est du code extrêmement basique qu'il te faut.

Déjà, pour commencer, il est intéressant d'écrire le code HTML correctement. Dans HTML 4 strict DTD et à plus forte raison des attributs sont TOUJOURS encadrées par des guillemets (simples ou doubles). Voici déjà comment devrait être écrit le code HTML :
<form>
<label for= "radio0">Oui</label>


<label for="radio1">Non</label>


<label for="radio2">N/A</label>


<label for="radio3">Autre</label>



</form>

Explications :
1 L'ajout d'un élément <label avec son attribut for permet d'activer le bouton radio en cliquant sur celui ci ET en cliquant sur le texte de la légende correspondante.
2 J'ai supprimé l'attribut action de l'élément <form> car dans ce cas il ne sert à rien.
3 J'ai également supprimé l'attribut name des éléments de type radio et les ai remplacés par un attribut id.

Maintenant le code Javascript à insérer dans l'élément <head> de la page HTML :
<script type ="text/javascript">
function showValue(ind)
{
switch (ind) {
case "radio0":
document.getElementById("txtshow").value="30";
break;
case "radio1":
document.getElementById("txtshow").value="0";
break;
case "radio2":
document.getElementById("txtshow").value="N/A";
break;
case "radio3":
document.getElementById("txtshow").value="";
}
}
</script>
Voilà, c'est tout!...
Bon courage
Commenter la réponse de cs_jperre
cs_jperre 268 Messages postés lundi 9 janvier 2006Date d'inscription 19 janvier 2017 Dernière intervention - 1 mars 2012 à 17:05
0
Utile
Une partie de mon texte a été zappée au lieu de :
Déjà, pour commencer, il est intéressant d'écrire le code HTML correctement. Dans HTML 4 strict DTD et à plus forte raison des attributs sont TOUJOURS encadrées par des guillemets (simples ou doubles). Voici déjà comment devrait être écrit le code HTML :
Il faut :
Déjà, pour commencer, il est intéressant d'écrire le code HTML correctement. Dans HTML 4 strict DTD et à plus forte raison dans HTML 5, le noms des balises sont écrits en MINUSCULES, les valeurs des attributs sont TOUJOURS encadrées par des guillemets (simples ou doubles). Voici déjà comment devrait être écrit le code HTML :
Commenter la réponse de cs_jperre
cs_jperre 268 Messages postés lundi 9 janvier 2006Date d'inscription 19 janvier 2017 Dernière intervention - 1 mars 2012 à 17:18
0
Utile
Excuse moi, je suis allé un peu vite, il faut mettre l'attribut name sur les éléments de type radio :
<input type="radio" id="radio0" name="today" onclick="showValue(this.id)"
Sinon la coche ne s'effacera pas lorsque vous cliquez sur un autre bouton radio.
Commenter la réponse de cs_jperre
TychoBrahe 1310 Messages postés samedi 31 janvier 2009Date d'inscription 5 juin 2013 Dernière intervention - 1 mars 2012 à 17:29
0
Utile
Salut,

Je en sais pas où tu as pris cet exemple, mais dans ton cas ce n'est pas du tout la bonne solution. Tout ce que tu cherches à faire c'est masquer l'affichage de l'input dans le cas où la réponse sélectionnée n'est pas "oui".

Voici une page d'exemple complète utilisant jQuery afin de simplifier le js :
<!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">
  <head>
    <title>test</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  </head>
  
    
<?php

$choices = array('oui', 'non', 'n/a');
if (!empty($_POST['mon_champ']) &&
    is_array($_POST['mon_champ']) &&
    !empty($_POST['mon_champ']['choice']) &&
    in_array($_POST['mon_champ']['choice'], $choices)
    )
  {
    echo 'Reponse: ', $_POST['mon_champ']['choice'];
    if ($_POST['mon_champ']['choice'] === 'oui')
      echo '
Texte: ', $_POST['mon_champ']['txt'];
  }

?>
    



    <form method="post" action="">
      <fieldset>
<legend>Question 1</legend>
<label for="q1ryes">Oui</label>

<label for="q1rno">Non</label>

<label for="q1rna">N/A</label>

" />
      </fieldset>
      


      

    </form>
    <script type="text/javascript">
      function q1_switch() {
  $('#q1rinput').hide();
  if ($('#q1ryes:checked').length >= 1)
      $('#q1rinput').show();
      }

      q1_switch();
      $('.quest1').change(function() {
  q1_switch();
      });
    </script>
  
</html>
Commenter la réponse de TychoBrahe
rodlake 14 Messages postés lundi 27 février 2012Date d'inscription 8 mai 2012 Dernière intervention - 1 mars 2012 à 17:57
0
Utile
Tycobrahe...
Ton exemple est presque ce que j,ai besoin....

lorsque je sélectionne oui je veux que le valeur 30 s'affiche dans le textbox.
idem pour les autres boutons. or je veux être en mesure d'y inscrire une valeur autre et recupérer la valeur qui sera affiché dans le textbox.
Plus je regarde votre code et moins je comprends le JS.
Encore une fois merci pour votre aide. Heureusement qu'il y a des gens comme vous qui prennentle temps d,aider une pauvre cloche comme moi
Commenter la réponse de rodlake
TychoBrahe 1310 Messages postés samedi 31 janvier 2009Date d'inscription 5 juin 2013 Dernière intervention - 1 mars 2012 à 18:07
0
Utile
lorsque je sélectionne oui je veux que le valeur 30 s'affiche dans le textbox.

Change juste le value dans le html :
value="30"


Plus je regarde votre code et moins je comprends le JS.

Oui, jQuery c'est un peu déroutant au début, mais on s'y fais ;)
Commenter la réponse de TychoBrahe
rodlake 14 Messages postés lundi 27 février 2012Date d'inscription 8 mai 2012 Dernière intervention - 1 mars 2012 à 18:26
0
Utile
Oui je comprends que je peux changer la valeur dans le HTML mais celle-ci ne s'affiche pas dans la text box lorsque je clique oui et ainsi de suite pour les autre boutons. Comme dans le premier exemple que j'ai posté.
C,est la seule chose qui me manque car tout le reste de ton code est parfait il recupère la valeur apres le submit.
Est-ce qu'il est possible de t'envoyer une bière via ce forum?
Merci encore
Commenter la réponse de rodlake
rodlake 14 Messages postés lundi 27 février 2012Date d'inscription 8 mai 2012 Dernière intervention - 1 mars 2012 à 20:17
0
Utile
Wow ça fonctionne. J'ai modifié un tout petit peu ton code Tychobrahe et j,ai ce qu'il me faut. Sérieusement UN ÉNORME MERCI d'avoir pris le temps. Il devrait y avoir une fonction pour faire un don via paypal à la personne qui comme toi prends le temps d'aider les autres. J'espère un jour avoir assez de connaissance pour pouvoir donner à mon tour.
Bonne fin de journée.
Commenter la réponse de rodlake
rodlake 14 Messages postés lundi 27 février 2012Date d'inscription 8 mai 2012 Dernière intervention - 1 mars 2012 à 20:19
0
Utile
Zut j,.ai oublie de t,envoyer le code pour te montrer ce que j'ai modifié ....regarde comme je suis fort

$choices = array('oui', 'non', 'n/a');
if (!empty($_POST['mon_champ']) &&
    is_array($_POST['mon_champ']) &&
    !empty($_POST['mon_champ']['choice']) &&
    in_array($_POST['mon_champ']['choice'], $choices)
    )
  {
    echo 'Reponse: ', $_POST['mon_champ']['choice'];
    if ($_POST['mon_champ']['choice'] === 'oui')
      echo '
Texte: ', $_POST['mon_champ']['txt'];
else if ($_POST['mon_champ']['choice'] === 'non')
      echo '
Texte: ', $_POST['mon_champ']['txt'];
else if ($_POST['mon_champ']['choice'] === 'n/a')
      echo '
Texte: ', $_POST['mon_champ']['txt'];
  }


et plus bas....



function q1_switch() {
  $('#q1rinput').hide();
  if ($('#q1ryes:checked').length >= 1)
      $('#q1rinput').show();
  else if ($('#q1rno:checked').length >= 1)
      $('#q1rinput').show();
  else if ($('#q1rna:checked').length >= 1)
      $('#q1rinput').show();
      }

      q1_switch();
      $('.quest1').change(function() {
  q1_switch();
  $('#q1rinput').val($(this).val());
      });
Commenter la réponse de rodlake

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.