Comment récupérer la valeur du textbox

Résolu
rodlake Messages postés 13 Date d'inscription lundi 27 février 2012 Statut Membre Dernière intervention 8 mai 2012 - 1 mars 2012 à 16:25
rodlake Messages postés 13 Date d'inscription lundi 27 février 2012 Statut Membre Dernière intervention 8 mai 2012 - 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>

10 réponses

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
1 mars 2012 à 18:43
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.
3
cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 2
1 mars 2012 à 17:02
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
0
cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 2
1 mars 2012 à 17:05
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 :
0
cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 2
1 mars 2012 à 17:18
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
1 mars 2012 à 17:29
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>
0
rodlake Messages postés 13 Date d'inscription lundi 27 février 2012 Statut Membre Dernière intervention 8 mai 2012
1 mars 2012 à 17:57
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
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
1 mars 2012 à 18:07
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 ;)
0
rodlake Messages postés 13 Date d'inscription lundi 27 février 2012 Statut Membre Dernière intervention 8 mai 2012
1 mars 2012 à 18:26
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
0
rodlake Messages postés 13 Date d'inscription lundi 27 février 2012 Statut Membre Dernière intervention 8 mai 2012
1 mars 2012 à 20:17
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.
0
rodlake Messages postés 13 Date d'inscription lundi 27 février 2012 Statut Membre Dernière intervention 8 mai 2012
1 mars 2012 à 20:19
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());
      });
0
Rejoignez-nous