I am still a newbie and I have been working on this code... The idea is to replicate the google sign-up form wherein input types were grouped and are shown only after the previous group of input types was answered.
The way that I want to approach this is to group them into wrapper tags and select them via jquery. Here is the my code:
$(function() {
var divs = $("#wrapper");
$("#next").click(function() {
var div = divs[0];
div.hide();
})
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="cover">
<form method="post" action="">
<div id="wrapper" class="wrapper">
<h1>Identity</h1>
<label>First Name</label><input type="text" name="fname"><br><br>
<label>Last Name</label><input type="text" name="lname"><br><br><br>
<label>Civil Status</label>
<select name="civil_status" id="cv_stat">
<option value="Single">Single</option>
<option value="Married">Married</option>
<option value="Widowed">Widowed</option>
<option value="Annulled">Anulled</option>
</select><br><br>
<label>Email</label><input type="email" name="email"><br><br>
<div id="next" class="next">
<div>Next</div>
</div>
</div>
<div id="wrapper" class="wrapper">
<h1>Identity</h1>
<label>First Name</label><input type="text" name="fname"><br><br>
<label>Last Name</label><input type="text" name="lname"><br><br><br>
<label>Civil Status</label>
<select name="civil_status" id="cv_stat">
<option value="Single">Single</option>
<option value="Married">Married</option>
<option value="Widowed">Widowed</option>
<option value="Annulled">Anulled</option>
</select><br><br>
<label>Email</label><input type="email" name="email"><br><br>
<div id="next" class="next">
<div>Next</div>
</div>
</div>
<div id="wrapper" class="wrapper">
<h1>hello</h1>
<label>First Name</label><input type="text" name="fname"><br><br>
<label>Last Name</label><input type="text" name="lname"><br><br><br>
<label>Civil Status</label>
<select name="civil_status" id="cv_stat">
<option value="Single">Single</option>
<option value="Married">Married</option>
<option value="Widowed">Widowed</option>
<option value="Annulled">Anulled</option>
</select><br><br>
<label>Email</label><input type="email" name="email"><br>
</div>
</form>
</div>
However I tried targeting the second element with the wrapper tag using the jQuery code shown, and it kept on producing this kind of error:
registration.js:7 Uncaught TypeError: div.css is not a function
at HTMLDivElement.<anonymous> (registration.js:7)
at HTMLDivElement.dispatch (jquery.min.js:2)
at HTMLDivElement.v.handle (jquery.min.js:2)
Any insights or idea on what I have done wrong? I am really stuck here. Thank you
$(this).closest(".wrapper").next()to navigate the DOM.