Eredmény: 1 - 7 (7) összesen

Téma: Input mező Javascipt ellenőrzése nem működik Firefoxban

  1. #1
    'Say Hello To My Little Friend'
    Csatlakozott
    11-01-02
    Hozzászólás
    172
    Begyűjtött 3 köszönetet
    3 hozzászólásával

    Alapbeállítás Input mező Javascipt ellenőrzése nem működik Firefoxban

    Kód:
    function nevdiv(ertek1, ertek2)
    {	
    					
    if (form.a1.value == "Név" && test.a2.value == "Név")
    	{
        	alert("Töltsd ki a mezőket!");
           	return (false);
    	} 	
    					
    if (form.a1.value == "")
    	{
        	alert("1. mező üres!");
        	test.a1.focus();
        	return (false);
    	}
    if (form.a2.value == "")
    	{
        	alert("2. mező üres!");
        	test.a2.focus();
        	return (false);
    	}
      
    <!--
    Engedélyezett karakterek ellenőrzéséért felelős kódot is kivettem.
    Ugyanakkor hiányzik az a rész is, ami feldolgozza és kiküldi az a1 a2 értéket POST-ban. -->	
    }
    
    <input onclick = "nevdiv(a1.value, a2.value)" value = "Mehet" class="button" type = "button">
    Chrome-ban tökéletesen működik, de firefoxban nem csinál semmit.
    Ha kiveszem az if feltételeket, akkor firefoxban is megy, hiba nélkül elküldi az értékeket, viszont akkor oda az ellenőrzés.
    Esetleg külön funkcióba kellene tenni az ellenőrzést?

    Az lenne a lényege a kódnak, hogy csak akkor küldje el a beviteli értékeket, ha minden adat átment a biztonsági ellenőrzésen.



  2. #2
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.605
    Begyűjtött 1.332 köszönetet
    828 hozzászólásával

    Alapbeállítás re: Input mező Javascipt ellenőrzése nem működik Firefoxban

    Telepitsd a firebug-ot es console-ban valoszinu latni fogod mi a hiba. Vagy linkelj be egy minta oldalt.



  3. #3
    Bölcs benedictus logója
    Csatlakozott
    10-04-23
    Hozzászólás
    1.574
    Begyűjtött 2 köszönetet
    2 hozzászólásával

    Alapbeállítás re: Input mező Javascipt ellenőrzése nem működik Firefoxban

    Elég kusza a formod megcímzése a javascripten belül, illetve form-nak elnevezni form-ot nem szerencsés...

    javított kód:

    Kód:
    <form onSubmit="return nevdiv()" name="myform" ... >
    
    function nevdiv()
    {	
    					
    if (this.a1.value == "Név" && this.a2.value == "Név")
    	{
        	alert("Töltsd ki a mezőket!");
           	return (false);
    	} 	
    					
    if (this.a1.value == "")
    	{
        	alert("1. mező üres!");
        	this.a1.focus();
        	return (false);
    	}
    if (this.a2.value == "")
    	{
        	alert("2. mező üres!");
        	this.a2.focus();
        	return (false);
    	}
      	
    }
    vagy HTML5:
    <input type="text" placeholder="Név" name="a1" pattern="[a-zA-Z0-9]+" required> (html5 pattern -ek nézz utána google-ön)


    Linkeld.be Linkmegosztó
    Indexeld.be - Linkgyűjtemény prémium funkciókkal!

  4. #4
    'Say Hello To My Little Friend'
    Csatlakozott
    11-01-02
    Hozzászólás
    172
    Begyűjtött 3 köszönetet
    3 hozzászólásával

    Alapbeállítás re: Input mező Javascipt ellenőrzése nem működik Firefoxban

    Ezt dobta be a Firebug:

    Kód:
    If <script> tags have a "type" attribute, it should equal "text/javascript" or "application/javascript".
    Also scripts must be parsable (syntactically correct).
    Rákerestem a hibára elvileg ezt a sort kell kicserélni
    Kód:
    <script language = "javascript" type = "text/javascript">
    #a rövidített változatra
    <script type="text/javascipt">
    Kipróbáltam, még a cookie-kat is töröltem, de sajnos ez sem hozott eredményt.

    Elég kusza a formod megcímzése a javascripten belül, illetve form-nak elnevezni form-ot nem szerencsés...
    Igazad van kicsit kesze-kusza, de remélem azért átjött. Mentségemre szóljon, hogy a valós kódnál nem form-nak neveztem el. Azért adtam meg így, hogy a form-ra utaljak. Én úgy vettem észre, hogy külföldi lapoknál így szokás.

    HTML5-ben biztos egyszerűbb lenne, viszont javascriptben már sikerült megoldanom a pattern-t.
    Az egyes beviteli mezők logikai kapcsolatát is vizsgálom, bár lehet, hogy kicsit túlbonyolítom a dolgot.
    Egyszer már megpróbáltam PHP-ben megírni, de nem igazán jött össze, az ékezetekkel is gondom akadt.
    Saját célra készül a dolog, illetve a határidő is szűkös, ezért engedem meg magamnak a silányabb munkát.
    Később gyakorlásképp továbbfejlesztem PHP-ben.



  5. #5
    Bölcs benedictus logója
    Csatlakozott
    10-04-23
    Hozzászólás
    1.574
    Begyűjtött 2 köszönetet
    2 hozzászólásával

    Alapbeállítás re: Input mező Javascipt ellenőrzése nem működik Firefoxban

    PHP oldalról többnyire mindig kell ellenőrizni az inputot, azt nem úszod meg...



  6. #6
    kpj
    kpj nem elérhető
    Új tag
    Csatlakozott
    11-04-07
    Hozzászólás
    15
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Input mező Javascipt ellenőrzése nem működik Firefoxban

    Ha lesz időd szerintem érdemes lenne megnézned a jQuery-t is. Egyszerűsíti a javascript-es munkát és böngészőfüggetlen.
    A te kódod egyébként valahogy így nézne ki jQuery-vel:

    <form id="myform" action="index.php" method="post">
    <input id="field1" type="text" name="field1" value="Név" />
    <input id="field2" type="text" name="field2" value="Név" />
    <input type="submit" value="ok" />
    </form>

    <script type="text/javascript">
    $(document).ready(function(){
    $("#myform").submit(function(){
    if($("#field1").val() == "Név" && $("#field2").val() == "Név") {
    alert("Töltsd ki a mezőket!");
    return false;
    }
    if($("#field1").val() == "") {
    alert("1. mező üres!");
    return false;
    }
    if($("#field2").val() == "") {
    alert("2. mező üres!");
    return false;
    }
    })
    });
    </script>



  7. #7
    'Say Hello To My Little Friend'
    Csatlakozott
    11-01-02
    Hozzászólás
    172
    Begyűjtött 3 köszönetet
    3 hozzászólásával

    Alapbeállítás re: Input mező Javascipt ellenőrzése nem működik Firefoxban

    Kód:
    # Ez alapján sikerült megcsinálnom: document.getElementById("id")
    
    function nevdiv(ertek1, ertek2)
    {	
    					
    if (document.test.a1.value == "Név" && document.test.a2.value == "Név")
    	{
        	alert("Töltsd ki a mezőket!");
           	return (false);
    	} 	
    					
    if (document.test.a1.value == "")
    	{
        	alert("1. mező üres!");
        	document.test.a1.focus();
        	return (false);
    	}
    if (document.test.a2.value == "")
    	{
        	alert("2. mező üres!");
        	document.test.a2.focus();
        	return (false);
    	}
      
    <!-- etc -->	
    }




A téma címkéi:

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •