Autofocus op textarea
Ik heb een systeem waardoor als er op gegevens geklikt word dat er een textarea opent en dat de gegevens bewerkt kunnen worden. Ik zou nu alleen graag willen dat als ik op de text klik dat er de cursor dan ook verschijnt(en het toetsenbord op tablets) waardoor de gebruiker direct kan beginnen met typen. Als de gebruiker blurt dan moeten de gegevens automatisch opgeslagen worden.
Het gene wat dus niet lukt is het automatische focussen op de textarea.
De javascript code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function create_input(element, type, attr, onblur) {
if($(_this).children().hasClass('madeinput')) return;
switch(type) {
case 'textarea':
create_textarea(element, attr, onblur);
break;
}
}
function create_textarea(element, attr, onblur) {
var c = $(_this).html();
var r = Math.random();
$(_this).html('<textarea id="' + r + '" onblur="save_input(this)" class="madeinput">' + c + '</textarea>');
$('#'+r).focus();
}
if($(_this).children().hasClass('madeinput')) return;
switch(type) {
case 'textarea':
create_textarea(element, attr, onblur);
break;
}
}
function create_textarea(element, attr, onblur) {
var c = $(_this).html();
var r = Math.random();
$(_this).html('<textarea id="' + r + '" onblur="save_input(this)" class="madeinput">' + c + '</textarea>');
$('#'+r).focus();
}
De HTML code:
Ik heb ook geprobeerd een timer in te stellen om er zeker van zijn dat de textarea al echt aanwezig is voor het uitvoeren van de focus. Dit werkte niet. Verder heb ik momenteel even geen ideeën hoe ik dit moet realiseren.
Nick
Ik heb dit opgelost door toString().substr(2,5) te gebruiken. Dit zal alleen niet de meest effiecente optie zijn. Hoe kan ik dit beter oplossen?
mag een id van een html-element wel numeriek zijn / met een cijfer beginnen?