我有一段驗證表單的JavaScript代碼。如果輸入字段爲空,我將添加「空白」,在輸入字段中輸入紅色背景。如何從輸入中刪除類
當用戶點擊該字段時,是否有辦法刪除該類?
我曾試過這個,但它沒有奏效。
$('input').bind('blur', function(){
$(this).removeClass('empty');
});
function register()
{
\t var errornotice = "This field is required";
\t
\t if(document.myForma.userid.value == '')
\t {
\t \t var id = $("#userid");
\t \t id.addClass("empty");
\t \t id.val(errornotice);
\t }
\t
\t if(document.myForma.fullname.value == '')
\t {
\t \t var name = $("#fullname");
\t \t name.addClass("empty");
\t \t name.val(errornotice);
\t \t
\t }
\t
\t if($(":input").hasClass("empty"))
\t {
\t \t return false;
\t }
\t else
\t {
\t \t errornotice.hide();
\t \t return true;
\t }
\t
\t
\t $('input').bind('blur', function(){ \t \t
\t $(this).removeClass('empty');
\t });
}
.empty
{
\t background:red;
\t color:#fff;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form role="form" action="index.php" method="post" id="apply-form input" onSubmit="return(register());" name="myForma">
<div class="form-group">
<label for="userN">User Name<span class="error">*</span></label>
<input type="text" name="userid" class="form-control" id="userid">
</div>
<div class="form-group">
<label for="fullname">Full name<span class="error">*</span></label>
<input type="text" id="fullname" name="fullname" class="form-control">
<p id="empty"></p>
</div>
<input type="submit" value="submit" id="submit">
</form>
爲什麼不使用'$( '輸入')。點擊(....)'? –
1)不要將事件處理程序添加到其他事件處理程序中的元素;移動其他地方的事件處理程序綁定。 2)'bind()'在jQuery中被棄用了很長一段時間。除非你必須使用舊版本的jQuery,否則使用'on()'。 3)模糊是用戶離開場地時發生的事件,而不是當他們進入場地時發生的事件。嘗試'focusin'。 –
您需要在* return之前添加事件處理程序*。返回語句之後的代碼永遠不會執行。 – 4castle