Programovacie jazyky, rady, poradňa...
TGiJack
Medium Star
Príspevky: 419 Registrovaný: 30 nov 2006, 19:37
Bydlisko: NO
Kontaktovať používateľa:
Príspevok
od používateľa TGiJack » 07 júl 2009, 22:02
ahojte potreboval by som nejaký js script ktorý porovná 2 inputi a vtrati ci su rovnaké alebo nie.
priklad:
Kód: Vybrať všetko
<input type="text" name="text1" size="30"/>
<input type="text" name="text2" size="30"/>
može to byt riešene aj cez ajax,len nech sa nemusi posielat formular na overenie ci su tie inputy zhodne pls ak niekto viete vopred dakujem
kuqoo
Light Expert
Príspevky: 37 Registrovaný: 08 júl 2007, 21:50
Príspevok
od používateľa kuqoo » 08 júl 2009, 8:23
Ahoj. Toto by malo fungovať.
Kód: Vybrať všetko
function inputsMatch() {
var text1 = document.getElementById('text1').value;
var text2 = document.getElementById('text2').value;
if (text1 == text2) {
return true;
} else {
return false;
}
}
function setMessage(div, success, error) {
if (inputsMatch() == true) {
document.getElementById(div).innerHTML(success);
} else {
document.getElementById(div).innerHTML(error);
}
}
Tú funkciu "setMessage" môžeš použiť pri odoslaní (onSubmit), a to nasledovne:
setMessage("div_kde_sa_zobrazí_text", "text_ak_sa_zhodujú", "text_ak_sa_nezhodujú")
A to je tak asi všetko.
EDIT: Pardon, nedočítal som to do konca, takže iné riešenie ma nenapadá.
xivo
Light Professional
Príspevky: 752 Registrovaný: 27 jún 2005, 22:49
Bydlisko: Slovensko
Kontaktovať používateľa:
Príspevok
od používateľa xivo » 08 júl 2009, 9:13
kuqoo napísal: ....
EDIT: Pardon, nedočítal som to do konca, takže iné riešenie ma nenapadá.
Preco ? .. podla mna je tvoje riesenie celkom spravne len a tie inputy nech nastavi volanie funkcie na onChange event nie ?
Ajax ti tam je na nic lebo porovnavas len hodnotu input boxov(nepotrbujes ziadne volanie na server) cize JS je v tomto pripade ok
TGiJack
Medium Star
Príspevky: 419 Registrovaný: 30 nov 2006, 19:37
Bydlisko: NO
Kontaktovať používateľa:
Príspevok
od používateľa TGiJack » 09 júl 2009, 21:02
nefunguje to som skušal stým onchange a nič presne som všetko prekopiroval ako si napisal a nič ..
audiotrack
VIP
Príspevky: 25958 Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:
Príspevok
od používateľa audiotrack » 09 júl 2009, 21:10
potrebuješ aj div s id='div'
TGiJack
Medium Star
Príspevky: 419 Registrovaný: 30 nov 2006, 19:37
Bydlisko: NO
Kontaktovať používateľa:
Príspevok
od používateľa TGiJack » 09 júl 2009, 22:34
audiotrac dik za pripomienku ale trochu s JS pracovat viem
....
takto som to mal zapísane
Kód: Vybrať všetko
<input type="text" name="text1" size="30"/>
<input type="text" name="text2" size="30" onchange="setMessage('vysledok', 'OK', 'NO');"/>
<span id="vysledok"></span>
neviem čo je zle
.. ani to ked span zmenim na div tak to nejde
chrono
VIP
Príspevky: 7127 Registrovaný: 25 dec 2006, 15:17
Príspevok
od používateľa chrono » 09 júl 2009, 23:23
1. Tým elementom input chýba správne id (name stačí možno v IE).
2. Elementy nemajú funkciu innerHTML a teda by to mohlo vyzerať nejako takto:
Kód: Vybrať všetko
function setMessage(div, success, error) {
document.getElementById(div).innerHTML = inputsMatch() ? success : error;
}prípadne, ak nemáš rád ?: tak takto:
Kód: Vybrať všetko
function setMessage(div, success, error) {
if (inputsMatch())
document.getElementById(div).innerHTML = success;
else
document.getElementById(div).innerHTML = error;
}
TGiJack
Medium Star
Príspevky: 419 Registrovaný: 30 nov 2006, 19:37
Bydlisko: NO
Kontaktovať používateľa:
Príspevok
od používateľa TGiJack » 11 júl 2009, 19:32
dikes sice som to trochu všetko poupravoval a popripisoval ešte nejake drobnostky ale dakujem za princip ako to treba spravit
K+
Ešte by som teraz potreboval či nahodou neviete ako zablokovat
kým niesu splnene nejake podmienky napriklad kým sa tie texty nerovnaju ..vedeli by ste mi pomoct prosim
audiotrack
VIP
Príspevky: 25958 Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:
Príspevok
od používateľa audiotrack » 11 júl 2009, 19:37
pridaj tomu id napr. submit, a potom prerob funkciu takto:
Kód: Vybrať všetko
function setMessage(div, success, error) {
document.getElementById(div).innerHTML = inputsMatch() ? success : error;
document.getElementById(submit).enabled = inputsMatch();
}