22786
Html-, css- és php-help
  • Agy Halott #18702
    Eppen, hogy az AJAX ujratolti friss dolgokkal a divet, tehat nem a kitoltes eredmenyet tolti be.

    Egyebkent megoldottam Voyager5 kodjat modositottam es mar jo.
  • SzirmosSzisza
    #18701
    De ha JS-el csinálod a dolgokat, nem töltődik be újra az oldal, ergo maradnak a pipák, ha meg rendesen elküldöd, akkor az már pár oldallal előrébb le lett írva, hogyan kell.
  • Agy Halott #18700

    if(undefined.test($('#online:checkbox:checked').val())){var online = '';}
    else{var online = $('#online:checkbox:checked').val();}


    Mivel ha be van pipalva egy checkbox, akkor annak value erteket adja at am ha nincs pipa, akkor "undefined" szoveget adja at es a PHP-nak ez nem jo mert:
    online = 1; vagy online = '';
    lehet csak a kimenet.


    8 checkboxom van es igy kell leellenoriznem mind a nyolcat... szerintem ez nem szep; nincs vmi jobb megoldas erre?
  • Agy Halott #18699
    Hogy erted?
    Van az urlap, kitoltik a text inputokat, a dropdown menukbol kivalasztjak amit akarnak es a checkboxokat kipipaljak amelyiket ki akarjak majd elkuldik a cuccot es ha a PHP error-t dob a beviteli ertekekre akkor azt megjeloli pirossal am az osszes adatot amit bevitt a felhasznalo azt ugyanugy visszatolti tehat nem kell az egesz urlapot ujra kitoltenie.
    Ez igaz a checkboxokra is, ami ki volt pipalva az az elkuldes utan is jo lenne ha kipipalva lenne, ami meg nem volt kipipalva az az elkuldes utan se legyen.
  • SzirmosSzisza
    #18698
    Ha Ajaxolsz, akkor minek kell megjegyezni ?
  • Agy Halott #18697
    Megfogadtam a tanacsod, nem bajlodom en azzal es a te otleteddel 2 rovid sor megoldotta a problemat:

    $.ajax({
    type: "POST",
    url: "test.php",
    data: "1="+torr+"&2="+uid+"&3="+szin,

    success: function(response) {
    $("#creator").html(response);
    var rege = /span-b/;
    if (!rege){ // betoltom a file-t }
    }
    });


    Vegre foglakozhatok az utolso problemaval, remelem az nem lesz ilyen nehez. Az inputok kozott van 8 checkbox, annak kipipalasat vagy eppen ellenkezojet kell meg megvizsgaltatnom es ugy elkuldetnem a jQueryvel. Ez meg konnyen is hangzik (var elso = $("#elso checkbox:checked").val();) de megint jon majd szerintem az, hogy a cucc postolasakor meg kell jegyeznie melyik volt kipipalva es melyik nem, mert ha errort dob a PHP akkor annak allapotat kellene betoltenie.
    Ez mar nehezen hangzik...
  • SzirmosSzisza
    #18696
    Nem 100 %, de nyomj egy console.log(error)-t és nézd meg milyen tulajdonságai vannak.
  • Agy Halott #18695
    Persze ha nem iratok ki, de hat a lenyege pont ez, hogy a response az uj adatokat tartalmazza igy azt betoltve jelenik meg az uj cucc.

    Regexp-nel nem egyszerubb a .find()? Most talaltam a doksiban es azzal lehet egyezest keresni csak nem tom, hogy a return databan is?. Pl. vhogy igy gondolom:

    $.ajax({
    type: "POST",
    url: "test.php",
    data: "1="+torr+"&2="+uid+"&3="+szin,

    success: function(response) {
    $("#creator").html(response);

    var error = $(response).find("span-b");
    if (error === 1){ // nem kell betolteni semmit }
    else{ // be lehet tolteni a masik filet }

    }
    });


    A span-b csak akkor jelenik meg a response-ban, ha hibat dobott a php.
    Am igy nem muxik, mert ha alertozom akkor csak ez van benne: [object Object]
    Esetleg nem is lehet .find() fuggvennyel keresni?
  • SzirmosSzisza
    #18694
    Ne írass ki mást és kész. Amúgy Javascriptben 100 %, hogy van regexp, nézd meg azzal.
  • Agy Halott #18693
    Ez jonak nez ki viszont nem csak akkor mukodik, ha a response tartalma se nem tobb, se nem kevesebb mint error_blabla?

    Ertem ezalatt, ha mondjuk a response egyenlo error_megvalami_blabla, akkor mar a if(response === 'error_blabla') alert("baj van, megpedig: " + response); resz nem is teljesulhet soha?

    Ami kene, hogy vhogy keresni kellene a response tartalmaban, mert akkor be tudnam allitani, hogy ha van egyezes akkor if(response === 'error_blabla') alert("baj van, megpedig: " + response);
    ellenkezo esetben else { /* ami alapból lenne */ }
  • SzirmosSzisza
    #18692
    Én is mostanában kezdtem csak de szerintem kb ennyi.


    tests.php
    if (!$siker) echo "error_blabla"; else echo $ami_kell;

    js:

    if(response === 'error_blabla') alert("baj van, megpedig: " + response);
    else { /* ami alapból lenne */ }
  • Agy Halott #18691
    Ha meg mást is akarsz ellenőrizni, akkor, ha sikertelen írasd ki, hogy béla és response === 'bela' akkor baj van...

    Ez lenne az szerintem amit keresek, mivel a success mindenkeppen lefut, mivel minden rendben, am o azt nem tudja, hogy nem az ajax keres alapjan kellene futnia, hanem az test.php inputjainak helyes bevitele alapjan.

    Sajnos JS-bol nem vok vmi nagy szam ezert kicsit konkretabban meg tudnad fogalmazni azt a belas dolgot? Esetleg egy link ahol ezzel foglakoznak mivel googleban sem tok hogyan rakeresni.

    Koszonom.
  • SzirmosSzisza
    #18690
    A success csak akkor fut le, ha sikeres az ajax kérés. Ha meg mást is akarsz ellenőrizni, akkor, ha sikertelen írasd ki, hogy béla és response === 'bela' akkor baj van, amúgy meg csak simán írasd ki, hogy response. Vagy csinálhatsz error div-et és megnézed van-e benne valami, etc.
  • Agy Halott #18689
    Egy ujabb de egyszerubb jQuery kerdes. Van egy 16 inputbol allo tablam melyet jQuery ajax-szal 2 kulon filba POST-olom el majd jelenitem meg 2 kulon divben mas-mas adatokat.

    DEMO MEGTEKINTESE

    Ha megnezitek lathato, hogy onmagat es egy masik filet POST-olok.
    Jelenleg ha kivalasztok egy szamot az elso legorduloben es kattintok mar el is kuldi a test1.php-nak.

    Azt hogyan allithatom be, hogy a test1.php-nak csak akkor kuldjon adatot, ha a test.php-ban helyesen lett elkuldve a tabla?
    A test.php inputjait PHP ellenorzi es hiba eseten kiirja azt.

    Koszonom.
  • Agy Halott #18688
    Szerintem masodperceken mulott...
  • Agy Halott #18687
    Hulye vok, pont, hogy a success: function(response) {} koze kell tenni es maris hatassal van ra.
    Koszi.
  • SzirmosSzisza
    #18686
    Ahol cseréled a lapozó részt, ott állítsd át melyik legyen aktív.
  • Agy Halott #18685
    Beraktam de sztem ezert nem mukodik:

    success: function(response) {
    $("#content").html(response);
    }


    Ez ugyebar ujra tolti friss adatokkal a cuccost igy ez a beallitas mar nem kepese hatast gyakorolni a kivant reszre.
    Vagy nem tudom....
  • Jim Morrison
    #18684
    köszi, erre gondoltam :D remélem megy is ^^
  • SzirmosSzisza
    #18683
    Ott van leírva. Simán a lap változó alapján a megfelelő id-jű számon állítod a CSS-t.

    Jim: inner shadow ?. Amúgy ez ilyen canvas cucc, azzal tuti lehet homályosítani.
  • Jim Morrison
    #18682
    css el meg lehet azt csinálni, hogy a képnek mondjuk jobb oldalát kicsit elhomályosítom pár px szélesen? vagy ilyen shadow.
  • Agy Halott #18681
    Szoval akkor hogyan?
  • SzirmosSzisza
    #18680
    Jogos ^^
  • Malakai
    #18679
    Vad kérdés, miért attribute selector id-hoz? :)
  • SzirmosSzisza
    #18678
    $('div[id='+lap+']')
  • Agy Halott #18677
    Ezaz! A kododat kicsit atalakitottam es mostmar mukodik, viszont meg egy aprosag hianyzik, hogy hogyan adhatok css attributumot jQuery-ben az aktiv page szamanak?
    Tehat ha vki kattint a 4-es lapszamra akkor az eltero szinu legyen?

    Demo Megtekintese
  • Jim Morrison
    #18676
    megvan
  • Jim Morrison
    #18675
    valamiert nem akar mukodni valszeg en irtam el valamit, bar az nem lehet gond, hogy valahol ket | kozott nincs semmi? mert mikor kiiratom hogy meg is hogyan explode oltalta teljesen jonak tunik.
  • gcsomesz
    #18674
    Kipróbáltam,semmi változás...:(
  • MerlinW
    #18673
    ...és a cellspacing, cellpadding 0-át.
  • jacky87
    #18672
    azt próbáltad h a table-nek megadod h style="width:960px;" ??
  • gcsomesz
    #18671
    Sziasztok

    Ismét egy kérdésem lenne.

    Van egy fix 960px szélességű oldal.
    Valahogy kb így épül fel:

    <body>
    <div id="container">
    <div id="header"></div>
    <div id="primari-nav"></div>
    <div id="content">
    <TABLE>Itt van egy táblázatom. Ezzel van a bajom, de természetesen csak IE-ben problémás xasxaslfhewuin....
    </TABLE>
    </div>
    </div>

    Az egész konténernek adtam egy 10%-os left margint-t, de a biztonság kedvéért a többi elem is kapott (header,primari-nav,content)

    Ezzel semmi gond, szép is, jó is. A gondom ott kezdődik, hogy a tartalommal nem volt kedvem szöszölni mivel egyszerű a felépítése mint a bot, ezért 2sorra és 3 oszlopra osztottam fel, táblázattal. Ide bele pakolgattam az elemeket, szépen arányosa, majd mikor a táblázat szélességét formáztam 960px-re jött az álleesés, ugyanis a jobb oldali oszlopok egészen az oldal végéig tartanak, de csak IE-ben. Próbáltam, közvetlen a TD-ket állítani és a stíluslappal is,de az IE nem reagált rá. Nem mintha azt használnék, de hát ugye még sokan....szóval mit tudok tenni, hogy az a fránya IE is felfogja ,hogy a container szélessége az bizony 960px, akkor is ha táblázat van benne??? Valamit elnézhettem? Nem tudom, de akkor a firefox és a chrome miért veszi a lapot?
    Ha kell adok forráskódot is,csak nem akartam ömleszteni addig, hátha csak valami amatőr dologról van szó...
    Köszi előre is, mert már tépem a hajamat...
    </body>
  • Jim Morrison
    #18670
    király köszi, akkor gyorsan levágom a fölösleget hogy csak | maradjon. kössz !
  • Lyukasbogrács
    #18669
    $fajl = file('fajlod.txt');
    foreach($fajl as $sor)
    {
    $darabok = explode('|', $sor);
    // mysql_query("INSERT INTO table VALUES('".$darabok[0]."', '".$darabok[1]."')");
    // a $darabok tömbben ott lesznek a || belüli részek
    }
  • Jim Morrison
    #18668
    van nekem egy hosszú, 277 soros txt fájlom, amiben minden sor ugyanolyan felépítéssel bír és mindegyik kb ilyen felépítéssel: |id=szam|blabla:valami|satobbi
    (igaz hosszabban)
    hogy tudnám a legegyszerűbben feltölteni vele a mysql táblámat? mondjuk hogy az id=után a | jelig tartó részt ebbe a mezőbe tegye, és így végig az egész soron, majd következő sort új sorba.
  • Easy Rider
    #18667
    http://pastebin.com/1fygiDhj

    nekem ez megy...
  • SzirmosSzisza
    #18666
    Hol szeretnéd ? Nem látok semmilyen kódot, ami a lapozót eltüntetné, majd újat szúrna be helyette.

    Amúgy az egész oldal beszúrás nem para, mert könnyen ki lehet venni a kódot belőle ami neked kell, vagy csinálhatsz külön php fájlt a lapozásra is akár. (vagy a sablonban egy egyszer if elágazást)
  • Agy Halott #18665
    $("#results").append(html);

    Ezzel a resszel van baj, hogy a friss adatok nem cserolodnek le a regiekkel. Ha a kodot megnezed ket resze van:
    1, elso divben a sablon.php adatait cserelem le (mukodik)
    2, masodik divben szeretnem lecserelni a lapozo adatait (nem mukodik)

    Amikor az AJAX kuldi el az adatokat ujra a PHP-nak kattintas utan akkor CSAK az alert ablakban (teszt celjabol beiktatva) latszik a frissult adat.

    Amit most te irtal es fent bekopiztam az a #result ID-ju elembe tolti be az eredmenyt. Ez nem jo, mivel az eredmeny az egesz oldalt tartalmazza es CSAK a lapozo valtozasa kellene.
  • MerlinW
    #18664
    jquery + ajax-al mi a gond?

    $.ajax({
    url: "valami.php?param=" + $js_valtozo,
    cache: false,
    success: function(html){
    $("#results").append(html);
    }
    });

    Miután a js kliens oldalon fut, míg php a szerveroldalon, sok más alternatíva nincs.
  • Agy Halott #18663
    Van vkinek otlete a JS valtozo PHP-nak valo atadasos problemamra?
    Keszitettem egy ujabb kodot:

    pagination.php

    Ebben mar van ajax is ami a JS lefutasa utan ujra elkuldi az adatokat a PHP-nak de csak az alert ablakban jelenik meg jol a generalt kod, maga a szulo oldal nem frissul.

    Ket napja szenvedek ezzel es amit eddig talatam neten peldak (sokat a prog.hu oldalon) legtobb az ajaxos megoldashoz vezet.

    Nekem van egy olyan erzesem, hogy azzal nem lehet baj, hogy egy filerol van szo? Tehat van a pagination.php es minden kod ebben van es az elvegezendo "JS es PHP melot" is ebbe a fileba kell betoltenie egy kattintasra?