ugrás a tartalomhoz

Form adatainak ellenőrzése JS - probléma

tkenderessy · 2014. Nov. 7. (P), 12.51
Kedves Weblaborosok!

Van egy weboldalam, amin a form-ba beírt adatokat egy js kód ellenőrzi, és kiír külön ablakba egy hibaüzenetet, ha nem stimmel (pl. név nincs kitöltve).
Ugyanezt a form-ot, illetve js-t használom az aldomain-en is. Itt viszont nem külön ablakot generál neki, hanem a böngészőablakba írja ki.

Mi lehet a probléma?

Segítségeteket köszönöm:

Tibor
 
1

Kód

Poetro · 2014. Nov. 7. (P), 13.04
Az lehet a probléma, hogy máshogy fut a kód az aldomainen. De mivel nem mutattál kódot, nem tudjuk miért. Ennél jóval több információra lenne szükség, hogy tudjuk, mi a baj. Valószínűleg valami nem egyezik a két környezetben, vagy a script valamit kivételez az egyik oldalon.
2

Köszönöm a segítséget, írok kódot

tkenderessy · 2014. Nov. 11. (K), 08.45
Ez a kapcs.js
  1. function ellenoriz()  
  2.   {  
  3.       var text=document.vuser.Femail.value;  
  4.   
  5.    if (document.vuser.Fszemnev.value=="")  
  6.     {  
  7.       alert("Nem adtál meg nevet!");  
  8.       return false;  
  9.     }  
  10.   
  11.    if (text.indexOf('@') == -1)  
  12.     {  
  13.       alert('Az e-mail címben szerepelni kell a @ karakternek!');  
  14.       document.vuser.Femail.focus();  
  15.       document.vuser.Femail.select();  
  16.       return false;  
  17.     }  
  18.    if (text.indexOf('.') == -1)  
  19.     {  
  20.       alert('Az e-mail címben szerepelni kell a . karakternek!');  
  21.       document.vuser.Femail.focus();  
  22.       document.vuser.Femail.select();  
  23.       return false;  
  24.     }   
  25.    if (text.length-text.lastIndexOf('.')>4)  
  26.     {  
  27.       alert('Hibás e-mail cím! Hosszú pontos!');  
  28.       document.vuser.Femail.focus();  
  29.       document.vuser.Femail.select();  
  30.       return false;  
  31.     }   
  32.    if (text.length-text.lastIndexOf('.')<3)  
  33.     {  
  34.       alert('Hibás e-mail cím! Rövid pontos!');  
  35.       document.vuser.Femail.focus();  
  36.       document.vuser.Femail.select();  
  37.       return false;  
  38.     }   
  39.    if (text.indexOf('.')==text.indexOf('@')+1)  
  40.     {  
  41.       alert('Hibás e-mail cím! Üres közép');  
  42.       document.vuser.Femail.focus();  
  43.       document.vuser.Femail.select();  
  44.       return false;  
  45.     }     
  46.    if (text.indexOf('@')==0)  
  47.     {  
  48.       alert('Hibás e-mail cím! Üres felhasználónév');  
  49.       document.vuser.Femail.focus();  
  50.       document.vuser.Femail.select();  
  51.       return false;  
  52.     }     
  53.      
  54.    return true;  
  55.   }   
Ez pedig a form oldala:
  1. echo '<!DOCTYPE html>';  
  2. echo '<html><head>';  
  3. echo '<meta charset="UTF-8">';  
  4.   
  5. echo '<link rel="stylesheet" type="text/css" media="screen,projection" href="css/style.css" />';  
  6. echo '<link rel="icon" type="image/png" href="img/Logo.png" />';  
  7. echo '<script language="javascript" type="text/javascript" src="css/kapcs.js"></script>';  
  8. echo '</head>';  
  9. echo '<body>';  
  10.   
  11. echo '<form name="vuser" action="feldolgoz.php" method="post" onsubmit="return ellenoriz()" id="form_RegUrlap">';  
  12.   
  13. echo '<label for="Fszemnev" class="label_1">Név</label>';  
  14. echo '<input type="text" name="Fszemnev" id="Fszemnev" placeholder="Vezetéknév Keresztnév" value=""><br>';  
  15. echo "<script language='javascript'> document.vuser.Fszemnev.focus(); </script>";  
  16. echo '<label for="Femail" class="label_1">Email</label>';  
  17. echo '<input type="text" name="Femail" id="Femail" placeholder="email##kukac##valami.hu" value=""><br>';  
  18.   
  19. echo '<input type="submit" name="ok" value="Módosítás" >';  
  20. echo '<input type="reset" name="reset" value="Alaphelyzet" >';  
  21.   
  22. echo '</form>';  
  23. echo '</body>';  
3

és kiír külön ablakba egy

Poetro · 2014. Nov. 11. (K), 11.40
és kiír külön ablakba egy hibaüzenetet, ha nem stimmel (pl. név nincs kitöltve).

Hol van ez a külön ablak? Én csak alert-eket látok, amikenek implementációja böngészőfüggő. Van ahol külön ablak, van ahol csak egy kis doboz lóg be a tartalom fölé.
4

Erre gondoltam

tkenderessy · 2014. Nov. 12. (Sze), 10.48
Így kéne megjelenjen (a fő-domain-en így is teszi):



És így jelenik meg az aldomainen:

5

Más form.

T.G · 2014. Nov. 12. (Sze), 11.00
Azért ha jól látom, akkor nem csupán az aldomain más, hanem maga az űrlap is teljesen más, így a különböző működés nem is annyira meglepő. Szerintem.
8

Más form

tkenderessy · 2014. Nov. 12. (Sze), 14.21
Igen, az aldomain-en egy kicsit más a form, de ha ugyanazt a formot rakom a fődomain-re, akkor is eltérően működik.
Megpróbáltam fordítva, úgy működik, úgyhogy átszerkesztem az aldomain form-ját.

Köszi az ötletet.
6

Gyanús, hogy az egyiken NEM

bamegakapa · 2014. Nov. 12. (Sze), 13.52
Gyanús, hogy az egyiken NEM adtál meg nevet, a másikon NEM adtál be nevet.

Javascript hibák vannak? Egyáltalán betöltődik a Javascript (böngésző fejlesztői eszközei, Hálózat/Network fül)? Hogy néz ki a feldolgoz.php?
7

+1

Pepita · 2014. Nov. 12. (Sze), 14.03
Jó szemed van.
Szerintem a másodikon valahogy (pl. idézőjelhiba) kiíratja tartalomba az alert utasítást.
Biztos, hogy van különbség a js-ek között.
10

A másodiknál a JS szerintem

bamegakapa · 2014. Nov. 12. (Sze), 14.24
A másodiknál a JS szerintem le sem fut (hogy miért, az más kérdés). Ez a szerveroldali ellenőrzés (feldolgoz.php) lehet, ami ilyen script tag nélküli hibaüzeneteket ad vissza valamiért.
9

Igen, mert a másikon

tkenderessy · 2014. Nov. 12. (Sze), 14.24
Igen, mert a másikon valamiért nem futott le a js, csak a feldolgoz, abban van a be nevet szöveg. Hogy mi lehetett az oka, nem tudom, de sikerült megoldani, köszönöm mindenkinek.