Autor | Zpráva | ||
---|---|---|---|
jakubroz Profil |
#1 · Zasláno: 5. 5. 2008, 17:35:08
ted akorád ještě nevim jak to udělat když jí chci odebrat u více inputů a každej se jinak jmenuje.
|
||
Nox Profil |
#2 · Zasláno: 5. 5. 2008, 17:45:03 · Upravil/a: Nox
Tak buď manuálně opakovat...nebo si třeba udělej pole proměnných, kde dáš názvy požadovaných inputů:
var kontrola = new Array("txt","letadlo","lokomotiva") for(a=0;a<kontrola.length;a++){ txt=form[kontrola[a].toString()].value; snad toto půjde...toString tam možná nemusí být a pak už defakto stejně |
||
jakubroz Profil |
#3 · Zasláno: 5. 5. 2008, 18:08:39
no to ani ne. já bych to i klidně manuálně opakoval, ale ono to nešlo. tak nevim
asi bych musel změnit i název té funkce co? |
||
Nox Profil |
#4 · Zasláno: 5. 5. 2008, 18:13:35
To určitě ne, někde v tom máš asi chybu... zkus FF plugin Firebug, třeba napoví
|
||
jakubroz Profil |
#5 · Zasláno: 5. 5. 2008, 18:23:09
já si myslim že v tom chybu nemam.
když hned pod ten první JS vložim znova ten samej akorád to tam změnim všude na ten název toho inputu tak mi to zase bere jenom ten 2 input a ten první už ne. takže to bere vždy jenom jeden. nevim proč |
||
Nox Profil |
#6 · Zasláno: 5. 5. 2008, 18:36:15
Pořád si myslím, že tam máš chybu;) Postni to sem
|
||
jakubroz Profil |
#7 · Zasláno: 5. 5. 2008, 18:42:29
|
||
Nox Profil |
#8 · Zasláno: 5. 5. 2008, 18:45:36
To je hodně šílené - dvojitá definice funkce! navíc ty řetězce se znaky jsou tam 2x zbytečně...dej všechno do jedné jak jsem psal, klidně manuálně, ale takhle se nediv, že to nejede
|
||
jakubroz Profil |
#9 · Zasláno: 5. 5. 2008, 18:49:01
jak dát do jedné? proč to nejede?
|
||
Nox Profil |
#10 · Zasláno: 5. 5. 2008, 18:58:29 · Upravil/a: Nox
Protože nemůžeš definovat tu samou funkci víckrát...javascript se s tím očividně docela vypořádává, jelikož druhou tu první přepíše (pokud se teda bere jen ta druhá), ale je to ultraprasárna;)
|
||
jakubroz Profil |
#11 · Zasláno: 5. 5. 2008, 19:31:34
no takže jak jsem říkal musim tu funkci přejmenovat. a potom do toho submitu vložim jak víckrát onclick akorád pokaždý s jinou funkcí.
nebo jak by jsi to udělal aby to nebyla prasárna |
||
Nox Profil |
#12 · Zasláno: 5. 5. 2008, 20:36:28
NE :) Bože:)
Určitě to nepíšu poprvé -> dej to do jedné funkce! Už jsem psal i jak! tak ok, já to napíšu: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <meta name="generator" content="PSPad editor, www.pspad.com">; <title></title> <script type="text/javascript"> sdiak="áčďéěíňóřšťúůýřžÁČĎĚÉÍŇÓŠŤÚŮÝŘŽ"; bdiak="acdeeinorstuuyrzACDEFINOSTUUYRZ"; pole = new Array("txt","pole2","pole3"...); function bezdiak(form) { for(a=0;a<pole.length;a++){ tx="";txt=form[pole[a]].value; for(p=0;p<txt.length;p++) { if (sdiak.indexOf(txt.charAt(p))!=-1) tx+=bdiak.charAt(sdiak.indexOf(txt.charAt(p))) else tx+=txt.charAt(p); } form.txt.value=tx; }} </script> </head> <body> <form action="?"> <textarea name="txt" cols="30" rows="4"></textarea><br> <input type="button" value="Odstranit diakritiku" onclick="bezdiak(form);"> </form> </body> </html> Mělo by to jet...případně stáhni ten plugin a napiš co ti napíše |
||
jakubroz Profil |
#13 · Zasláno: 6. 5. 2008, 16:00:10 · Upravil/a: jakubroz
no tak to nejde. a ani si myslim že to nemůže jít. protože ty nenahrazuješ to txt.
všude kde je v tomhle kodu "txt" for(a=0;a<pole.length;a++){ tx="";txt=form[pole[a]].value; for(p=0;p<txt.length;p++) { if (sdiak.indexOf(txt.charAt(p))!=-1) tx+=bdiak.charAt(sdiak.indexOf(txt.charAt(p))) else tx+=txt.charAt(p); } form.txt.value=tx; se musí nahradit za název toho mojeho inputu jinak to nejde. takže nevim. asi jedině tenhle script opravit a firebug píše tuhle chybu: pole = new Array("FromStn","FromStn","pole3"...); 137 |
||
Nox Profil |
#14 · Zasláno: 6. 5. 2008, 16:44:00
Že zrovna ty víš, že to nebude fungovat;)
Navíc to máš tak nedobře udělaný, že máš stejnej název inputu jako's měl proměnnou, to txt co nahrazuju není to "txt, co je všude v kódu", ale jen to jméno inputu před "pole" zkus dát "var "...a jinak možná se txt=form[pole[a]].value; musí zapsat trochu jinak, ale v podstatě si myslim, že to mám dobře |
||
jakubroz Profil |
#15 · Zasláno: 6. 5. 2008, 16:59:47
aha, no já neříkám že to máš špatně. ale takhle mi to nešlo. tak nevim proč
|
||
jakubroz Profil |
#16 · Zasláno: 7. 5. 2008, 21:17:42
skusil jsem i před to dát var ale nejde to.
|
||
Hooonza Profil |
#17 · Zasláno: 7. 5. 2008, 21:45:45
Používám javascript viz tento kód (funkční příklad)
<html><meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> <script> function redukce (arg) { M = arg.value; C = M.length; redukuj = new Array("ě","š","č","ř","ž","ý","á","í","é","ú","ů","Ě","Š","Č","Ř","Ž", "Ý","Á","Í","É","Ú","Ů","ň","Ň","Ď","ď","ť","Ť","ó","Ó","Ä","ä","ë","Ë ","ö","Ö","ü","Ü"); red = new Array ("e","s","c","r","z","y","a","i","e","u","u","E","S","C","R","Z","Y"," A","I","E","U","U","n","N","D","d","t","T","o","O","A","a","e","E","o" ,"O","u","U"); for (i=0; i <= C-1; i++) { M = arg.value; r=0; for (r=0; r<redukuj.length; r++) { if (M.substr(i,1)==redukuj[r]) { x = M.substring(0,i); y = M.substring(i+1,C); arg.value = x+red[r]+y; };}; if (M.substr(C-1,1)==" ") { x = M.substring(0,C-1); arg.value = x; };};}; </script> <form name=formular> <input type=text name=a onblur="redukce(this)"> <input type=text name=b onblur="redukce(this)"> <input type=text name=c> <input type=text name=d> <input type=button onclick="redukce(this.form.c);redukce(this.form.d);"> </form> Myslím, že z toho je zřejmé, jak se text, který má být zbaven diakritiky, předává: je to argument funkce redukce. |
||
Hooonza Profil |
#18 · Zasláno: 7. 5. 2008, 21:56:39
Jo, je potřeba nějak zajistit, aby uživatel měl zapnutý javascript, například mu to napsat:
<noscript>Povolte si javascript, prosím.</noscript> + dál asi zajistit, aby formulář fungoval pouze při zapnutém javascriptu, jinak ne - např. <input type=button onclick="a = document.formular; a.setAttribute('action', 'mujscript.php'); a.submit();" value=Odeslat> |
||
krteczek Profil |
#19 · Zasláno: 8. 5. 2008, 12:07:51
chyba je v tomhle: idos jede na windows-1250 a tvuj formulář na UTF-8, změnil bych kódóvání na stejné, jaké používá idos a neřešil bych odstranění diakritiky, vzláště, když je důležitá u názvů měst ;-)
|
||
jakubroz Profil |
#20 · Zasláno: 8. 5. 2008, 12:22:57
no to já vim že je to v kodovaní. ale utf-8 je lepší a celej web kvuli tomu předělávat nebudu.
|
||
krteczek Profil |
#21 · Zasláno: 8. 5. 2008, 13:26:40
jakubroz: tak ten formulář vlož do stránky pomocí iframe a mužeš mít jiné kodování jen pro něj, popřípadě změň kodování jen na té stránce kde bude ten formulář... není to takový problém
|
||
jakubroz Profil |
#22 · Zasláno: 8. 5. 2008, 13:32:05
jo no iframe je řešení. ale zase ne dobrý řešení.
|
||
krteczek Profil |
#23 · Zasláno: 8. 5. 2008, 13:38:59
jakubroz: můžeš mi zde napsat důvod proč je v Tvém případě iframe ale zase ne dobrý řešení?
|
||
Měsíček Profil |
#24 · Zasláno: 8. 5. 2008, 13:41:15
"ale utf-8 je lepší a celej web kvuli tomu předělávat nebudu."
A na to jsi prosím přišel kde, že UTF-8 je lepší? |
||
Časová prodleva: 16 let
|
0