Automatically filling a field of a field on what was entered into another field at the same time

I tried to figure out how to automatically populate the base of input values ​​on what was entered in another input field using javascript. Here is my code:

<script> add = document.getElementById('address').value; city = document.getElementById('city').value; state = document.getElementById('state').value; zip = document.getElementById('zip').value; compAdd = add+" "+city+" "+state+" "+zip; function showAdd(){ document.getElementById('shipadd1').value=compAdd; document.getElementById('add1').innerHTML=compAdd; } </script> <form action="" onchange="showAdd();"> Home Address: <input id="address" name="address" type="text" /><br/> Apt or Suite Number: <input id="suite" name="suite" type="text" /><br/> City/Town: <input id="city" name="city" type="text" /><br/> State:<select id="state" name="state" value="">...</select><br/> Zip:<input id="zip" name="zip" type="text" value=""/><br/> <p> Select Shipping Address Below: </p> <input type="checkbox" id="shipping-address-1" name="address1" value=""><span id="shiadd1">(Print auto-populated shipping address here...)</span> <input type="checkbox" id="shipping-address-2" name="address2" value="">ABC Corp 123 Main Street, My City, State Zip </form> 
+4
source share
3 answers

I made a js fiddle based on what you ask.

HTML

 Home Address: <input id="address" name="address" type="text" /> <br/>Apt or Suite Number: <input id="suite" name="suite" type="text" /> <br/>City/Town: <input id="city" name="city" type="text" /> <br/>State: <select id="state" name="state" value=""> <option value="AL">Alabama</option> <option value="AK">Alaska</option> </select> <br/>Zip: <input id="zip" name="zip" type="text" value="" /> <br/> <p>Select Shipping Address Below:</p> <input type="checkbox" id="shipping-address-1" name="address1" value=""> <label for="shipping-address-1" id="shiadd1">(Print auto-populated shipping address here...)</label> <input type="checkbox" id="shipping-address-2" name="address2" value=""> <label for="shipping-address-2">ABC Corp 123 Main Street, My City, State Zip</label> 

Javascript

 $("#address,#suite,#city,#state,#zip").change(function () { var addressArray = [$("#address").val(), $("#suite").val(), $("#city").val(), $("#state").val(), $("#zip").val()]; $("#shiadd1").text(addressArray.join(' ')); }); 
+5
source

I made a general example:

HTML

 <input type="text" class="first"> <input type="text" class="second"> 

Javascript

 $(".first").on('keydown',function(){ $(".second").val($(this).val()); }); 

http://jsfiddle.net/fmdwv/1/

For your purpose:

 $("#address").on('change', function(){ $("#shipping-address-1").val($(this).val()); }); 
+4
source

The onchange event should be used in the <input> tags, and not in the <form> .

0
source

Source: https://habr.com/ru/post/1499223/


All Articles