javascript - Submit button clears form instead of opening div -
i'm trying open div displays user entered in form onsubmit, submit button clears form, , can't figure out why. have use javascript display results. here's code:
<!doctype html> <meta name="viewport" content="width=device-width, initial-scale=1"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <style> h1 { text-align: center; color: blue; font-family: 'courier'; margin: 30px; } h2 { margin-top: 40px; margin-left: 500px; margin-bottom: 20px; } #divresults { display: none; } </style> </head> <body> <div id="customerform"> <form onsubmit="return showresults();"> <p>first name: <input type="text" id="fname" value="" required /></p> <p>last name: <input type="text" id="lname" value="" required /></p> <p>street address: <input type="text" id="address" value="" required /></p> <p>city: <input type="text" id="city" value="" required /></p> <p>state: <select id="states" required> <option id="statedefault" value="">please select state</option> <option value="alabama">alabama</option> <option value="alaska">alaska</option> <option value="arizona">arizona</option> <option value="arkansas">arkansas</option> <option value="california">california</option> <option value="colorado">colorado</option> <option value="connecticut">connecticut</option> <option value="delaware">delaware</option> <option value="florida">florida</option> <option value="georgia">georgia</option> <option value="hawaii">hawaii</option> <option value="idaho">idaho</option> <option value="illinois">illinois</option> <option value="indiana">indiana</option> <option value="iowa">iowa</option> <option value="kansas">kansas</option> <option value="kentucky">kentucky</option> <option value="louisiana">louisiana</option> <option value="maine">maine</option> <option value="maryland">maryland</option> <option value="massachusetts">massachusetts</option> <option value="michigan">michigan</option> <option value="minnesota">minnesota</option> <option value="mississippi">mississippi</option> <option value="missouri">missouri</option> <option value="montana">montana</option> <option value="nebraska">nebraska</option> <option value="nevada">nevada</option> <option value="new hampshire">new hampshire</option> <option value="new jersey">new jersey</option> <option value="new mexico">new mexico</option> <option value="new york">new york</option> <option value="north carolina">north carolina</option> <option value="north dakota">north dakota</option> <option value="ohio">ohio</option> <option value="oklahoma">oklahoma</option> <option value="oregon">oregon</option> <option value="pennsylvania">pennsylvania</option> <option value="rhode island">rhode island</option> <option value="south carolina">south carolina</option> <option value="south dakota">south dakota</option> <option value="tennessee">tennessee</option> <option value="texas">texas</option> <option value="utah">utah</option> <option value="vermont">vermont</option> <option value="virginia">virginia</option> <option value="washington">washington</option> <option value="west virginia">west virginia</option> <option value="wisconsin">wisconsin</option> <option value="wyoming">wyoming</option> </select> </p> <p>zip code: <input type="text" id="zip" required /></p> <p>gender: <input type="radio" name="sex" value="male" checked />male <input type="radio" name="sex" value="female" />female </p> <input type="submit" id="submitbutton" /> <input type="reset" id="clear" value="clear" /> </form> </div> <br/> <div id="divresults"> <h2>you entered: </h2> <p>first name: <span id="first" class="results"></span></p> <p>last name: <span id="last" class="results"></span></p> <p>street address: <span id="street" class="results"></span></p> <p>city: <span id="cityresult" class="results"></span></p> <p>state: <span id="stateresult" class="results"></span></p> <p>zip: <span id="zipcode" class="results"></span></p> <p>gender: <span id="gen" class="results"></span></p> <input type="button" id="formreset" value="go form" onclick="resetform();" /> </div> <script> function showresults() { //store form values var fst = document.getelementbyid("fname").value; var lst = document.getelementbyid("lname").value; var st = document.getelementbyid("address").value; var cty = document.getelementbyid("city").value; var ste = document.getelementbyid("states").value; var zp = document.getelementbyid("zip").value; var gndr = "male"; var genders = document.getelementsbyname("sex"); (var = 0; < 2; i++) { if (genders[i].checked) { gndr = radios[i].value; break; } } clearform(); //switch divs document.getelementbyid("customerform").style.display = "none"; document.getelementbyid("divresults").style.display = "block"; //display results document.getelementbyid("first").innerhtml = fst; document.getelementbyid("last").innerhtml = lst; document.getelementbyid("street").innerhtml = st; document.getelementbyid("cityresult").innerhtml = cty; document.getelementbyid("stateresult").innerhtml = ste; document.getelementbyid("zipcode").innerhtml = zp; document.getelementbyid("gen").innerhtml = gndr; return false; } function clearform() { document.getelementbyid("fname").value = ""; document.getelementbyid("lname").value = ""; document.getelementbyid("address").value = ""; document.getelementbyid("city").value = ""; document.getelementbyid("states").value = ""; document.getelementbyid("zip").value = ""; } function resetform() { document.getelementbyid("first").innerhtml = ""; document.getelementbyid("last").innerhtml = ""; document.getelementbyid("street").innerhtml = ""; document.getelementbyid("cityresult").innerhtml = ""; document.getelementbyid("stateresult").innerhtml = ""; document.getelementbyid("zipcode").innerhtml = ""; document.getelementbyid("gen").innerhtml = ""; document.getelementbyid("customerform").style.display = "block"; document.getelementbyid("divresults").style.display = "none"; } </script> </body> </html>
you have error uncaught referenceerror: radios not defined
, in loop using radios[i].value
should genders[i].value
for (var = 0; < 2; i++) { if (genders[i].checked) { gndr = genders[i].value; break; } }
demo: fiddle
Comments
Post a Comment