我有一個結帳頁面,要求用戶提供他們的付款信息,然後他們點擊一個Review按鈕,他們會將他們帶到一個新的「面板」來查看他們可以查看的所有信息返回並根據需要進行更改,這必須發生在同一頁面中,所以我有一個「信息面板」div,一旦按鈕被點擊,就會通過jquery更改爲「information-review-panel」,如下所示:Html表單 - 審查和更改信息
$(document).ready(function() {
$("form").submit(function() {
//Save values from the form fields
var fn = $("#first_name").val() + " " + $("#last_name").val();
var cc = $("#credit_card").val();
//Switch panels
$("div.information-panel").replaceWith($("div.information-review-panel"));
$("div.information-review-panel").fadeIn(1000);
//Place values in the new panel
$("#review-name").html(fn);
$("#review-card").html(cc);
});
});
<div class="information-panel">
<div class="form-line">
<div class="col-md-4">
<label for="first_name">First Name</label>
<input class="form-control" id="first_name" type="text" placeholder="First Name" required>
</div>
<div class="col-md-4">
<label for="last_name">Last Name</label>
<input class="form-control" id="last_name" type="text" placeholder="Last Name" required>
</div>
<div class="col-md-4">
<label for="credit_card">Credit Card Number</label>
<input class="form-control" id="credit_card" type="text" placeholder="Card Number" required>
</div>
</div>
</div>
<div id="step_nav">
<input type="submit" class="blue-button next" value="review">
</div>
<div class="information-review-panel">
<h2>Review Panel</h2>
<h4>Please review your information below:</h4>
<div class="amount">
<h3>
<b>Name:</b><span id="review-name"></span>
</h3>
<h3>
<b>Credit Card Number:</b><span id="review-card"></span>
</h3>
</div>
正如您所看到的,我的第一個問題是Review按鈕實際上提交了表單,這是因爲它是我知道驗證表單上信息的唯一方式,但顯然我不想在查看之前提交表單它並能夠回去編輯任何信息。所以我的問題是,我如何在兩個面板之間來回移動,並且在沒有提交表單的情況下驗證表單上的數據?我不確定AngularJS是否是一種選擇,但我無法使用它。任何幫助是極大的讚賞。
是的,我現在看到我的錯誤,謝謝。這是有效的,我可以在兩個面板之間來回移動,我唯一的問題是,因爲當我點擊查看按鈕時不再提交表單,用戶可以移動到下一個面板而無需填寫任何「必填」字段,我如何驗證表單中的信息而不實際提交? – SeptimaEspada