我有一個HTML Form
包含輸入文本字段和選擇標記。jQuery
我確保那些輸入字段和選擇不是空的,但如果其中一個是空的,一條錯誤消息將顯示在旁邊那空字段和它的工作好了我,但我的問題是,如果輸入字段爲空,然後我填了,該錯誤信息不會刪除,jQuery的空文本輸入驗證
jQuery代碼
$(document).ready(function(){
$("#aioForm").on('submit',function(e){
var errorCount = 0;
$('span.errorMessage').text('');
$('#addIO select').each(function(){
var $this = $(this);
if(this.selectedIndex==0){
var error = 'Please select a cell' ;
$this.next('span').text(error);
errorCount = errorCount + 1;
}
});
var input = $("#aioForm input").val();
if(input==''){
$("#aioForm input").next('span').text("fill the name please");
errorCount= errorCount+1;
}
if(errorCount>0){
e.preventDefault();
}
if(errorCount==0){
$(this)[0].submit(); // submit form if no error
}else
return false;
});
});
HTML代碼
<div id="addIO">
<form id="aioForm" method="POST" action="<?php echo URL; ?>InformationObject/addIO">
<ul id="ioAddul">
<li class="ioAddli">
<p>
<label>Concept</label>
<select id="ConceptSelect"></select>
<span class="errorMessage"></span>
</p>
<p>
<label>Name</label>
<input type="text" id="aioConceptName" name="name" />
<span class="errorMessage"></span>
</p>
</li>
<li class="ioAddli">
<p>
<label>Concepts</label>
<a href="#" class="smallLink" id="aioShowLink">Show Concepts</a>
</p>
<div id="ioAddRelatedConcepts">
</div>
</li>
<li class="ioAddli" id="ioAddContents">
<p><label>Contents</label></p>
<p>
<label class="ioAddOneContent">write one info</label>
<input name="contents[]" type="text" class="longInput"/>
<span class="errorMessage"></span>
<a href="" class="smallLink" onclick="return ioAddNewContent(this)">new info</a>
</p>
</li>
<li class="ioAddli"id="ioAddOtherRelation">
<a href="" onclick="return ioAddSetOtherRelation(this)"class="smallLink">add other relation</a>
</li>
<li>
<input type="submit" class="button1" value="save"/>
</li>
</ul>
</form>
</div>
最重要的語句是這個
$('span.errorMessage').text('');
,我用它,它只是有選擇的標籤,不適用於輸入文本字段 the full code
你好,請的jsfiddle一次上傳代碼,以便它會很容易校驗碼。謝謝 –
@ Er.AnuragJain我已經上傳 –
我認爲你應該在輸入字段上使用keyup或者keydown函數,並且如果val()大於零或者不大於零,則檢查實時。如果val()= 0,則會顯示錯誤消息,在其他情況下,可以使用文本('')或val('')移除消息。 – Sajmon