2017-04-07 64 views
1

我知道這個問題已被多次詢問,但沒有明確的答案。我正在嘗試在用戶寫入輸入時進行一些處理(ajax調用)。所以我嘗試使用onchange事件,但它似乎不起作用。我不明白爲什麼。這裏是我的代碼:jquery輸入 - 如何正確處理文本更改

HTML:

<input type="text" required="" class="form-control" name="email" placeholder="Adresse email" id="email"> 

JS

$("#email").change(function() { 
    alert("here"); 
    /**** Process ****/ 
}); 

這裏是小提琴:JSFiddle

我在其他帖子看到了一個不應該使用更改事件,但我無法找到有關如何更正的明確答案LY。

+3

哥們你缺少包括jQuery的。 –

+0

你的小提琴缺少jQuery。一旦你解決了這個問題,只有焦點離開文本框時,「更改」事件纔會啓動。那是你要的嗎?或者你想每次用戶輸入或刪除一個字符時跟蹤? – ADyson

回答

1

你說你希望它火當用戶在輸入寫作,所以在這裏使用相應的事件是onkeyup,這是應該的代碼:

$("#email").on('keyup', function() { 
 
    console.log("typing ..."); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" required="" class="form-control" name="email" placeholder="Adresse email" id="email">

注:

避免使用alert(),因爲它會嘗試在輸入字符時提醒消息。

+1

這就是我要找的! – Spider

0

change當你失去焦點時會着火。也許你打算使用input事件?

$("#email").on('input', e => console.log(e.target.value));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" required="" class="form-control" name="email" placeholder="Adresse email" id="email">

0

我已經更新了小提琴。看看 link。包含jQuery鏈接並使用鍵入功能,以防您希望輸入字符。

$("#email").keyup(function() { 
alert("There"); 
}); 
0

這個替換您的javascript:

$(document).on('change','#email',function() { 
    alert("here"); 
}); 
相關問題