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

function ellenoriz()
  {
      var text=document.vuser.Femail.value;

   if (document.vuser.Fszemnev.value=="")
    {
      alert("Nem adtál meg nevet!");
      return false;
    }

   if (text.indexOf('@') == -1)
    {
      alert('Az e-mail címben szerepelni kell a @ karakternek!');
      document.vuser.Femail.focus();
      document.vuser.Femail.select();
      return false;
    }
   if (text.indexOf('.') == -1)
    {
      alert('Az e-mail címben szerepelni kell a . karakternek!');
      document.vuser.Femail.focus();
      document.vuser.Femail.select();
      return false;
    } 
   if (text.length-text.lastIndexOf('.')>4)
    {
      alert('Hibás e-mail cím! Hosszú pontos!');
      document.vuser.Femail.focus();
      document.vuser.Femail.select();
      return false;
    } 
   if (text.length-text.lastIndexOf('.')<3)
    {
      alert('Hibás e-mail cím! Rövid pontos!');
      document.vuser.Femail.focus();
      document.vuser.Femail.select();
      return false;
    } 
   if (text.indexOf('.')==text.indexOf('@')+1)
    {
      alert('Hibás e-mail cím! Üres közép');
      document.vuser.Femail.focus();
      document.vuser.Femail.select();
      return false;
    }   
   if (text.indexOf('@')==0)
    {
      alert('Hibás e-mail cím! Üres felhasználónév');
      document.vuser.Femail.focus();
      document.vuser.Femail.select();
      return false;
    }   
   
   return true;
  } 
Ez pedig a form oldala:

echo '<!DOCTYPE html>';
echo '<html><head>';
echo '<meta charset="UTF-8">';

echo '<link rel="stylesheet" type="text/css" media="screen,projection" href="css/style.css" />';
echo '<link rel="icon" type="image/png" href="img/Logo.png" />';
echo '<script language="javascript" type="text/javascript" src="css/kapcs.js"></script>';
echo '</head>';
echo '<body>';

echo '<form name="vuser" action="feldolgoz.php" method="post" onsubmit="return ellenoriz()" id="form_RegUrlap">';

echo '<label for="Fszemnev" class="label_1">Név</label>';
echo '<input type="text" name="Fszemnev" id="Fszemnev" placeholder="Vezetéknév Keresztnév" value=""><br>';
echo "<script language='javascript'> document.vuser.Fszemnev.focus(); </script>";
echo '<label for="Femail" class="label_1">Email</label>';
echo '<input type="text" name="Femail" id="Femail" placeholder="email##kukac##valami.hu" value=""><br>';

echo '<input type="submit" name="ok" value="Módosítás" >';
echo '<input type="reset" name="reset" value="Alaphelyzet" >';

echo '</form>';
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.