如果用戶從下拉菜單中選擇'Yes'
,我試圖創建兩個額外的表單域。如果用戶沒有從下拉列表中選擇'Yes'
,那麼這兩個額外的字段不是必需的,並且被禁用,但是如果選擇'Yes'
,則在提交表單之前填寫這些字段必須填寫。到目前爲止我有這個,但它不起作用。如果有人能指出這個問題,將不勝感激。如果選擇了下拉菜單,則會顯示額外的表單域
HTML:
<form id="form" method="post" action="action.php">
<div class="form-group">
<label class="control-label">Defect?</label>
<select onclick='checkIfYes()' class="select form-control" id="defect" name="defect">
<option id="No" value="No">No</option>
<option id="Yes" value="Yes">Yes</option>
</select>
</div>
<div id="extra" name="extra" style="display: none">
<label class="control-label" for="desc">Description</label>
<input class="form-control" type="text" id="desc" name="desc" required disabled>
<label class="control-label" for="auth_by">Authorised By</label>
<input class="form-control" type="text" id="auth_by" name="auth_by" required disabled>
</div>
<div class="form-group">
<button class="btn btn-info" id="submit" name="submit" type="submit">Submit
</button>
</div>
</form>
的JavaScript:
function checkIfYes() {
if (document.getElementById('defect').value == 'Yes') {
document.getElementById('extra').style.display = '';
document.getElementById('auth_by').disabled = false;
document.getElementById('desc').disabled = false;
} else {
document.getElementById('extra').style.display = 'none';
}
}
當我運行這個小提琴l得到checkIfYes沒有被定義。 checkIfYes需要在html之前定義。請參閱小提琴:http://jsfiddle.net/z6Lm1m5x/16/ – MattLaza
@MattLaza - 如果選擇了「是」,則會顯示字段,但如果選擇「否」,則不會讓您提交表單。 – sinesine
對不起,我似乎不能在小提琴中複製。是和否都提交表格。它在小提琴中重定向。檢查是否有任何額外的JavaScript錯誤被拋出? – MattLaza