[英]Return value from input field with the jQuery blur function
目標:用戶關注輸入字段。 用戶在輸入字段中寫入一個值。 當用戶完成操作並且輸入字段不再是焦點時,將插入的值保存到名為“ inputFieldValue”的變量中。 這應該通過調用函數“ returnInputValue”來完成。
HTML
<!DOCTYPE html>
<html>
<head>
<title>My test</title>
</head>
<body>
<input class="input" />
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="test.js"></script>
</body>
</html>
test.js
function returnInputValue() {
var inputValue;
$('.input').blur(function() {
inputValue = $('.input').val();
});
return inputValue;
}
var inputFieldValue = returnInputValue();
當我在插入值並再次聚焦之后從控制台調用變量inputFieldValue變量時,它仍然是“未定義”的。
我錯過了什么嗎?
您執行的函數是一個異步函數,即,它基於input
觸發blur
事件之后的時間。 您需要在blur
事件中將其返回:
function returnInputValue() {
var inputValue;
$('.input').blur(function() {
inputValue = $('.input').val();
return inputValue;
});
}
正如某些人所建議的那樣,即使上面的代碼也不正確。 inputValue
無效,因為它總是返回undefined
。
或者,將其設置為直接訪問上一個blur
紅色值。
var inputValue = "Not Blurred Yet!";
$('.input').blur(function() {
inputValue = $('.input').val();
});
function returnInputValue() {
return inputValue;
}
嘗試在函數外聲明變量
<script>
var inputValue;
function returnInputValue() {
$('.input').blur(function() {
inputValue = $('.input').val();
});
return inputValue;
}
var inputFieldValue = returnInputValue();
</script>
這是當前的邏輯:
undefined
值的變量。 undefined
。 undefined
值 上述邏輯已損壞,應予以糾正。 最好的選擇是將最終邏輯移入blur
處理程序:
$('.input').blur(function() {
var inputValue = this.value;
// do something with the value
// ...
});
如果需要在某個特定時刻獲取值,請查詢DOM,選擇元素並獲取其值。
您可以使用。
$(document).on("blur","#Yourinput",function(){
var Myval = $("#Yourinput").val();
// Execute your code here I.e call your function
// ...
// You do not even have to call you function put
// It in a div to display
$("#yourdiv").html(Myval);
//Will display it in a div
//Or add to array
Yourarray.push(Myval);
});
這使用jQuery .on()
方法。
此方法非常靈活。 如果您要插入數據庫,則可以使用jquery ajax在這里非常簡單地進行操作。
您必須處理事件,即用另一個事件替換模糊,但是如果您使用jquery,我相信這是最簡單的方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.