JS script

Programovacie jazyky, rady, poradňa...
TGiJack
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 419
Registrovaný: 30 nov 2006, 19:37
Bydlisko: NO
Kontaktovať používateľa:

JS script

Príspevok od používateľa TGiJack »

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
Light Expert
Príspevky: 37
Registrovaný: 08 júl 2007, 21:50

Príspevok od používateľa kuqoo »

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
Light Professional
Používateľov profilový obrázok
Príspevky: 752
Registrovaný: 27 jún 2005, 22:49
Bydlisko: Slovensko
Kontaktovať používateľa:

Príspevok od používateľa xivo »

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
Medium Star
Používateľov profilový obrázok
Príspevky: 419
Registrovaný: 30 nov 2006, 19:37
Bydlisko: NO
Kontaktovať používateľa:

Príspevok od používateľa TGiJack »

:cry: nefunguje to som skušal stým onchange a nič presne som všetko prekopiroval ako si napisal a nič .. :(
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

potrebuješ aj div s id='div'
TGiJack
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 419
Registrovaný: 30 nov 2006, 19:37
Bydlisko: NO
Kontaktovať používateľa:

Príspevok od používateľa TGiJack »

audiotrack napísal:potrebuješ aj div s id='div'
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
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

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
Medium Star
Používateľov profilový obrázok
Príspevky: 419
Registrovaný: 30 nov 2006, 19:37
Bydlisko: NO
Kontaktovať používateľa:

Príspevok od používateľa TGiJack »

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ód: Vybrať všetko

<input type="submit" value="poslat "  />
kým niesu splnene nejake podmienky napriklad kým sa tie texty nerovnaju ..vedeli by ste mi pomoct prosim
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

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();
}
Napísať odpoveď