2009-04-19 6 views
18

Supposons que j'ai le code HTML suivant, comment puis-je passer l'entrée de l'utilisateur pour exécuter la fonction JavaScript (str) en argument?Comment passer du texte dans une zone de texte à la fonction JavaScript?

<body> 

<input name="textbox1" type="text" /> 
<input name="buttonExecute" onclick="execute(//send the user's input in textbox1 to this function//)" type="button" value="Execute" /> 

</body> 
+0

Merci pour toutes les réponses. :) – natch3z

Répondre

26

Vous pouvez soit accéder par son nom de la valeur de l'élément:

document.getElementsByName("textbox1"); // returns a list of elements with name="textbox1" 
document.getElementsByName("textbox1")[0] // returns the first element in DOM with name="textbox1" 

Alors:

<input name="buttonExecute" onclick="execute(document.getElementsByName('textbox1')[0].value)" type="button" value="Execute" /> 

Ou vous attribuez un ID à l'élément qui identifie alors et vous pouvez y accéder avec getElementById:

<input name="textbox1" id="textbox1" type="text" /> 
<input name="buttonExecute" onclick="execute(document.getElementById('textbox1').value)" type="button" value="Execute" /> 
1

document.getElementById ('textbox1') Valeur

+0

La zone de texte n'a pas d'identifiant. – karim79

+1

Bien sûr, vous devez indiquer textbox1 l'identifiant de l'élément. – Chuck

2

Vous pouvez juste obtenir la valeur d'entrée dans le onclick événement comme ceci:.

onclick="execute(document.getElementById('textbox1').value);" 

Vous faudrait bien sûr ajouter un identifiant à votre zone de texte

10

Contrairement à passer le texte comme une variable, vous pouvez utiliser le DOM pour récupérer les données de votre fonction:

var text = document.getElementsByName("textbox1").value; 
+1

C'est 'getElementsByName' (pluriel). – Gumbo

+1

Yikes - réparé. –

+1

Pourquoi cet article a été déprimé ???? – rahul

1

C'est ce que j'ai fait. (Adapté de toutes vos réponses)

<input name="textbox1" type="text" id="txt1"/> 
<input name="buttonExecute" onclick="execute(document.getElementById('txt1').value)" type="button" value="Execute" /> 

Cela fonctionne. Merci à tous. :)

0

Vous pouvez obtenir la valeur TextBox et Id par l'exemple simple suivant dans la programmation dotNet

<html> 
     <head> 
     <script type="text/javascript"> 
      function GetTextboxId_Value(textBox) 
       { 
       alert(textBox.value); // To get Text Box Value(Text) 
       alert(textBox.id);  // To get Text Box Id like txtSearch 
      } 
     </script>  
     </head> 
<body> 
<input id="txtSearch" type="text" onkeyup="GetTextboxId_Value(this)" /> </body> 
</html> 
Questions connexes