Autor Zpráva
regvac
Profil *
Měl bych dotaz, zda nějak lze udělat, aby po zapsání x znaků do input typu text by psaní dalších znaků přeskočilo automaticky do dalšího inputu a nakonec k tlačítku odeslat.

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit)
field.value = field.value.substring(0, maxlimit);
else
countfield.value = maxlimit - field.value.length;
}
</script>
</HEAD>
<BODY>
<form name=myform>
<input type="text" size="1" name="jmeno" onKeyDown="textCounter(this.form.jmeno,this.form.remLen,1);" onKeyUp="textCounter(this.form.jmeno,this.form.remLen,1);">

<input type="text" size="1" name="jmeno1" onKeyDown="textCounter(this.form.jmeno1,this.form.remLen,1);" onKeyUp="textCounter(this.form.jmeno1,this.form.remLen,1);">

<input type="text" size="1" name="jmeno2" onKeyDown="textCounter(this.form.jmeno2,this.form.remLen,1);" onKeyUp="textCounter(this.form.jmeno2,this.form.remLen,1);">

<input type="text" size="1" name="jmeno3" onKeyDown="textCounter(this.form.jmeno3,this.form.remLen,1);" onKeyUp="textCounter(this.form.jmeno3,this.form.remLen,1);">

<input onclick="kontrola();" type="submit" value="Odeslat">
</form>

</BODY>
</HTML>
peta
Profil
regvac
google.com jak ovladat www prohlizec
www prohlizec - napoveda
kouzelna klavesa tabelator
Joker
Profil
regvac
než přes čítač by možná bylo jednodušší kontrolovat this.value.length. Ale položil bych si otázku, jestli to někdy nebude uživatele otravovat.
Přišlo by mi lepší nastavit tabindexy a přepínat tabulátorem.
regvac
Profil *
Vyřešil jsem to takto:
<HTML>
<HEAD>
<script type="text/javascript">
function nexttab(elmnt,content){
if (content.length==elmnt.maxLength){
next_tab=elmnt.tabIndex
if (next_tab<document.forms[0].elements.length){
document.forms[0].elements[next_tab].focus()
}
}
}
</script>
</HEAD>
<BODY>
<form name=form1 method="post">
<input size="1" tabindex="1" name="j1" maxlength="1" onkeyup="nexttab(this,this.value);" onChange="javascript:this.value=this.value.toUpperCase();" onFocus="javascript:this.value='';">
<input size="1" tabindex="2" name="j2" maxlength="1" onkeyup="nexttab(this,this.value);" onChange="javascript:this.value=this.value.toUpperCase();" onFocus="javascript:this.value='';">
<input size="1" tabindex="3" name="j3" maxlength="1" onkeyup="nexttab(this,this.value);" onChange="javascript:this.value=this.value.toUpperCase();" onFocus="javascript:this.value='';">
<BR>
<input size="1" tabindex="4" name="j4" maxlength="1" onkeyup="nexttab(this,this.value);" onChange="javascript:this.value=this.value.toUpperCase();" onFocus="javascript:this.value='';">
<input size="1" tabindex="5" name="j5" maxlength="1" onkeyup="nexttab(this,this.value);" onChange="javascript:this.value=this.value.toUpperCase();" onFocus="javascript:this.value='';">
<input size="1" tabindex="6" name="j6" maxlength="1" onkeyup="nexttab(this,this.value);" onChange="javascript:this.value=this.value.toUpperCase();" onFocus="javascript:this.value='';">
<input tabindex="7" onclick="funkce();" type="submit" value="Odeslat">
</form>
</BODY>
</HTML>
Bubák
Profil
Tahle verze může otravovat. Pokud zjistíš chybu třeba ve druhém políčku, jsi nucený všechny další hodnoty zapsat znova. Mám za to, že to není nutné.
regvac
Profil *
Vytvořil jsem cosi jako křížovku, viz. www.ata4.cz/pokus/krizovka.htm , ale někde mám chybu při odeslání formuláře. Výsledek jen problikne + rozpozná jen 1. písmeno, hlásí chybu u druhého slova v řádku funkce kontrola() var x = document.getElementById(pismeno).value; a tedy výsledek nevyhodnotí správně:-(

Pomůže mi někdo s opravou?
Šlo by nějak automatické přeskakování po inputech nastavit tak, aby se skákalo jen v rámci jednoho slova a ne v celé křížovce?

Moc dík
peta
Profil
regvac
http://www.volny.cz/peter.mlich/hry/hry.htm
- osmismerky
- sokoban
lusk.cz
slo by nastavit preskakovani v ramci sipek tak, ze jestlize existuje v JS poli bunka, jejiz obsat neni cislo nebo neco podobne, pak ti doboli preskocit na ID input
Ovsem bys to musel trosku predelat.

http://www.ata4.cz/pokus/krizovka.htm
not found :)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0