2009-04-19 14 views
18

Supponiamo di avere il seguente codice HTML, come posso passare l'input dell'utente per eseguire (str) la funzione JavaScript come argomento?Come passare il testo in una casella di testo alla funzione 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

Grazie per tutte le risposte. :) – natch3z

risposta

26

Si potrebbe o accedere il valore dell'elemento con il suo nome:

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

Quindi:

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

O si assegna un ID per l'elemento che poi lo identifica e si può accedere con 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') Valore

+0

La casella di testo non ha un ID. – karim79

+1

Ovviamente, dovresti rendere textbox1 l'id dell'elemento. – Chuck

2

Si può solo ottenere il valore di ingresso in onclick-evento in questo modo:.

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

Si avrebbe, naturalmente, hanno da aggiungere un ID nella tua casella di testo

10

Al contrario di passare il testo come variabile, puoi utilizzare il DOM per recuperare i dati nella tua funzione:

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

È 'getElementsByName' (plurale). – Gumbo

+1

Yikes - risolto. –

+1

Perché questo post è stato downvoted ???? – rahul

1

Questo è quello che ho fatto. (Adatta da tutte le tue risposte)

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

Funziona. Grazie a tutti voi. :)

0

è possibile ottenere il valore casella di testo e Id dalla seguente semplice esempio in dotNet programmazione

<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> 
Problemi correlati