Wie man set cursor focus onload?
Ich verwenden h:selectOneRadio-tag.
Ich brauche, um den cursor-Fokus auf die erste radio-Bereich.
<f:view>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<h:form id="focusForm" >
<h:selectOneRadio id="testRadioId" value="">
<f:selectItem id="si1" itemLabel="JSF" />
<f:selectItem id="si2" itemLabel="JSP" />
</h:selectOneRadio>
</h:form>
</body></html></f:view>
hier Der Firefox (- browser) weisen id :focusForm:testRadioId:0 das Feld.
Also ich benutze Folgendes script:
document.getElementById("focusForm:testRadioId:0").focus();
Aber,
Einige Male, kann ich dynamisch ändern, deaktivieren Sie das Feld "radio" aus backing-bean.
<h:selectOneRadio id="testRadioId" value="">
<f:selectItem id="si1" itemLabel="JSF" itemDisabled="true"/>
<f:selectItem id="si2" itemLabel="JSP" />
</h:selectOneRadio>
So, hier deaktiviere ich die ersten radio-button.
Nun, Wenn ich das gleiche Skript, dann nicht einstellen, den cursor-Fokus auf die erste radio-Bereich.
wie mache ich das? das heißt, wie verändern mein Skript dynamisch während der onload?
Bitte helfen Sie mir.
Vielen Dank im Voraus.
Update:
Dank BaluC.
Dem folgenden code gearbeitet wird.
<a4j:loadScript src="resource://jquery.js"/>
<script type="text/javascript">
function setFocusRadioField()
{
jQuery(':input:visible:enabled:first').focus();
}
</script>
<body onload="setFocusRadioField();">
</body>
Aber die folgende code nicht funktioniert.
Ich Teste die folgende Weise:
jQuery('#focusForm\:testRadioId:enabled:first').focus();
Dann,
jQuery('#focusForm\\:testRadioId:enabled:first').focus();
Dann,
var id = "#focusForm:testRadioId:enabled:first".replace(/:/g, "\\:");
jQuery(id).focus();
Ich weiß nicht, wo ich den Fehler.
Besser, ich brauche den cursor-Fokus mit id.
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da Sie tagged jQuery, hier ist eine jQuery-Lösung:
Den
[id^=name]
Selektor findet alle Elemente, angefangen mit dem Namenname
.Wenn Ihre Absicht ist wirklich zu konzentrieren, die erste nicht-versteckten und nicht-Behinderte input-element der Seite, unabhängig von der Art des Eingangs, dann verwenden Sie diesen:
name
- Attribut?Zog ich javascript für diese. Stelle js-Funktionsaufruf in den body-tag des HTML. Definieren Sie die javascript Funktion in js-Datei, oder zumindest bevor Sie es aus dem body-tag. Also, wenn Sie gehen, um zu definieren, die Funktion in der HTML-Datei, tun Sie es früh.
HTML:
JavaScript: