简体   繁体   中英

Javascript passing data between text boxes

I'm working on getting data to go from one textbox to another using javascript. Im new to Javascript and im getting a document undefined or null error.

<!DOCTYPE html>
 <html>
  <head>
    <script>
      function doit() {
        window.document.form1.txtbox1.value= window.document.form2.txtbox2.value;
      }
   </script>
  </head>
 <body>

   <form name="form1">
     Enter your name:
     <input type="text" name="txtbox1" value="">
     <input type="button" name="btn1" value="Click" onclick="doit()">
   </form>

   <br><br><br>
   <form name="form2">
     Results: 
     <input type="text" name="txtbox2" value="">
   </form>

 </body>
</html>

It seems that you are trying access the element as a property of the DOM.

Instead, you should use document.getElementsByName method.

Revised function:

function doit(){
// The [0] is for accessing the first item.
// If you are unfamiliar with arrays, visit
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
  document.getElementsByName("txtbox1")[0].value = document.getElementsByName("txtbox2")[0].value;
}

You need to switch (swap) them : window.document.form1.txtbox1.value= window.document.form2.txtbox2.value;

When you click a button - you set the value of the second input to the first one and probably the second input called 'Result' is empty.

Try:

      function doit() {
        window.document.form2.txtbox2.value = window.document.form1.txtbox1.value;
      } 

There should not be any error, it's just pass data in another direction as you probably expect.

Give a unique ID to both the input element.

<input type="text" id="txtbox1" value="">
<input type="text" id="txtbox2" value="">

and in function doit()

document.getElementById("txtbox2").value = document.getElementById("txtbox1").value

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM