Refresh en autofocus
Ik heb een script dat nu een div refresh werkt super.
Maar nu wilde ik autofocus gaan doen in een text field.
Dit werkt even daarna valt autofocus weg..
Nu had ik een script gevonden maar dan werkt refresh niet meer.
Kan iemand mij helpen ?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript">
$(document).ready(function () {
var refreshId = setInterval(function () {
$('#refresh').load(' #refresh');
}, 10000);
});
myFocusFunction(){
let myInput = document.getElementById('idOfInput');
setTimeout(function() {
myInput .focus();
}, 100);
}
</script>
$(document).ready(function () {
var refreshId = setInterval(function () {
$('#refresh').load(' #refresh');
}, 10000);
});
myFocusFunction(){
let myInput = document.getElementById('idOfInput');
setTimeout(function() {
myInput .focus();
}, 100);
}
</script>
Code (php)
1
<input type="text" id="serial" name="zoeken" placeholder="Serial nummer" onblur="this.focus()" ng-blur="myFocusFunction" required autofocus>
Edit:
Ik heb code-tags geplaatst. Gelieve dit in het vervolg zelf toe te voegen aan je bericht.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Bedankt alvast
Gewijzigd op 02/12/2019 14:43:37 door - Ariën -
Hoe dan ook, waarschijnlijk heeft het pas zin om de focus terug te geven op het moment dat deze div klaar is met laden? Dus in dat opzicht lijkt mij de meest logische plaats om dit te doen in de callback-functie van de load aanroep. In de derde parameter van load zet je dus een naamloze functie die de focus (terug)geeft aan het textveld.
Als het textveld in de div zelf staat (die ververst wordt) lijkt mij deze aanpak ook verplicht, omdat het textveld anders mogelijk nog niet bestaat als je direct probeert de focus hier naar te verplaatsen terwijl de div nog aan het laden is.
Uiteraard moeten de verwijzingen naar de namen van de id's ook kloppen als je wilt dat het werkt. Zo zou "idOfInput" in het bovenstaande fragment waarschijnlijk aangepast moeten worden naar "serial". Maar mogelijk heb je in het bovenstaande fragment twee varianten geplaatst die hetzelfde doen, of probeer je deze te combineren of wat dan ook.
Gewijzigd op 02/12/2019 14:48:32 door Thomas van den Heuvel
Maar wanneer is deze er weer tussen zet werkt de focus wel maar refresh niet.
Ik heb de is aangepast..
Gewijzigd op 02/12/2019 16:47:19 door Thomas van den Heuvel
het is een systeem dat allemaal serial nummers bij houd.
even een voorbeeld. ik voer een serial nummer in en de gegevens komen tevoorschijn.
miss dat jij iets als alternatief kan geven. (Jquery is niet mijn tak helaas :$)
Als het een interactief geheel is (dat je realtime ook invoer van anderen ziet verschijnen) wordt het een ander verhaal en moet je ook aan een iets andere oplossing gaan denken.
Ben je ook daadwerkelijk data aan het invoeren of gaat het hier om zoekfunctionaliteit oid? Wat is de toepassing van deze functionaliteit precies?
Dit omdat er op de vloer meerdere systeem zijn zodat iedereen weet wat wel en niet goed is..
En de zoek functie is om het sneller en makkelijker te maken.
Dus dacht ik dat het wel zou werken met een zoekfunctie..
Maar ideeen sta ik altijd open voor ;)
(bedankt voor het mee denken)
In je tekstveld een autofocus toevoegen & en deze overnemen bij het verzenden onder jquery lijkt me een simpelere oplossing. Voorbeeld:
<script>
$("#ingang").submit(function(e) {
var form = $("#ingang");
e.preventDefault();
$.ajax({
method: "POST",
url: form.attr("action"),
cache: false,
data: form.serialize(),
success: function(result) {
$(".msge").val("");
$(".msge").focus();
}
});
});
</script>
<script>:
$(document.ready(function() { //is aan het begin v/h script wel geopend
//bla,
//bla,
//bla.
}); //maar aan het einde niet.
</script>
Dit voorgaande geeft de meest vage foutmeldingen, de webdevelopper is je vriend in deze want een var/log/apache2/error.log geeft de jquery fouten niet weer.
Gewijzigd op 02/12/2019 21:07:15 door Yoop Overmaat