Hirdetés

2024. június 22., szombat

Gyorskeresés

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2014-02-25 10:20:57

LOGOUT.hu

JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)

Összefoglaló kinyitása ▼

Hozzászólások

(#7051) Con Troll


Con Troll
senior tag

Sziasztok, MongoDB-vel szeretnék olyat csinálni, hogy a usertől békérek egy usernevet illetve egy profilnevet, ha profilnevet nem ad meg, akkor a default '[username]'s profile' legyen.
A gondom az, hogy a bevitt usernevet nem tudom sehogy sem elérni a default résznél. Mi lenne a helyes módja ennek? Köszönöm :R
const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const User = new Schema({
_id: mongoose.Schema.Types.ObjectId,
username: {
type: String,
required: true,
unique: true,
},
profilename: {
type: String,
default: ??? ,
},
});

module.exports = mongoose.model('User', User);

[ Szerkesztve ]

(#7052) dqdb válasza Con Troll (#7051) üzenetére


dqdb
nagyúr

Init hook segítségével tudod ezt megoldani:

User.post('init', user => {
if (!user.profilename) {
user.profilename = user.username + "'s profile";
}
});

[ Szerkesztve ]

tAm6DAHNIbRMzSEARWxtZW50ZW0gdmFka5RydIJ6bmkuDQoNClOBc4Ek

(#7053) amdni


amdni
aktív tag

Üdv!

Az alábbi kód miért nem működik? Nem értem:

function UserFv ($connect, $username, $password){
$arr = array();
$sql = mysqli_query($connect, "SELECT id, username, password FROM users where username = '".$username."' and password = '".$password."' ") or die('username or password load error');
while($res = mysqli_fetch_array($sql))
{
array_push($arr,array('id'=>$res['id'],'username'=>$res['username'], 'password'=>$res['password'] ));
}
return $arr;
}
//eddig rendben lefut.
$tomb = UserFv ($connect, $username, $password);
echo $tomb['id');

Köszönöm a segítséget és a tanácsokat!

(#7054) Jim-Y válasza amdni (#7053) üzenetére


Jim-Y
veterán

Ad1: ez php szoval ha javacriptes topikban teszed fel a kerdest akkor lehet kavarc van a fejedben, hogy hogyan is kene ezt futtatni szoval az is lehet a problema
Ad2: echo $tomb['id'); Itt van egy typo a vegen.

(#7055) martonx válasza Jim-Y (#7054) üzenetére


martonx
veterán

:R maximális respekt, amikor az annyira debilnek is válaszolsz, aki azt se tudja milyen nyelven programoz, és még a typo-ját is észreveszed helyette :D :D

Én kérek elnézést!

(#7056) amdni válasza Jim-Y (#7054) üzenetére


amdni
aktív tag

Sorry, véletlenül tettem fel itt a kérdést. Az admint kérem hogy törölje.

(#7057) amdni válasza martonx (#7055) üzenetére


amdni
aktív tag

Köszi neked is az építő megjegyzést, de az ilyen jellegű hozzászólás mit a tiéd szerintem nem éri el a prohardver színvonalát.

[ Szerkesztve ]

(#7058) Panhard


Panhard
tag

Sziasztok. Van egy ilyen json formátumom:
[{"egy":"noname","ketto":"valami","harom":"03","negy":04,"ot":05,"hat":06},[{"param":4,"ido":5},{"param":16,"ido":17},{"param":13,"ido":67},{"param":15,"ido":30}]]

Online nézővel így néz ki:

Az első tömb soraira így tudok hivatkozni:
json[0].egy
json[0].ketto
json[0].harom
stb.

Hogyan tudok hivatkozni javascriptben a második tömb soraira? Így nem megy:
json[1][0].param
így sem:
json[1].param[0]

(#7059) DNReNTi válasza Panhard (#7058) üzenetére


DNReNTi
őstag

Ebben az esetben a JSON egy ketelemu tomb. A JSON[0] egy objektum mig a JSON[1] egy ujabb tomb, benne objektumokkal. Elvileg a JSON[1][n].param helyes hivatkozas lenne ra, de kiprobalni most nem tudom.

Szerk: 'n' az termeszetesen a tetszoleges indexet kivanja reprezentalni, ne konkretan n-et irj be. :D

[ Szerkesztve ]

but without you, my life is incomplete, my days are absolutely gray

(#7060) #57018880 válasza Panhard (#7058) üzenetére


#57018880
törölt tag

Nekem működik [1][0] indexre, döntsd el, hogy a 06 szám vagy string, ha szám akkor ne legyen előtte 0 vagy legyen float.

(#7061) Panhard válasza #57018880 (#7060) üzenetére


Panhard
tag

A 04,05,06 is string, csak a példából lemaradtak a macskakörmök.
Viszont a json[1][0].param nem működik.

Ha alert()-el kiíratom a weblapra az eredményt, a json[1][0] -ra undefined-et ír. A json[1][0].param -ra fel sem jön az ablak.

(#7062) Doink válasza Panhard (#7061) üzenetére


Doink
aktív tag

(#7063) Panhard válasza Doink (#7062) üzenetére


Panhard
tag

Akkor csak nálam nem működik valamiért. Az első objektum értékeit ki tudom olvasni, csak a másodikat nem. Lehet hozzá köze annak, hogy a json-t egy php fájl generálja?
A javascript pedig így dolgozza fel:

$.getJSON("setup.php?eszkoz="+eszkoz, function (result) {kesz = result;

document.getElementById("username").innerHTML = kesz[0].username;
document.getElementById("eszkoz").innerHTML = eszkoz;

document.forms["myForm"]["p01"].value=kesz[0].upload_interval;
document.forms["myForm"]["p02"].value=kesz[0].minspeed;
document.forms["myForm"]["p03"].value=kesz[0].waitsleeptime;

document.forms["pidForm"]["pidt01"].value=kesz[1][0].ido;
document.forms["pidForm"]["pidt02"].value=kesz[1][1].ido;
document.forms["pidForm"]["pidt03"].value=kesz[1][2].ido;
document.forms["pidForm"]["pid01"].value=kesz[1][0].pid;
document.forms["pidForm"]["pid02"].value=kesz[1][1].pid;
document.forms["pidForm"]["pid03"].value=kesz[1][2].pid;


}

(#7064) Panhard válasza Doink (#7062) üzenetére


Panhard
tag

Ha a php fájl kimenetét bemásolom a javascript fájlba ahogy a példában mutattad, ezzel kihagyom a $.getJSON() függvényt, akkor működik.
Szerintem utánaolvasok ennek a $.getJSON-nak, vagy/és átvariálom a php fájl json kimenetét, hogy ne legyen benne két objektum.

(#7065) Doink válasza Panhard (#7063) üzenetére


Doink
aktív tag

Debuggerrel is nézted hogy mi történik?

[ Szerkesztve ]

(#7066) coco2


coco2
őstag

Sziasztok!

Google chrome környezetben keresek arra lehetőséget, hogy temérdek sok letöltött file-t helyben meg tudjak őrizni későbbi felhasználásra. Max 120 kbyte-os jpeg file-okról van szó, de azokból akár sok10ezrével lehet. Több 10 gigabyte-ig is nőhet a halmaz végül. Egy vastag réteg alkalmazás egyik igénye lenne, aminek az ötletét még csiszolgatom. Egyenlőre nem tudom biztosan, van-e olyan lehetőségem webes alapon is, vagy csak bináris alapon, és annak eldöntéséhez jól jönne a tanács.

Valami fejtágító anyag kellene összefoglaló jelleggel tartalom helyben tárolásának lehetőségeiről és korlátairól. Mi a legtöbb, ami elérhető?

កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។

(#7067) Panhard válasza Doink (#7065) üzenetére


Panhard
tag

Megoldódott. A php-ban volt a hiba, az értéket egy string-ből szedem ki a substr()-el. Azt kellett átalakítani int-re. A json_encode()-hez be kellett írni a JSON_NUMERIC_CHECK opciót. Így már jó.
Köszönöm mindenkinek a segítséget.

(#7068) bandi0000


bandi0000
nagyúr

Tudnátok ajánlani angulárhoz tutorialt, JWT token kezeléséhez? Amiket én találtam azok nem voltak valami részletesek

Gondolok itt arra, hogy ha megkapja a tokent, akkor valami session-t vagy mit hoz létre, míg le nem jár a token, és el legyenek választva az útvonalak autentikációhoz kötve

Xbox One: bandymnc

(#7069) bandi0000


bandi0000
nagyúr

Ha lenne admin felhasználóm is, akkor arra mi a bevett gyakorlat? Pl ha ugyan azt az oldalt is láthatnák 1-2 plusz funcióval, copy paste a template, vagy ki kellene valahogy egészíteni?

Xbox One: bandymnc

(#7070) Doink válasza bandi0000 (#7069) üzenetére


Doink
aktív tag

Templatebe is lehet if-et írni.

*ngIf="isAdmin()"

[ Szerkesztve ]

(#7071) bandi0000 válasza Doink (#7070) üzenetére


bandi0000
nagyúr

Erre én is gondoltam, de azt hittem túl egyszerű ez így :D

Xbox One: bandymnc

(#7072) bandi0000


bandi0000
nagyúr

Mi lenne a jó megoldás, ha lejár a token?

Tönn megoldás van a fejemben, de nem tudom melyik a jobb, egyrészt a jwt tokenbe be van csomagolva a lejárati idő, amit gondolom lehetne figyelni minden kérés elött, ha lejárt akkor megújítja

vagy azt figyelni, hogy mikor ad vissza a szerver http401 et, és ha vissza ad, akkor vagy megújítás, vagy automatikusan a loginre ugrik

Szerintetek? Vagy más a bevett megoldás erre?

Xbox One: bandymnc

(#7073) martonx válasza bandi0000 (#7072) üzenetére


martonx
veterán

Szebb figyelni a lejárat idejét és még idő előtt újat kérni.

Én kérek elnézést!

(#7074) bandi0000 válasza martonx (#7073) üzenetére


bandi0000
nagyúr

ezt pontosan hogy érted?
Amit hirtelen találtam annak az alapja az, hogy ha 401 et kap vissza, és be volt jelentkezve, akkor csak kér egy új tokent

Vagy meg lehet azt oldani, hogy a háttérbe figyelné valami a lejárati dátumot, és ha lejár akkor kér egy újat?

Xbox One: bandymnc

(#7075) martonx válasza bandi0000 (#7074) üzenetére


martonx
veterán

Te írtad: "a jwt tokenbe be van csomagolva a lejárati idő, amit gondolom lehetne figyelni minden kérés elött, ha lejárt akkor megújítja"

Figyeled, ha a lejárat közelében van, akkor megújítod.

Én kérek elnézést!

(#7076) bandi0000


bandi0000
nagyúr

Kérnék egy kis segítséget, egyszerűen teljesen bele gabalyodtam már a az Observer-be, persze próbálok utána olvasni, de valahogy nem teljesen értem a működésüket stb, Observer az nem vár lényegében, csak ha megkapja az adatot, akkor megcsinálja amit kell, de nem tudom ezt valahogy rá "húzni" az alatta lévő 2 sorra is, hogy addig ne hajtódjon végre, amíg az observer nem kapja meg az adatot?

lényeg, hogy ha HTTP401-et kapok vissza, akkor kér a kliens egy új tokent, és azzal újra elküldi a kérést, viszont ki loggoltam és amit nem igazán értek, hogy kiírja hogy "1", aztán kiírja hogy "null" mert nincs a localstorage-be a token, aztán kiírja a tokent ami a subscribe-n belül van

Azt akarom megoldani, hogy az utolsó log lényegében addig ne legyen végre hajtva, míg nem kerül be a localstorageba a token

if(localStorage.getItem("token"))
{
localStorage.clear();
console.log("1");
this.auth.refreshToken().subscribe(
res=>{
localStorage.setItem('token',res['token'])
console.log(localStorage.getItem('token'));
request = this.addRefreshToken(request);
},
err=>console.log(err)
)
console.log(localStorage.getItem('token'));
return next.handle(request);
}

Xbox One: bandymnc

(#7077) gary89 válasza bandi0000 (#7076) üzenetére


gary89
csendes tag

Szia!

Legegyszerűbb ha az egészet becsomagolod egy promiseba, az utolsó két sort berakod a res-hez tartozó blokkba és resolve-al térsz vissza. Error esetén természetesen reject.

[pastebin]

Nagyobb kontextus nélkül ennyit tudok mondani, emiatt a függvényed (ha van) visszatérési típusát módosítanod kell, de kb ez a legegyszerűbb.

Ha Observereket használsz és az abból származó eredményre van szükséged és return-t akarsz használni, akkor valami tervezési gond lehet.

(#7078) #57018880


#57018880
törölt tag

owlCarousel-el, van esetleg valakinek behatóbb ismerete?

A probléma a következő: van egy autoWidth slider, ahol minden owl-item, azaz a single slide felső wrappere kap egy negatív margót, hogy kicsit egymásra érjenek. Ez működik is, de a negatív margókat valamiért nem számolja az owlCarousel, így persze a jobb oldalon jó nagy üres tér marad amikor a vége felé járunk mielőtt vissza lép az első slidera, ezt egy bal oldali padding a külső wrapperen tudja félig meddig "kezelni", de sokkal jobb lenne bele nyúlni a jQuery plugin azon részébe ahol a számolást végzi és lekezelni az extra margókat, hogy az item szélességébe beleszámolódjon.

alap eset
----------------
[ x ] [ x ] [ x ]
----------------

mostani
--------------------
[ x ] x ] x ]
--------------------
-----------> ? <-

Hálás köszönet ha valakinek van valami ötlete erre. :R

(#7079) #57018880 válasza #57018880 (#7078) üzenetére


#57018880
törölt tag

Végig próbáltam minden eseményt a saját Plugin bekötési módszerével, de semelyikkel nem frissült le a _coordinates tömbje, ami a translateX poziciókat jelöli per slide.

(#7080) bandi0000


bandi0000
nagyúr

Kérnék egy kis segítséget

Először is egy technikai kérdésem lenne, nem használtam soha még Ajax kérést, de ha jól tévedek, akkor a lényeg, hogy a háttérben elkéri az adatot, úgy, hogy a felhasználó semmit nem vesz észre, ilyen nincs az Angularban? Pl egy olyan funkciót, mint facebookon az értesítéseket hogy csinálják, hogy valós időben oldal újratöltés nélkül jelez?

A másik inkább ötletelés lenne

A freelancerhez hasonló weboldalt akarok csinálni, a gond ott kezdődik, hogy pl megrendelő feltölt egy projektet, amire a programozók vagy bárki reagálhat, tehát tesz rá egy órabér ajánlatot, ezt valahol ki kellene listázni a megrendelő részén, pl a hirdetései alatt kilistázza, hogy ki tett rá ajánlatot, persze ezt csak ő látná, ezután az X ajánlat közül kellene választania egyet, akinek odaadja a projektet, na már most ez a másik oldalt is lenne, tehát a programozó felrak egy hirdetést, hogy ő vállal akármilyen fejlesztést, és erre egy megrendelő ráugorhat, hogy neki kellene csinálni valamit, viszont ebben az esetben is lehet több " ajánlat" a hirdetése alatt, de nem feltétlen választ csak egyet, mert megcsinálhatja az összeset is

Egyrészt a későbbi értékeléseket kellene kötni valamihez pl hirdetéshez ,hogy ne lehessen össze vissza értékelni

Szóval erre keresek valami praktikus megoldást, gondolkoztam hasonló megoldáson is, mint a PH-s rendszer, de ott pár üzenetváltás után létrejön az üzlet, míg az én esetemben inkább személyes megbeszélések után kezdődhetne a projekt és fejeződhetne be

Remélem érthetően hadartam el mit is szeretnék, és megköszönöm ha tudtok 1-2 támpontot adni

[ Szerkesztve ]

Xbox One: bandymnc

(#7081) cattus válasza bandi0000 (#7080) üzenetére


cattus
őstag

Az elsőhöz websocket-re lesz szükséged. Nem tudom, hogy Angular-ba hogyan hegeszthető bele, de biztos meg lehet oldani. Viszont ezt szerveroldalon is implementálnod kell majd.

Do the thing!

(#7082) bandi0000 válasza cattus (#7081) üzenetére


bandi0000
nagyúr

Köszi , lehet ezt még átgondolom, mert szerintem felesleges, igazából csak az lett volna a cél, hogy jelezzem a felhasználónak hogy ha van olvasatlan üzenete pl, de erre igazáéból elég lenne az ngIf is, ami minden oldal frissítésnél megnézi, hogy van e olvasatlan üzenete, és ha van, akkor oda hegeszt 1 számot az üzenetek mellé pl

Xbox One: bandymnc

(#7083) bandi0000


bandi0000
nagyúr

bocs ,de akkor kérdezek egy utolsót, mert azt se tudom hogy keressek rá

mi a módja annak, hogy formázó tageket tudjak beszúrni egy textareaba vagy akármibe mint pl itt?

Xbox One: bandymnc

(#7084) cattus válasza bandi0000 (#7083) üzenetére


cattus
őstag

Ha csak programkód formázás kell, akkor highlight.js, ha rich text editor, akkor pl. a froala egy jó cucc.

Do the thing!

(#7085) bandi0000 válasza cattus (#7084) üzenetére


bandi0000
nagyúr

tök jó, köszönöm :R

Xbox One: bandymnc

(#7086) Jim-Y válasza bandi0000 (#7080) üzenetére


Jim-Y
veterán

"Először is egy technikai kérdésem lenne, nem használtam soha még Ajax kérést, de ha jól tévedek, akkor a lényeg, hogy a háttérben elkéri az adatot, úgy, hogy a felhasználó semmit nem vesz észre, ilyen nincs az Angularban?"

Szerintem 100% hogy hasznaltal mar max nem tudsz rola hogy azt hasznaltad. Angular-ban ennek az egyik implementacioja a https://angular.io/guide/http angularjs-ben a $http service. Ujabb bongeszok tamogatjak a `fetch` API-t.

A websocket az mas. Websockettel tudod tobbek kozott elerni, hogy a backend is aszinkron tudjon kommunikalni a frontenddel. Igazabol mas a ketto. Az AJAX szinte minden applikacionak a resze es elengedhetetelen manapsag, websocketre pedig csak ritkan van szukseg.

[ Szerkesztve ]

(#7087) bandi0000 válasza Jim-Y (#7086) üzenetére


bandi0000
nagyúr

Áhh köszi, és annak mi lenne a módja, hogy csak akkor töltsön be a template, ha megjött az adat? Sima ngIf-el oldjam meg, vagy más a módi erre?

Amit még hirtelen nem találok, hogy miként kellene megoldanom ha a hirdetéseket nem táblázatban, hanem listában vagy akármiben tárolnám, és szeretném használni a paginator-t?
Inkább úgy kérdezem, hogy nekem kellene lekezelni, hogy ha lapoz a felhasználó, akkor az ngFor a következő 10-et rakja ki?

Mert táblázatokra tök jó példákat találtam, ahol meg van oldva a lapozás egyszerűen, de listára nem találok hasonlót

Xbox One: bandymnc

(#7088) Doink válasza bandi0000 (#7087) üzenetére


Doink
aktív tag

- ngif-el és addig kiteszel egy spinnert amíg tölt
- resolver-rel és akkor addig el se éred a route-ot [link]

(#7089) bandi0000 válasza Doink (#7088) üzenetére


bandi0000
nagyúr

köszi, akkor ha jól értem amikor a felhasználó navigálna valamire, akkor mielött betöltene az oldaly a resolver fut le, megkapja az útvonal címét, lefuttatja az utvonalon lévő observert vagy valamit, és ha megjött az adat akkor tölti csak be az oldalt ?

Xbox One: bandymnc

(#7090) bandi0000 válasza bandi0000 (#7089) üzenetére


bandi0000
nagyúr

+ ha jól látom, akkor ezt minden egyes oldalra külön meg kell írni?

Xbox One: bandymnc

(#7091) Jim-Y válasza bandi0000 (#7087) üzenetére


Jim-Y
veterán

Attol fugg. A modi az kb ez:

template:

<md-list>
<md-list-item ng-repeat="item in $ctrl.items"></md-list-item>
</md-list>

controller:

class ItemController {

constructor() { this._init(); }

async _init() {
this.items = await this.whateverService.getItems();
}

}

A two-way binding miatt ha this.items modosul akkor a template is frissiti az allapotat. Nem minden esetben megy igy, van olyan, hogy ng-if-et kell hasznalni mint ahogy emlitettek is, akkor `ng-if` + spinner

[ Szerkesztve ]

(#7092) cattus válasza Jim-Y (#7091) üzenetére


cattus
őstag

Azért azt tedd hozzá, hogy a példakód, amit betettél, az AngularJS, amivel a kolléga nem megy sokra.

Do the thing!

(#7093) Jim-Y válasza cattus (#7092) üzenetére


Jim-Y
veterán

Mar hogy ne menne sokra, Angular 7-ben is vannak komponensek es controllerek max a szintaxis mas. Most megnezve az angular-material oldalat, szinte 1-az-1-ben ugyanigy kell irni: https://material.angular.io/components/list/examples

(#7094) bandi0000 válasza Jim-Y (#7093) üzenetére


bandi0000
nagyúr

Lehet elbeszélünk egymás mellett, ngFort használtam én is, itt még nem probléma , mert akkor dobálja ki az adatokat amikor megérkezik, csak akkor van baj pl, ha valamilyen szűrőt használnék, és ebben az esetben nem közvetlen a lekért adatokat jelenítem meg, hanem egy másik változóba belerakom az eredeti adatot, és azt aggregálom, ebben az esetben, ha a subscribe-n kívülre rakom az új változó értékadását, akkor hibát fog dobni, mivel bele akarja rakni az adatot, de az még nincs itt

A fentebb linkelt resolve jónak tűnik, mert pont azt csinálja, csak ahogy látom, azt minden componensre meg kell csinálni egyénileg

Xbox One: bandymnc

(#7095) Jim-Y válasza bandi0000 (#7094) üzenetére


Jim-Y
veterán

Ertem, egyszerubb lenne szerintem segitenunk neked, ha csinalnal egy olyan peldat amit mi i ki tudunk probalni. Mint ahogy a resolverest is feltettek.

(#7096) Zedz válasza Jim-Y (#7093) üzenetére


Zedz
addikt

NG7-ben controllerek? :F

(#7097) bandi0000 válasza Jim-Y (#7095) üzenetére


bandi0000
nagyúr

legegyszerűbb így elképzelni: gyári ha kitörlöd a desserts értékadását, akkor kb azt éred el, mintha nem jött volna meg az adat szerverről, és meghívja az üres tömbre a slice metódust, ami hibát dob rögtön

Nyilván én ezt megoldottam így, hogy a subscrible alá behúztam a slice-os sort, és akkor csak azután futna le, miután megjön az adat, de ez azért nem hiszem, hogy a legjobb megoldás

Xbox One: bandymnc

(#7098) Jim-Y válasza bandi0000 (#7097) üzenetére


Jim-Y
veterán

(#7099) joysefke


joysefke
veterán

Sziasztok! Kéne egy kis help, mert semennyire sem értek a javascripthez.

A feladat egyszerű. Van egy user facing oldal, ahol van egy darab HTML-form. Szeretném a html form input mezőinek változását detektálni és csak abban az esetben láthatóvá/kattinthatóvá tenni a Submit gomot, ha változás történt.

Bootstrap és jQuery is van, ezért jQuery-ben szeretném a megoldást. Egyébként az oldalt ASP .NET Core platformra fejlesztem VS-sel.

Utánaolvastam és a megoldásnak úgy kéne működnie, hogy oldalbetöltés után szerializálom a formot és elmentem. Ezután a form minden input mezőjéhez hozzárendelésre kerül egy "change input" event handler ami a beviteli mező változásakor újra szerializálja a formot és az elmentett értékkel való egyezőség esetén eltünteti/deaktivála egyébként meg engedélyezi a Submit gombot.

Ezt sikerült összekendácsolnom, de nem működik:

<form id="rsvpForm">
<button id="rsvpSubmit" class="btn btn-primary btn-submit" type="submit">
Send
</button>
</form>

<script>
var $origForm;
var $form
$(document).ready(function () {
$form = $("#rsvpForm");
$origForm = $form.serialize();
});

$(document).ready("#rsvpForm:input").on("change input", function () {
$("#rsvpSubmit").toggle($form.serialize() !== $origForm);
});
</script>

Pastebin

[ Szerkesztve ]

(#7100) cattus válasza joysefke (#7099) üzenetére


cattus
őstag

Nem kell semmit szerializálni, nem is tudom ezt honnan vetted.

A HTML-be alapból letiltod a gombot egy disabled attribútummal.
<button id="rsvpSubmit" class="btn btn-primary btn-submit" disabled type="submit">Send</button>

A JS:

$(document).ready(function() {
$('#rsvpForm :input').change(function() {
$("#rsvpSubmit").removeAttr('disabled');
});
});

Ja és a pastebin-es kódban a jquery-t meg hasonlókat korábban húzd be, mint a saját kódod.

[ Szerkesztve ]

Do the thing!

Copyright © 2000-2024 PROHARDVER Informatikai Kft.