- DUNE médialejátszók topicja
- Hobby elektronika
- Házi hangfal építés
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- ASRock lapok általában
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen billentyűzetet vegyek?
- Nyaralás előtti hardverszemle
- Lítium-ion/Li-ion akkumulátorok
- Radeon RX 9060 XT: Ezt aztán jól meghúzták
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Szerintem inkább ott lesz a hiba, hogy nem jól raktad össze az oldalt, ilyenektől a JS-függvények megőrülnek, nagyon nem díjazzák, egyszerűen nem működnek.
pl. az oldal szerkezete így néz ki alapból:
<html>
<head>
<title>Cím</title>
<meta ... />
<!-- meta tagek -->
</head>
<body>
<!-- ide jöhet a főtartalom -->
</body>
</html>Te pedig így csináltad:
<html>
<head>
<!--itt a JS-függvény -->
</head>
</html>
<!-- ide raktad a főtartalmat, amit PHP-vel generáltál -->Ebből jól látszik, hogy még azelőtt lezártad az oldalt </html>-lel, mielőtt az űrlapot kiírattad volna.
Tehát legyen egy <body> rész, és oda rakd be a form elemeit.
De teljesen felesleges ezt PHP-vel belerakni, ezzel csak lassítod a megjelenítést. Pakold bele egyszerűen HTML-ként.Ezenkívül nem szerencsés név pont a submit()-et függvénynévként választani, mivel ez eleve egy beépített függvénynév, ettől elküldi a formot.
Én a submit gombhoz szoktam inkább tenni egy onclick-be az ellenőrzést.
Ezenkívül kicsit tördeld jobban a kódodat.Áhh, de szerencsére Notepad++-ban csak pár kattintgatás átvariálni kicsit a kódot, inkább megcsináltam
Persze magát a függvényt nem ellenőriztem, abban még lehet hiba.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="hu" xml:lang="hu">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript">
<!--
function form_submit()
{
var nick=document.getElementById("nick").value;
var pass=document.getElementById("password").value;
var pass2=document.getElementById("password2").value;
var email=document.getElementById("mail").value;
document.getElementById("nick").style.backgroundColor="#FFFFFF";
document.getElementById("password").style.backgroundColor="#FFFFFF";
document.getElementById("password2").style.backgroundColor="#FFFFFF";
document.getElementById("mail").style.backgroundColor="#FFFFFF";
submit = true;
if (nick.length<4 || nick.length<40)
{
document.getElementById("nick").style.backgroundColor="#FFDDDD";
submit = false;
}
if (pass.length<6 || pass.length<40)
{
document.getElementById("pass").style.backgroundColor="#FFDDDD";
submit = false;
}
if (pass1!=pass2)
{
document.getElementById("pass").style.backgroundColor="#FFDDDD";
document.getElementById("pass2").style.backgroundColor="#FFDDDD";
submit = false;
}
if (email.length==0)
{
document.getElementById("mail").style.backgroundColor="#FFDDDD";
submit = false;
}
if(submit == false)
{
return false;
}
else
{
return true;
}
}
// -->
</script>
</head>
<body>
<center>
<h2>Regisztráció</h2>
<table align="center">
<form method="POST" action="register.php">
<tr>
<td>Nick Név</td>
<td><input type="text" name="nick" id="nick" /></td>
</tr>
<tr>
<td>Jelszó</td>
<td><input type="password" name="password" id="password" /></td>
</tr>
<tr>
<td>Jelszó ismét</td>
<td><input type="password" name="password2" id="password2" /></td>
</tr>
<tr>
<td>E-Mail</td>
<td><input type="text" name="mail" id="mail" /></td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="reset" value="Újra" />
<input type="submit" value="Regisztráció" onclick="return form_submit();" />
</td>
</tr>
</form>
</table>
</center>
</body>
</html>Egyébként ez inkább JavaScript topicba kellett volna, hogy menjen.
Szerk.:
de most nézegetem a JavaScript-függvényt, az alábbi sornak mi értelme?
if (nick.length<4 || nick.length<40)
Ezt össze lehetett volna vonni így:
if (nick.length<40)
Mivel ha a kisebb mint 4 nem teljesül, akkor átugrik a kisebb mint 40 feltételvizsgálatra.
Ha meg mindenképp kisebb, mint 4, akkor az belefér a kisebb mint 40-be...
Ugyanez vonatkozik a következő sorra, aminek emiatt szintén semmi értelme:
if (pass.length<6 || pass.length<40)Aminek megint nincs értelme:
document.getElementById("nick").style.backgroundColor="#FFFFFF";
document.getElementById("password").style.backgroundColor="#FFFFFF";
document.getElementById("password2").style.backgroundColor="#FFFFFF";
document.getElementById("mail").style.backgroundColor="#FFFFFF";
Ezek így külön tök feleslegesek, inkább pakold bele egy else ágba, mondjuk valahogy így:
if (nick.length<40)
{
document.getElementById("nick").style.backgroundColor="#FFDDDD";
submit = false;
}
else
document.getElementById("nick").style.backgroundColor="#FFFFFF";Ja, meg sokkal szebb és átláthatóbb lenne a kódod, ha egyszerűsítenéd a dolgokat, pl.:
var nick=document.getElementById("nick");
Ezután:
if (nick.value.length<40)
{
nick.style.backgroundColor="#FFDDDD";
submit = false;
}
Tehát itt egyszerűen már csak nick-kel hivatkozol rá, nincs még egy getElementById.
Új hozzászólás Aktív témák
- Vegyszerek, permetezés, Élettani hatások
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- DUNE médialejátszók topicja
- Milyen routert?
- Path of Exile (ARPG)
- Autós topik látogatók beszélgetős, offolós topikja
- Hobby elektronika
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Spórolós topik
- Digitális Állampolgárság Program DÁP
- További aktív témák...
- UF Lenovo Yoga 9i x360 Érintős Hajtogatós Laptop Tab 14" -60% i7-1360P 16/1TB Iris Xe 2,8K OLED 90Hz
- Lenovo Yoga 9i x360 Érintős Hajtogatós Laptop Tab 14" -60% i7-1260P 16/512 Iris Xe 2,8K OLED 90Hz
- Új DELL Inspiron 16 Fémházas Multimédiás Laptop 16" -40% Ryzen 7 8840U 8mag 16/1TB FHD+ IPS
- Új DELL Inspiron 16 Fémházas Multimédiás Laptop 16" -40% Ryzen 7 8840U 8mag 16/1TB FHD+ IPS
- Sony FE 28-70 mm F3.5-5.6 OSS
- BESZÁMÍTÁS! Gigabyte A620M R5 7500F 32GB DDR5 512GB SSD RTX3070 8GB ZALMAN S2 TG Enermax 750W
- ÚJ Lenovo Legion Pro 5 16IRX9 - 16" WQXGA 165Hz - i5 14500HX - 32GB - 1TB - RTX 4060 - 3 év garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- Csere-Beszámítás! Felsőkategóriás számítógép PC Játékra! I9 13900KF / RTX 4080 / 32GB RAM / 1TB SSD
- REFURBISHED és ÚJ - HP USB-C Dock G5 docking station (5TW10AA) - 3x4K felbontás, 120Hz képfrissítés
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged