Hirdetés
-
LOGOUT.hu
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Jaja, ez jó workaround, igazából annyi a trükk, hogy setIntervallal 25 milliszekundumonként rajzoltatja újra a képet, és 5 egységgel mozgatja a négyzetet ide-oda a kurzorgombok lenyomására.
De figyelj azokra a dolgokra, amiket martonx említett.(#3500) martonx :
jaja, ez tényleg gáz, sajnos sokszor a fejlesztők nem figyelnek oda a felesleges overheadre, ami így kicsiben lehet, hogy nem érzékelhető, de eleve igénytelenül programozni elég gáz.
Meg a cikk mondanivalója nem kicsit félrevezető ezzel az "Until I realized I could just use jQuery." mondattal, amikor ezek a dolgok jQuery nélkül is különösebb macera nélkül megoldhatóak, legalábbis nem itt jön ki a jQuery előnye, az is biztos. Igazából mi az, ami itt rövidíti a kódot? Legfeljebb az eseménykezelés rövidebb egy picit, meg nem írt document.getElementById('canvas')-t, ami valóban hosszabb, mint a $('#canvas'), de nagyjából itt meg is áll a dolog... a többi ergo pontosan ugyanannyiból összehozható plain JS segítségével.De hogy ne csak a szám járjon, itt van az egész plain JS-ben, különösebb erőlködés és jQuery nélkül:
http://jsfiddle.net/Sk8erPeter/b5sxk/
Kipróbáltam, működik Chrome-ban, Firefoxban, Operában.
Sk8erPeter
-
martonx
veterán
válasz Sk8erPeter #3501 üzenetére
Erről beszéltem. Egyébként ha már karakter baszók akarunk lenni (mondjuk egy 1000 soros plain js-nél már számíthat méretben), érdemes var w = window illetve var d = document konvenciókat használni, és utána már csak d.getelement.byId, meg w.addeventlistener-eket használni.
Vagy eleve belerakod egy anonim önmeghívó funkcióba, így a js namespace probléma is pipa:(function(d,w){
//Itt jön a kódod
d.getelementbyid...
w.addevenetlistener...
})(document,window)Én kérek elnézést!
-
Sk8erPeter
nagyúr
válasz martonx #3502 üzenetére
Nesze:
http://jsfiddle.net/Sk8erPeter/b5sxk/1/Mondjuk ez a spórolás csak fejlesztés közben érdekes, nem betöltéskor.
Félreértések elkerülése érdekében nem fél órát tököltem vele, csak közben kétmillió topicot megnéztem, meg hatmillió e-mailt, aztán eszembe jutott, hogy miért is ne.
[ Szerkesztve ]
Sk8erPeter
-
martonx
veterán
válasz Sk8erPeter #3504 üzenetére
Betöltéskor is simán lehet egy ilyen trükkel jópár %-kot faragni a kódod méretéből. Nézd meg a jquery-sek mit össze nem kínlódnak pár Kb-nyi csökkentésért. Plusz a namespace-be szervezés, amúgy is hasznos dolog, összetettebb javascript-es oldalnál.
Besimerem amúgy, hogy ez erősen szőrszál hasogatás persze, de ha már js topik, meg helyes módszertanok.Én kérek elnézést!
-
Sk8erPeter
nagyúr
válasz martonx #3505 üzenetére
"Plusz a namespace-be szervezés, amúgy is hasznos dolog, összetettebb javascript-es oldalnál."
Persze, ez alap. Ez akkor is jól jön, ha valaki valamilyen oknál fogva több library-t is szeretne használni, ami ugyanazt a változónevet használja - lásd például jQuery és MooTools egy oldalon (bár ha ilyenre sor kerül, akkor a fejlesztőkkel van a gond, de kényszerhelyzetben előkerülhet), de lehetne más példát is mondani.[ Szerkesztve ]
Sk8erPeter
-
CSorBA
őstag
Szöveget szeretnék elforgatni, kb 60 fokban, a képen látható módon:
Nos, ki mit hogy ajánlana? Nem akarok CSS3-at használni, mivel elég kompatibilisnek kellene lennie, így jquery mellett döntenék. Tud valaki valami jó rotate plugint?
-
Karma
félisten
google://jquery+rotate első találatok között ez elég szimpatikusnak tűnik. Gyakorlatilag megcsinálja helyetted azt a pár sor CSS-t, amit kézzel is megírhatnál
“All nothings are not equal.”
-
fordfairlane
veterán
Én is belefutottam hasonlóba, ott egy táblázat fejlécében kellett volna 90-kal elforgatni a hosszú header szövegeket. Olyan sok cross-browser jellegű probléma lépett fel, hogy végül inkább szerveroldalon generáltam képekbe a szövegeket, PHP-ben, a GD könyvtárat használva.
[ Szerkesztve ]
x gon' give it to ya
-
Jim-Y
veterán
Egy lehetőség, amit kliens oldalon csinálhatsz.
http://jsfiddle.net/Jim_Y/qvdHS/2/[ Szerkesztve ]
-
Lacces
őstag
Hali,
jQuery nélkül (unokaöcsém beadandója... és a felsőoktatás szidása nélkül)
Hogyan tudnám egy JS-es Ajax hívás eredményét átadni JS változóba? (Az oké, hogy mindenhol a neten a html kiírást látom, meg a jquery-st, de nekem a sima js-be kellene átadnia)
És én meg igazából sosem használtam az alap JS-t AJAX-hozKód:
// Gép eredményének inicializálása
var gep = 0;
var ajaxRequest; // ajax kérő változó deklarálása
// Ajax kérő változó inicializálása a böngésző alapján
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer böngésző
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
gep = ajaxRequest.responseText;
}
}
ajaxRequest.open("GET", "gep.php", true);
ajaxRequest.send(null);
alert(gep);Az alert utasítás, mindig 0-t ad...
A segítséget előre köszönöm
-
Karma
félisten
Az ajaxRequest elküldése egy aszinkron művelet (lásd az AJAX rövidítés első betűjét ), így ha közvetlenül az elindítás után alertelsz, nyilván nulla lesz.
Tedd az alertet a "gep = ajaxRequest.responseText;" sor után a callback függvénybe, és instant boldogság. Legalábbis már meglesz az esélye.
[ Szerkesztve ]
“All nothings are not equal.”
-
Jim-Y
veterán
Vagy legyen szinkron a kommunikáció, és akkor ki tudod menteni az eredményét egy változóba. Bár pár napja pont erről beszélgettünk, hogy hiába szebb szinkronosan kimenteni az eredményt egy változóba, nem érdemes ezt használni, mert addig blokkolja a többi folyamatot?!
ajaxRequest.open("GET", "gep.php", false);
-
Lacces
őstag
Igen, úgy alert boldogság!
De nem őrzi meg az értéket utána! Mintha csak ott van meg benne... abban az IF ágban él a gep változó értéke, azon kívül már nem!!! És nem tudom, hogy miért...
Jim-Y : köszi, így jó. Az nem baj, hogy most blokkolja, nem oszt nem szoroz . Az eredmény megkapása után nem is lenne szabad most ennek a proginak tovább mennie. De így kimenti.
Én egy hide-olt inputba raktam ki az adatot és onnan beolvasni, de az nem volt olyan szép.Köszönöm szépen mindkettőtöknek
[ Szerkesztve ]
-
Karma
félisten
Megőrzi az, csak a kódod többi része szerintem már rég lefutott, mire a válasz megérkezik és beállítódik. Úgy kellene megírnod a programot (legegyszerűbb nem-halálfejes esetben - én legalábbis tuti megbuktatnám azt, aki a szinkron hívást használja -), hogy azokat a részeket, amik a gep jövőbeli értékét használják, egy külön függvénybe szervezed, amit a callbackből hívsz meg. Azaz kvázi félbevágod a programod futását, amíg meg nem jön a válasz.
Egyébként jQuery-ben pont ugyanezt teszed, csak van egy előre meghatározott promise forma a jövőbeli eseményekhez.
[ Szerkesztve ]
“All nothings are not equal.”
-
Jim-Y
veterán
Pont ugyanez a helyzet jQuerys esetben, ott is ha aszinkron használod a $.ajax-ot, akkor ha kezdeni akarsz valamit a visszakapott értékkel azt csak a success ágban teheted. Meghívhatsz egy függvényt paraméterben az eredménnyel, de mégsem olyan mintha kimentenéd későbbi használtra
Itt is pont ez a helyzet. async vs syncKicsit olvass vissza vagy itt, vagy a jquerys topicban, a napokban volt erről szó.
-
CSorBA
őstag
válasz martonx #3521 üzenetére
Igen, arra hajlok, megcsinálom css-el. IE alatt gondoltam függőleges lesz, de még az a nyamvadt filter sem működik normálisan, vagy csak a kompatibilitási módban nem. Valami fallbacket fogok kitalálni, vagy lebeszélem őket erről, ugyanis elég rondán tud renderelni dőlt szöveget a firefox, meg a chrome is. IE9 és IE10 viszont gyönyörűen
-
Sk8erPeter
nagyúr
Igen, és deprecated, ahogy volt már róla szó a topicban. Lásd jQuery hivatalos oldala.
Nem jó, nagyon nem az. Ne fagyasszuk be a júzer GUI-ját azért, mert nem jöttünk rá a jó megoldásra.(#3522) martonx :
én is így látom. Egy "kicsit" értelmesebb, mint a múltkori "valósítsunk meg komplett webshopot CSAK JavaScript-alapokon"-feladat... így legalább a diákok talán elkezdik érteni, mit jelent az, hogy aszinkron kommunikáció.(#3519) Lacces :
nem volt egy túl nagy vitatéma, a lényeg, hogy senki ne AJAX-ozzon úgy, hogy szinkron kommunikációt erőltet. Mert az rossz.Sk8erPeter
-
ferensz
senior tag
Sziasztok!
ASP.NET-ben fejlesztek egy vertikális menüt, aminek az elemeit egy xml-ből szedem. Amikor megvan a fám, hogy melyik menü alatt milyen almenü helyezkedik el, akkor egy netről lesett javascript a kellő helyekre span-eket pakol be, hogy lenyitható legyen az adott menüpont. A problémám az lenne, hogy a linkem előtt látható spanre kattintva szépen le is nyílik a kellő rész, viszont nekem az kellene, hogy magára a linkre kattintva nyíljon le ami alatta van.
Tudom, hogy egy kicsit kusza, de most szaladtam bele először ilyenbe.
A javascript, amit felleltem:
this.sitemapstyler = function(){
var sitemap = document.getElementById("sitemap")
if(sitemap){
this.listItem = function(li){
if(li.getElementsByTagName("ul").length > 0){
var ul = li.getElementsByTagName("ul")[0];
ul.style.display = "none";
var span = document.createElement("span");
span.className = "collapsed";
span.onclick = function(){
ul.style.display = (ul.style.display == "none") ? "block" : "none";
this.className = (ul.style.display == "none") ? "collapsed" : "expanded";
};
li.appendChild(span);
};
};
var items = sitemap.getElementsByTagName("li");
for(var i=0;i<items.length;i++){
listItem(items[i]);
};
};
};
window.onload = sitemapstyler;Ha esetleg lenne valakinek valami ötlete, hogy hogyan lehetne megoldani a bajomat, azt nagyon szépen megköszönném.
"jah, mert a többi nyelvben a for nem for, hanem kapswagenschmetterling"
-
ferensz
senior tag
válasz Sk8erPeter #3526 üzenetére
Itt van a JSBinre felpakolva. Ha az adott link neve elé kattintasz, akkor lenyílik az "almenü". Nekem azt kellene valahogy elérnem, hogy ha nincs URL megadva az adott linkhez, akkor nyissa le az alatta lévő childokat, ha van URL-je és child elemei is, akkor az URL-re navigáljon, ha pedig nincsenek child elemei, de URL-je igen, akkor is navigáljon oda.
"jah, mert a többi nyelvben a for nem for, hanem kapswagenschmetterling"
-
Lacces
őstag
válasz Sk8erPeter #3524 üzenetére
Jah, de a miértjét csak most tudtam meg. (Bár ez full feleslegs volt ).
martonx: Lehet magamból indultam ki. Én nem értem, hogy miért nem engedte jQuery-ben... (Nem értem, hogy miért nem lehetett volna jQuery-ben ami már majdnem alapkövetelmény, és általában ezt is használják a webfejlesztők többsége.)
-
martonx
veterán
ja, hogy nem a példával volt a baj, hanem a javascripttel? Kivételesen ebben is tökéletesen egyetértek a tanárral.
Mára minden hülye a Jquery-t használja (köztük én is), miközben fingjuk sincs a tényleges javascriptről. Ráadásul szvsz mostanra a Jquery erősen túl van hype-olva, a modern böngészőkben sok esetben csak minimálissal több munka natív js-ben megcsinálni ugyanazt, mint jquery-vel.
Szerintem az oktatásnak pont az a lényege, hogy az alapokat tanítsa meg. Olyan ez mintha úgy tanítanának programozni, hogy soha nem tanítják meg, hogy mi az a tömb, meg objektum, hanem nesze itt a spring mvc, aztán java-zunk.
Persze akkor lenne igazán szinvonalas az oktatás, ha a tisztán javscript-elés után, ugyanezt a példát megcsinálnák mondjuk jquery-vel, is hogy a tudás legyen naprakész is. De ez már a vágyálom kategória.Én kérek elnézést!
-
CSorBA
őstag
Semmi, még sem jó
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
válasz ferensz #3527 üzenetére
Na, sorry, csak most tudtam megnézni a kódodat rendesen.
Végre egy érdekes kérdés!a következőket érdemes használni:
- CSS class-ok a JavaScript-kódba beégetett stílusváltoztatások helyett, tehát osztályok hozzáadása, elvétele, a jQuery-s addClass, removeClass, hasClass plain JS-ben történő megvalósításával, amire itt van code snippet:
http://www.openjs.com/scripts/dom/class_manipulation.php
- ha alapból van mondjuk egy list-collapsed osztály az összecsukott listán, ami display:none-ra állítja azt, és van külön egy list-expanded osztályod, ami pedig display:block-ra állítja, és ebben a sorrendben következik a CSS-kódban is egymás után, akkor elég csak hozzáadnod, illetve elvenned a list-expanded osztályt, de mondjuk ez nem teljesen foolproof megoldás (más is módosíthatja az osztályok sorrendjét, láthatóságát), ezért érdemes mindig elvenni a list-expanded osztályt, ha össze akarod csukni, és hozzáadni a list-collapsed osztályt (ez így nem olyan szép a kódban, mert egymás után van, meg plusz függvényhívások, de azért nem katasztrófa)
- event.preventDefault, hogy a # hreffel egyenlő linkeket ne akarja követni a böngésző (ne ugorjon a lap tetejére)
- event.stopPropagation, hogy megakadályozd az esemény felszivárgását (bubbling up) a DOM-fában (pl. a valós linkre kattintva nem kell lenyílnia a listának)Ez alapján módosítottam a kódodat:
http://jsfiddle.net/Sk8erPeter/a63q7/Remélem, így már sikerül, kommenteztem a kódot, ha valami mégsem teljesen világos benne, kérdezz vissza nyugodtan.
Sk8erPeter
-
ferensz
senior tag
válasz Sk8erPeter #3532 üzenetére
Nagyon szépen köszönöm a segítségedet, de szombatra el kellett készülnöm vele, így jquery accordionnal oldottam meg végül a dolgot, de tanulásképpen áttanulmányozom a kódodat
"jah, mert a többi nyelvben a for nem for, hanem kapswagenschmetterling"
-
ahetaton
csendes tag
Sziasztok mesterek!
van egy kódom ami majdnem tökéletesen működik:
<script>
function getStyle()
{
var temp = document.getElementById("main").style.visibility;
return temp;
}
function switchMain()
{
var current = getStyle();
if( current == "hidden" )
{
document.getElementById("main").style.visibility = "visible";
}
else
{
document.getElementById("main").style.visibility = "hidden";
}
}
</script>
<div id="main" style="visibility: hidden">
Hello World!</div>
<p>
<a href="#" onclick="switchMain()">Change</a></p>Azt, hogy lehet megoldani, hogy mikor megnyomom a Change gombot, az is eltűnjön?
Köszönöm!
[ Szerkesztve ]
-
Jim-Y
veterán
válasz ahetaton #3534 üzenetére
<script>
function switchMain(item, button) {
(item.style.visibility == "hidden") ? item.style.visibility = "visible" : item.style.visibility = "hidden";
button.style.visibility = "hidden";
}
</script>
<div id="main" style="visibility: hidden">
Hello World!
</div>
<p>
<a href="#" onclick="switchMain(document.getElementById('main'), this);" id="button">Change</a>
</p>De ha csak el akarod tűntetni a gombot, és megjeleníteni a "main"-t, akkor:
<script>
function hideMain() {
document.getElementById("main").style.visibility = "visible";
}
</script>
<div id="main" style="visibility: hidden">
Hello World!
</div>
<p>
<a href="#" onclick="hideMain(); this.style.visibility = 'hidden';" id="button">Change</a>
</p>[ Szerkesztve ]
-
Sk8erPeter
nagyúr
válasz ahetaton #3534 üzenetére
A getStyle() nem túl jó név, mivel itt konkrétan a visibility tulajdonságot kéred le, tehát szerencsésebb lenne akkor már a getVisibility() elnevezés...
JavaScript-kódba beégetett CSS-módosításokat nem érdemes használni, inkább hozzáadni és elvenni osztályokat, amik kinézetét CSS-ben határozod meg.
Pl. legyen egy .hidden osztályod, ami a display:none tulajdonságot állítja be. Ezt hozzáadod vagy elveszed.Így:
http://jsfiddle.net/pXRfT/Látom, megelőztek.
Felejtsétek el az inline, HTML-kódokkal összekutyult ocsmány JavaScript-kódokat!![ Szerkesztve ]
Sk8erPeter
-
Jim-Y
veterán
válasz Sk8erPeter #3537 üzenetére
Egyébként van arra vonatkozó ajánlás, vagy felhívás, hogy az inline miért rosszabb? azon kívül, hogy kevésbé lesz modulokra bontott a kód?! Egyébként igazad van, sokszor szerkesztettem az eredeti hsz-t, a végére lett csak paraméterben átadva az objektum. Jó lenne egyszer valami hivatalos irományt olvasni ilyen kódolási konvenciókról, mert láthatóan ha a saját fejem után megyek, az nem jó :/
-
Sk8erPeter
nagyúr
Milyen "hivatalos irományt"? Konkrétan kitől várnád ezt az irományt?
Kismillió ezzel kapcsolatos cikk, slide, egyéb van, ami összefoglalja, hogy a szemantikai keveredések miért rosszak MINDIG. Egyszerűen karbantarthatatlanná, tesztelhetetlenné és átláthatatlanná teszi egy idő után a kódot, nem beszélve arról, hogy mennyire ocsmány.
Egyébként a template-ezést sem véletlenül találták ki.De mutatok neked konkrétumot, ezt a slide-ot még régebben olvastam, könyvjelzőztem is, mert nagyon szemléletes, mindenképp fusd át, röviden, tömören, érthetően mutatja be leegyszerűsített példákkal, mit kerülj el
http://www.slideshare.net/fgalassi/refactoring-to-unobtrusive-javascriptSk8erPeter
-
martonx
veterán
Mert egy bizonyos szint felett tökéletesen átláthatatlanná, követhetetlenné teszi a kódot.
Debugolást, kód menedzselést is nagyban megnehezíti.Persze ezek mind olyan szempontok, amikkel egyszemélyes fejlesztők simán együtt tudnak élni, sőt ha nem tartják be ezeket a szempontokat, talán még gyorsabban is tudnak gányolni, mint ezen elvek mentén. Aztán persze két év múlva, meg 3 fejlesztővel 3 féle gányolási stílussal később, megy az átkozódás, mikor egy ilyen kódban bármin is módosítani kell.
Mondok egy példát. Van egy js függvényed, amihez hozzá kell adnod egy plusz argumentumot. Nem mindegy, hogy elég csak .js file-okban keresni, módosítani, vagy netán kismillió egyéb html-ben, php-ben, tpl, xsd-ben és még a jó ég tudja mi mindenben kell keresni. És mindez csak azért mert anno valakinek jobban kézreállt milliónyi onclick eseménybe belegányolni, ahelyett, hogy 1-2 rendes általános javascriptes eseménykezelőben kezelte volna le mindazt.
[ Szerkesztve ]
Én kérek elnézést!
-
fordfairlane
veterán
A HTML írja le a az oldal struktúráját, a CSS az oldal elemeinek megjelenését, a Javascript a viselkedést (amit aztán most már részben a CSS kezd átvenni). Ez a három rész három különböző aspektusa annak a valaminek, amit a felhasználó lát. Ezért is van rá háromféle jelölőnyelv, kettő deklaratív, egy pedig imperatív jellegű. És ezért érdemes három, egymástól elkülönülő részbe szervezni, és jól definiált interfészen keresztül kötni össze őket.
Az ilyen "separation of concerns" megközelítések akkor számítanak, ha a szoftver bonyolultsága meghalad egy szintet. Viszont sok szoftver indul egyszerűnek és aztán menet közben komplikálódik el, így ha valakinek ez nem jelent külön erőfeszítést, érdemes ezeket az elveket követni minden oldalnál a kezdetektől fogva.
[ Szerkesztve ]
x gon' give it to ya
-
Sk8erPeter
nagyúr
válasz martonx #3540 üzenetére
Nem is beszélve arról, hogy mennyire okádék, amikor valaki egy sorba bedob tisztességesen kinéző kódnál 5 sort igénylő kódot. Mondjuk az se semmi, amikor valaki külön JS-fájlban elkezd trükközni, hogy megspóroljon 3 sornyi kódot, és csinál belőle a nyelv lehetőségeit kihasználva 1 minikódsort, amivel igazából csak azt éri el, hogy bebizonyította magának, milyen ügyes volt, de aztán amikor 2 hét múlva ránéz a kódjára, akkor ő maga is elgondolkozik, hogy ott mit is csinált. (Bár ez nyelveken átívelő dolog.)
(#3541) fordfairlane :
"Az ilyen "separation of concerns" megközelítések akkor számítanak, ha a szoftver bonyolultsága meghalad egy szintet."
Igazából a lehető legegyszerűbb kódnál is számít, nem kell ehhez bonyolult webalkalmazást elképzelni, elég az iménti kérdező kódjára gondolni, már ott is ronda.[ Szerkesztve ]
Sk8erPeter
-
Jim-Y
veterán
válasz Sk8erPeter #3539 üzenetére
Na.. pont ilyenre voltam kíváncsi, sajnos nem js-el dolgozom, így a gyakorlat nem tud az ilyenekre rávezetni, pedig nagyon szeretem a javascriptet. El is mentem a prezit, köszi
Többieknek is köszi a választ.
[ Szerkesztve ]
-
Jim-Y
veterán
sziasztok, segítséget szeretnék kérni. JSFiddle példát szeretnék toggle efecttel az oldalamba ágyazni, jól is működik, de amikor a toggle-el lenyitom a live sample-t, és meg akarom nézni az eredményt, akkor nem mutat semmit.
Ha nem használok toggle efektet, csak simán beágyazom az oldalba, vagy max a visibility-t állítom akkor jó.
-
Sk8erPeter
nagyúr
Eléggé úgy tűnik, a jsFiddle-nél kúrtak el valamit, konkrétan az embeddable.js-ben a switchTab metódus meghívásakor történik a hiba, szóval pont, amikor váltasz:
Unhandled Error: Cannot convert 'this.sections[index]' to object
Első megoldás hibajelzés a jsFiddle GitHub-oldalán.
Sk8erPeter
-
ahetaton
csendes tag
Sziasztok mesterek!
Hogy lehet azt megoldani JavaScriptben, hogy egy alert ablakot dobjon fel, ha nincs kitöltve a formom?
Előre is köszönöm a segítséget!
http://jsfiddle.net/B8FPP/
-
Sk8erPeter
nagyúr
válasz ahetaton #3546 üzenetére
Javaslom, hogy kezdd el túrni az internetet "JavaScript validation" kulcsszavakra keresve, hidd el, előbb-utóbb rá fogsz jönni, hogy kell megoldani a feladatot. Itt senki nem szeret ingyen dolgozni, tanácsokat szívesen adunk, segítünk is a konkrét kódban, de legalább a minimális erőfeszítést lehetne látni a kódodban... amúgy remélem tudod, hogy a szerveroldali validálás az elsődleges (akár PHP-ben dolgozol, akár ASP.NET-ben, akár Javában, tök mindegy), a kliensoldali csak ezután következik (az mindig másodlagos).
Sk8erPeter
-
spammer
veterán
válasz ahetaton #3546 üzenetére
Tessék [link]. Biztos lehet szebben, jobban, de nem én találtam ki, régebben találtam, működik, ez a lényeg. A last_name mező nevét átírtam phone-ra, mert elvileg annak a mezője.
szerk:
input mezők esetében be lehet tolni egy required attribot is:
pl.: <input type="text" required>
Modern böngészőt felismerik, régi szarokon nem megy, arra jó a js.
[ Szerkesztve ]
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
nymarti
csendes tag
sziasztok!
most kezdtem nemrégiben foglalkozni javascript-el és lenne egy rövid kérdésem.
van egy táblázatom, ahol vannak legördülő menük és szeretném, hogyha kiválasztom az egyik legördülő menü [1] opcióját, akkor a következő legördülő menü nem lenne elérhető.
két lehetőséget is kipróbáltam, de valamiért nem működikaz egyik:
function select15(ref) {
switch (ref.selectedIndex) {
case 0: s[16].disabled=false;
break;
case 1: s[16].disabled=true;
break;
case 2: s[16].disabled=false;
break;
case 3: s[16].disabled=false;
break;
case 4: s[16].disabled=false;
break;
}
magas();
return;
}a másik:
function select15(ref) {
if (ref.selectedIndex==1) {
s[16].disabled=true;
s[16].selectedIndex=0;
} else {
s[16].disabled=false;
}
magas();
return;
}html:
<select id="sel15" name="" onChange="magas();">
<option value="0" selected>1</option>
<option value="1">2</option>
<option value="2">3</option>
<option value="3">4</option>
<option value="4">5</option>
</select>
<select id="sel16" name="" onChange="magas();">
<option value="0" selected>1</option>
<option value="1">2</option>
</select>van valami tippetek, hogy mit ronthattam el?
köszi a segítséget!
Új hozzászólás Aktív témák
Hirdetés
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest