Hirdetés
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- Milyen okostelefont vegyek?
- iPhone topik
- Fotók, videók mobillal
- Hivatalos a OnePlus 13 startdátuma
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Garmin Forerunner 965 - csúcs
- Beépül a Nano Banana a Google Fotókba
- Motorola Edge 70 - többért kevesebbet
- Samsung Galaxy A54 - türelemjáté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
- Titan Quest II
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Battlefield 6
- Apple MacBook
- Fizetős szoftverek ingyen vagy kedvezményesen
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Apple asztali gépek
- Kerékpárosok, bringások ide!
- Vezeték nélküli fülhallgatók
- Újra nekifeszül az asztali konzolok piacának a Valve
- További aktív témák...
- Eladó Samsung Galaxy S21 FE 5G 8/256GB
- Új csak kipróbált Ulefone Armor 28 ultra 16/1TB amoled kijelző, 120w töltés ütésálló
- DELL Latitude 5310 13.3" FHD 2in1 Touchscreen laptop I5-10310U 16G/512G Win11 Pro, Üzletből, 27%ÁFÁs
- Lenovo LOQ - Garanciás / Ryzen 7 7435HS / RTX 4050 / 24GB DDR5 / 1TB SSD
- XIAOMI Redmi Note 14 Pro 5G 8/256
- Sound Blaster AE-7 (B-Stock)
- Lenovo Thinkpad X1 Yoga 2in1 WUXGA Touch i5-1135G7 16GB 256GB Intel Iris XE 4G LTE W11 Pro Garancia
- LG 27GR83Q-B - 27" IPS / QHD 2K / 240Hz & 1ms / NVIDIA G-Sync / FreeSync / DisplayHDR 400
- Gamer PC-Számítógép! Csere-Beszámítás! I7 12700E / RTX 3060Ti / 32GB DDR4 / 512GB Nvme SSD
- HIBÁTLAN iPhone 11 Pro 64GB Space Grey -1 ÉV GARANCIA - Kártyafüggetlen, MS2137, 100% Akksi
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő




