Autor Zpráva
Pavel H.
Profil *
pls, nemate nekdo nebo neumite spachat maly sriptik,ktery po napsani 8 znaku do formularoveho okna input type text automaticky formular odesle?
formular ma jen jedno okno.

Diky
Pavel
habendorf
Profil
u inputu budeš na onkeyup sledovat this.value.length, pokud bude ==8, vyvoláš submit
habendorf
Profil
<form action="#" method="get" id="idecko">
<input type="text" onkeyup="if(this.value.length==8) document.getElementById('idecko').submit();" />
</form>

Třeba.
Pavel H.
Profil *
tzn takto?


.....
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function kontrola(){
if(document.form2.idkarty.value.length()==8){
document.form2.submit();
}
}
// End -->
</script>
....

response.write "<input onChange='kontrola();' type='text' name='idkarty' size='20' value='" & defaultvaluekbid & "'>"
habendorf
Profil
length je vlastnost, takže bez ()

Když to budeš volat jako kontrola(this), ušetříš si pak to adresování inputu.
Pavel H.
Profil *
hmm zvlastni,

pkud zapisu jako ciste html, tak funguje, pokud se pokusim prevest na asp. uz ne...

<%
response.write"<form action='x.asp' method='post' id='idecko'>"
response.write"<input type='text' onkeyup='if(this.value.length==8) document.getElementById('idecko').submit();' />"
response.write"</form>"
%>

kde muze byt chyba popr co je potreba upravit?diky.
Pavel
peta
Profil
Pavel H.
Ale to je problem ASP a zapis. Jak se to tyka JS?
Forum o ASP tu neni, ale treba forum.builder.cz . A nebo si vybrat vhodnejsi nazev, mozna Jak neco udelat.

<%
response.write"<form action='x.asp' method='post' id='idecko'>"
response.write"<input type='text' onkeyup='if(this.value.length==8) document.getElementById('idecko').submit();' />"
response.write"</form>"
%>

onkeyup='neco'idecko').submit();'
to idecko a spol tam nepatri.
Si prohledni, jaky ti generuje HTML kod a co ti hlasi JS konzola. A nebo ti to pri kopirovani do fora smazalo zpetna lomitka
onkeyup='neco\'idecko\').submit();'
onkeyup=\"neco'idecko').submit();\"
habendorf
Profil
Pavel H.: Tlučou se ti apostrofy.
Pavel H.
Profil *
to za response.write a na konci radku nejsou apostrovy ale uvozovky.

ale at jsem zkousel jak jsem zkousel,tak donutit aspcko, aby vystupem byl korektni kod vcetne uvozovek se me zatim nepodarilo. takze me nezbyde nez pokracovat dale...
habendorf
Profil
o za response.write a na konci radku nejsou apostrovy ale uvozovky

Já vím. Jenže pak máš mezi apostrofy toto:

if(this.value.length==8) document.getElementById(

a toto:

).submit();

Řešením je třeba escape sekvence. Ale co s tím udělá asp, to netuším, o asp nevím lautr nic.
Pavel H.
Profil *
if(this.value.length==8) document.getElementById(

a toto:

).submit();



jenze sem uvozovky,ktere tam patri nejsu schopny dostat, v jinych pripadech lze uvozovky ' nahradit,jak to vzpada, tak tady ne... takze jdu googlovat dale... java je pro me naprosta neznama,takze nevim,co vse snese :o(
habendorf
Profil
Jak psal peta i já - escape sekvence. Vnitřní apostrofy nahraď za \'

BTW javascript není java.
los
Profil *
Prípadne takto a nemáš problém s úvodzovkami:
if(this.value.length==8) this.form.submit()
habendorf
Profil
los: Objektem this je v tomto případě input. Opravdu this.form zabere? Vím že JS ovládáš dobře, rozhodně líp než já, ale nějak se mi to nezdá.
habendorf
Profil
los: Zkusil jsem to, máš pravdu. Asi špatně chápu objekt this.
peta
Profil
habendorf
Zabere, videl jsem to tu uz na foru. Taky mi to prislo divny, ale je to vymysleny chytre, kdyz je odkaz na objekt v parent v danem objektu :)
To porad rikam, ze JS je jeden z nej jazyku, co se prace tyce. Kdyz pomineme crossbrowser problemy.

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