Reputation: 118
I want to make sure that the after() executes only after focusout() is processed and not before that in jquery. Following is the code:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<form action="index.php" method="post">
<label for="lblIosDownload">Todays iOS Downloads</label>
<input name="txtIosDownloads" type="number" > <br>
<label for="lblAndroidDownload">Todays Android Downloads</label>
<input name="txtAndroidDownloads" type="number" ><br>
<label for="iosSignUps">Today's Ios Sign ups</label>
<input name="txtIosSignUps" type="number" ><br>
<label for="lblAndroidSignUps">Todays Android SignUps</label>
<input name="txtAndroidDownloads" type="number" ><br>
</form>
<script>
$(document).ready(function(){
$("input[name='txtIosSignUps']").focusout(function(e){
e.preventDefault();
var numberOfSignups = $(this).val();
alert(numberOfSignups);
}).after("<div style='color:red'>Hi<div>");
});
</script>
</body>
Upvotes: 0
Views: 24
Reputation: 171679
Move the after()
call inside the event handler so it doesn't occur on page load and occurs when event occurs
$(document).ready(function(){
$("input[name='txtIosSignUps']").focusout(function(e){
e.preventDefault();
var numberOfSignups = $(this).val();
alert(numberOfSignups);
$(this).after("<div style='color:red'>Hi<div>");
});
});
Upvotes: 1