- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Huawei Watch 5 - okosóra érintőlegesen
- Magisk
- Motorola Edge 60 és Edge 60 Pro - és a vas?
- Amazfit Active 2 NFC - jó kör
- One mobilszolgáltatások
- Apple iPhone 15 Pro Max - Attack on Titan
- LG V30 - vezércsel
- 200 megapixeles zoomkamerát sem kap az S26 Ultra?
- Motorola Edge 50 Neo - az egyensúly gyengesége
Új hozzászólás Aktív témák
-
-
biker
nagyúr
közben raktam naplózást mindenre is, valóban, ha böngészőből küldök post-al adatot, és ablakban nyílik meg a fogadó file, akkor lefut a script, és elküldi tovább az adatot, ha háttérben hívjuk meg akkor nem fut le
<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
<script>
$(document).one('ready', function () {
function submitForm() {
var data = {
'email-1': '<?php echo $newdata[0]['emailcim']; ?>',
'text-1': '<?php echo $newdata[0]['user_id']; ?>',
'text-2': '<?php echo $newdata[0]['user_ean']; ?>',
'date-1': '<?php echo date("Y-m-d", $newdata[0]['berlet_erv']); ?>',
'text-3': '<?php echo $newdata[0]['berlet_menny']; ?>'
};
jQuery.ajax({
url: 'https://www.**************l.hu/wp-admin/admin-post.php',
method: 'POST',
data: {
'action': 'submit_form_data',
'email-1': data['email-1'],
'text-1': data['text-1'],
'text-2': data['text-2'],
'date-1': data['date-1'],
'text-3': data['text-3']
},
success: function(response) {
// Sikeres válasz esetén itt kezelheted a választ
console.log("Sikeres adatküldés", response);
},
error: function(xhr, status, error) {
// Hiba esetén itt kezelheted a hibát
console.log("Adatküldés sikertelen", error);
}
});
jQuery.ajax({
url: 'https://*******************.hu/logger.php',
method: 'POST',
data: {
'action': 'submit_form_data',
'email-1': data['email-1'],
'text-1': data['text-1'],
'text-2': data['text-2'],
'date-1': data['date-1'],
'text-3': data['text-3']
},
success: function(response) {
// Sikeres válasz esetén itt kezelheted a választ
console.log("Sikeres adatküldés", response);
},
error: function(xhr, status, error) {
// Hiba esetén itt kezelheted a hibát
console.log("Adatküldés sikertelen", error);
}
});
}
submitForm(); // Az adatküldés indítása
});
</script>Ez után van egy logger a php-ben:
$log=$_POST['test']." ".$_POST['user_emailcim']." >> ".$newdata[0]['emailcim']." >> ".date("Y-m-d", $newdata[0]['berlet_erv'])." >> ".$newdata[0]['berlet_menny']." >> ".$newdata[0]['user_id']." >> ".$newdata[0]['user_ean'];
file_put_contents("uploads/".microtime().".txt",$log);ez menti a küldött adatokat ha a php lefutott, ugyanez van a logger.php-ben amit már a futó js hívna meg
Ha egy test.php-ből submitolok, akkor két log fileom lesz, adatokkal, ha háttérből (egy wp-n generált gomb, szintén jqueryvel küld adatot ide). akkor csak a php log íródik ki, minden adat helyes, de a document ready rész nem hívódik meg. Ezek szerint a háttérben generált oldal mivel nincs tartalom, nem generál document ready eventet sem?
-
biker
nagyúr
Üdv, létezhet az, hogy a $(document).one('ready', function () {.........
nem fut le ha a háttérben hívják meg?Van egy kis script, ami szinkronizálna adatot, elküldött emailcím alapján lekérdez az adatbázisból több adatot, és visszaküldi a wordpressnek.
Írtam rá egy tesztet, megnyomok egy gombot, post-al elküldöm az emailt, visszajön az adat, illetve beírodik a wp-be
ha a wp-n fut le a háttérben a hívás, vagyis nem generál kimenetet a böngészőre, akkor a felhasználó szerint nem jön vissza az adat a wp-beLétezhet hogy nem lesz "document ready" ha nincs kimenet? elég egy "ok" sor kiírás (a semmibe) vagy mi a megoldás?
-
DrojDtroll
veterán
Sziasztok!
Van eszköz amely megmondja, hogy egy adott jquery verzióval melyik legfirsebb verzió kompatibilis? -
Agostino
addikt
sziasztok
eléggé leült a topik de hátha még valaki látogatja. [ezzel a kis dropdown] menüvel szenvedek egy ideje, nem tudom miért makacsolja meg magát. az volna a lényeg, hogy szintenként lefele haladva specifikálhatom, hogy mi érdekel. az 1-4 kategória hibátlanul továbbpasszol, viszont az 5. szinten már nem veszi át a 4. szintben kiválasztott opciót, vagyis kettő megmaradt lehetőség helyett mind a létező négyet kihozza... ideális esetben Fagyasztott / Friss vagy Keresztbe / Hosszába párosnak kellene megmaradnia.
-
indigo
aktív tag
Sziasztok!
A következőkben kérném a segítségeteket.
Egy olyan billentyűzet gyakorló kis programot írok html-css-jquery alapon, amellyel kisgyerekek gyakorolhatnák a gombok leütését. A program a Play gomb megnyomása után beolvas egy sztringet, majd megjeleníti annak első karakterét egy kis téglalapban. Ekkor le kellene nyomni azt a karakter a billentyűzeten és az kiíródik az oldalra egy divbe. Valamint a kis téglalapban megjelent karakter is kiíródik az oldalon egy másik divbe. Pause gombbal megszakíthatom a feladatot.
Sajnos már itt hibákba ütköztem. Ha egyesével begépelgetem a karaktereket, akkor végig fut rendesen a beolvasás-kiírás a divekbe. Ha viszont menet közben megszakítom a feladatot a Pause gombbal, akkor a következő vagy utáni alkalommal már nem fogad el semmilyen bevitelt, egyből a sztring teljes tartalmát jeleníti meg. Példa.
A fejlettebb változat ellenőrzésekor rájöttem, hogy a sztring i-edik eleme az utolsó karakternél undefined. Valamint, ha újra kezdem a feladatot, akkor az i-edik elemnek két értéke lesz ugyanazon betűnél. Harmadjára kezdve három értéke lesz, stb.
Minden segítséget megköszönök. -
biker
nagyúr
Na, csak ki kellett írjam, és megvan a jó verzió
var resourceUrl = 'myresources.php';
resourceUrl += '&start=' + fetchInfo.start.toISOString();
resourceUrl += '&end=' + fetchInfo.end.toISOString();
resourceUrl += '&timeZone=' + fetchInfo.timeZone;
const request = new Request(resourceUrl);Érdekes, hogy ez meg nem működött
const request = new Request('myresources.php?start=' + fetchInfo.start.toISOString() + '&end=' + fetchInfo.end.toISOString());
Túl akartam egyszerűsíteni?
-
biker
nagyúr
Lenne egy kis segítségkérésem, fullcalendar ügyben.
A support kicsit nehézkes, és bár adnak tanácsokat, egy ponton elakadtam.
Az erőforrásokat nem normál módon kell betöltenem, hanem funkcióként, mert különben egy megjelenítési bugba ütközünk, ehhez a gyári doksi ez
[link]
Ebből is kellene az a verzió, ami start-end időpontot is hozzáad, így valahogyresources: function(fetchInfo, successCallback, failureCallback) {
somethingAsynchonous({
start: fetchInfo.start,
end: fetchInfo.end,
timeZone: fetchInfo.timeZone
}, function(resources) {
successCallback(resources);
});
}
});Viszont egy korábbi debugolás eredményeképpen extra késleltetés is hozzá lett adva a betöltéshez, és így néz ki a kód, amit szintén a support küldött
resources: function(fetchInfo, successCallback, failureCallback) {
const request = new Request('myresources.php'); //lekéri a naptáramat
fetch(request)
.then(response => response.json())
.then(data => {successCallback(data)})
.then(function() {
// workarounds to fix rendering issues after resources are loaded
calendar.render()
calendar.changeView(calendar.view.type)
})
.catch(function(err) {
console.log('Fetch error', err);
failureCallback()
});
},Namost ide hogy illesszem be a start-end paramétereket, hogy megkapja változóként?
Nem vagyok egy js/jquery ninjaAmit eddig tippeltem, nem volt jó
-
martonx
veterán
válasz
kw3v865 #3309 üzenetére
Elég nyilvánvalóan a 'id2+D' szerver oldalon Double-é szeretne fodulni, miközben ez ugyebár nem egy szám, hanem egy string
Hogy mit is szeretnél szerver oldalon kapni, és miért azt rád bízom, ha az a cél, hogy stringként jelenjen meg, akkor gondolom url escapelni kellene a stringedet, vagy valami ilyesmi.
Igaziból a problémádnak semmi köze a jqueryhez. -
kw3v865
senior tag
Sziasztok!
A következő kérdésre keresem a megoldást: adott ez a GET (a számunkra most lényegtelen részeket kiszedtem belőle):
$.ajax('http://xxx', {
type: 'GET',
data: {
sortBy: 'id2',
}
}
)Ez így tökéletesen működik, azonban, ha.
sortBy: 'id2+D',
Akkor ezt a hibát dobja:
java.lang.ClassCastException: java.lang.Double cannot be cast to org.opengis.feature.type.AttributeDescriptor
java.lang.Double cannot be cast to org.opengis.feature.type.AttributeDescriptorÉs ez lesz belőle: sortBy=id2%2BD
Tehát a '+D'-vel van baja.
Ha ezt rendesen URL-lel hívom meg a böngészőbe begépelve (tehát nem ajax-szal), akkor pedig tökéletesen működik.Van valami ötletetek mi okozhatja ezt, és mi lenne rá a megoldás?
-
válasz
fordfairlane #3307 üzenetére
ezer koszonet
-
fordfairlane
veterán
Nem jquery specifikus:
<script>
var nagyszulo = {};
var szulo = Object.create(nagyszulo);
var nemszulo = {};
var gyerek = Object.create(szulo);
console.log(nagyszulo.isPrototypeOf(gyerek)); // true
console.log(szulo.isPrototypeOf(gyerek)); // true
console.log(nemszulo.isPrototypeOf(gyerek)); // false
console.log(gyerek.isPrototypeOf(gyerek)); // false
</script> -
Sziasztok! Hogyan tudom kideriteni a jQuery segitsegevel egy objektumrol, hogy az egy masik objektumbol szarmazik-e?
-
Sk8erPeter
nagyúr
válasz
trisztan94 #3303 üzenetére
Ez esetben szerintem kénytelen vagy a jövőben létrejövő elem szülőelemére is aggatni egy MutationObservert, és figyelni a gyerekelemek változását, hogy mikor kerül hozzáadásra, és amikor a várt elem létrejöttét detektálod, akkor csapod hozzá a további MutationObservereket, ahogy martonx írta. (A szülőelemen childList vagy subtree attribútumok vmelyikével, most telóról vagyok, nem tudom kipróbálni.)
-
martonx
veterán
válasz
trisztan94 #3301 üzenetére
Egyszerű, csak akkor kösd rá a MutationObserver-t, amikor már létezik, azaz amikor a LazyLoad már betöltötte az elemet
-
trisztan94
őstag
Van egy elemem, ami oldalbetöltéskor nem létezik, valamikor a jövőben lesz létrehozva (lazy loados). Arra az elemre szeretném a Sk8erPeter által linkelt MutationObserver-t rákötni, viszont elszáll egy olyan hibával, hogy a megadott elem (nyilván document.getElementById-val hivatkozva) nem egy létező node.
Ha jól emlékszem, lehet jQuery-vel delegálni, viszont arra nem emlékszem, hogy hogyan lehetne azt megoldani, hogy bizonyos function-ök csak akkor legyenek parse-olva, amikor az elem létezik.
Próbáltam:
$('#elem').load(function(){});
$('#elem').ready(function(){});Viszont a callbackban lévő kódra ugyanúgy kapom a hibát.
Valakinek van esetleg ötlete erre?
-
martonx
veterán
válasz
PowerBuldog #3299 üzenetére
Ha csinálsz egy konkrét jsfiddle példát (mondjuk a hülye kérdésre hülye választ ezzel alapból megspórolhattad volna), akkor én vagy bárki más szívesen segít ebben.
-
martonx
veterán
válasz
PowerBuldog #3297 üzenetére
persze
-
PowerBuldog
veterán
üdv
adott lenne 2 legördülő menü.
mindkettőben ugyan azok az értékek vannak
lehetséges-e, hogy ha beállítom az elsőt, akkor a második értéke is ugyan azt felveszi? -
disy68
aktív tag
válasz
PowerBuldog #3292 üzenetére
Szerintem az, hogy disabled-re állítod. Ha később a form a .serialize() -zal lesz kiértékelve, az kihagyja a disabled inputokat.
-
DNReNTi
őstag
válasz
PowerBuldog #3292 üzenetére
Tippem:
A checkbox kattintásra van event listener, ami beállít egy változót, hogy számolja vagy ne a szállítási ktg-et, de ez nem fut le, ha te prop()-al beállítod a checkbox állapotát. Megoldás ha a prop() mellett, beállítod ezt a változót ilyenkor is, vagy a másik: triggert() használsz. Remélem beletrafáltam. -
PowerBuldog
veterán
Sziasztok!
Írtam egy rövid kódot:
jQuery(document).ready(function($){
$('input[name="addon-1131-csomagolasszallitas-1[]"]').prop('checked', true).attr("disabled", true);;
});Szépen működik, kipipálja a szállítási díjat. Azonban az a gondom, hogy amikor a terméket a kosárba rakom nem számolja fel a kötelező szállítási díjat. Azonban ha ugyan ezt a checkboxot kézzel pipálom ki akkor jó.
Mi lehet a baja? -
trisztan94
őstag
válasz
Sk8erPeter #3290 üzenetére
Pont ez kellett, koszi!
-
Sk8erPeter
nagyúr
-
trisztan94
őstag
Hali,
Van egy <span> elemem aminek a tartalma nagyon sok külböző helyről tud módosulni. Ahelyett, hogy mindre kötnék egy eseménykezelőt, magát a <span> tartalmát akarom folyamatosan nézni, és amennyiben módosul a szöveg benne, lefuttatni egy függvényt.
Próbáltam:
$('span').on('change', fn(e){});
$('span').on('contentchanged', fn(e){});
$('span').on('DOMCharacterDataModified', fn(e){});
$('span').on('DOMSubtreeModified', fn(e){});Egyik sem jó.
Valakinek ötlet?
-
Sk8erPeter
nagyúr
válasz
Randomized #3286 üzenetére
Ha jól értettem, valójában szerveroldalon az látszik, hogy tényleg sikeres a belépés - vagy mégsem? -, csak kliensoldalon nem gömbölyű valami, de ezt nem fejtetted ki - igazából a lényeget -, hogy mi is nem működik egész pontosan. Maga az oldal újratöltése nem történik meg? Vagy újratöltés után mégsincs bejelentkezve már a felhasználó, pedig korábban úgy tűnt, hogy be van jelentkezve - tehát mégis szerveroldali a para? Vagy kliensoldalon nem látszik valami úgy, ahogy látszania kellene? Vagy mi (nem) történik?
Ezt az alábbit még azelőtt írtam, hogy visszaolvastam volna, és láttam volna, hogy elméletileg be van jelentkezve a júzer (de lehet, hogy csak úgy tűnik, pedig igazából nem), végül is a benne írtak állnak továbbra is, de mivel itt OFF, meg valószínűleg nem is itt lesz a megoldás, ezért OFF-ba is raktam:
A PHP-kódnál sokat segít hibafelderítés esetén, ha nem nyomod el a hibakijelzést az error_reporting 0-ra állításával (persze kizárólag fejlesztői, nem production környezetben).
Egyébként a potenciális hibák lekezelése finoman szólva nem túl alapos, pl. csatlakozás után egyáltalán nem ellenőrzöd, hogy minden rendben ment-e az adatbázissal való kapcsolat létrehozása során. A mysqli_query visszatérési értékét is érdemes lenne leellenőrizni, mielőtt ráhívsz a visszaadott eredményre egy mysqli_num_rows-t - igaz, ennek elméletileg nullát kellene visszaadnia, ha már eleve előtte a query sem futott le helyesen.
A mysqli_real_escape_string-es bohóckodás nagyon rossz és rég elavult gyakorlat, helyette parametrizálni kell a query-t (lásd itt), és a nyelvi eszközök pedig elintézik, hogy az átpasszolt paraméterek le legyenek kezelve (rosszindulatúság és egyéb szempontokkal kapcsolatban).
Másik hiba: beállítod az $errors['pass']-t, és aztán később ellenőrzöd, hogy !isset($errors['userpass'])-t.(másik kulcs, pass vs. userpass...
) Egyébként sem sok értelmét látom, hogy más kulcsot használsz fel az $errors tömbödben, mint az eredetileg klienstől (a formban az adott mező name attribútuma formájában) kapott kulcsoknál.
Egyébként mysqli-nél szerintem nagyon csúnya a procedurális formula, az objektumorientált API nem véletlenül áll rendelkezésre, de persze ízlések és pofonok. -
martonx
veterán
válasz
Randomized #3284 üzenetére
Nos ez esetben nincs más dolgod, mint debugolva megnézned, hogy mi történik / nem történik meg. PHP-t xdebug-al tudod debugolni, javascriptet meg a kedvenc böngésződdel.
-
Randomized
csendes tag
válasz
Sk8erPeter #3285 üzenetére
Script:
$(document).ready(function(){
var alert = $('#alert');
$("form:not('#regis'):not('#ranglista')").submit(function(e){
e.preventDefault();
var triggeredform = $(this);
$.ajax({
type: 'POST',
url: pageurl+$(this).attr('action'),
data: $(this).serialize(),
dataType: 'json',
encode: true
})
.done(function(data){
console.log(data);
if(!data.success){
//Ha nem sikerül
var errormessage = '';
$.each(data.errors,function(index,value){
errormessage = errormessage + value + '<br/>';
})
alert.css("background","#990000").html(errormessage).fadeTo(500,0.8).delay(3000).fadeOut();
}
else
{
//Ha sikerül
alert.css("background","#00FF00").html(data.message).fadeIn().delay(2500).fadeOut();
console.log(this);
// triggeredform.fadeOut();
if(data.reload == true)
{
window.setTimeout(function(){
window.location.href = pageurl+data.tourl;
},data.timeout * 1000)
}
}
}).fail(function(data){
alert.css("background","#FF0000").html("Szerver oldali hiba").fadeTo(500,0.8).delay(5000).fadeOut();
});
});
});Feldolgozó PHP:
<?php
error_reporting(0);
require("config.php");
require("functions.php");
session_name("MyHomePage");
session_start();
$conn = mysqli_connect($conf_host, $conf_user, $conf_password);
$errors = array();
$data = array();
if(empty($_POST['userid']))
{
$errors['user'] = 'Nem adtál meg felhasználó nevet!';
}
if(empty($_POST['userpass']))
{
$errors['pass'] = 'Nem adtál meg jelszót!';
}
if(!isset($errors['user']) && !isset($errors['userpass']))
{
$user = mysqli_real_escape_string($conn,$_POST['userid']);
$pass = mysqli_real_escape_string($conn,$_POST['userpass']);
$query = mysqli_query($conn,"SELECT * FROM hp.users WHERE name LIKE '$user' AND password=PASSWORD('$pass') LIMIT 1");
if(mysqli_num_rows($query) != 1)
{
$errors['login'] = 'Hibás felhasználó név vagy jelszó!';
}
}
if(!empty($errors))
{
$data['success'] = false;
$data['errors'] = $errors;
}
else
{
$userinfo = mysqli_fetch_object($query);
$_SESSION['user_id'] = $userinfo->id;
$_SESSION['user_name'] = $userinfo->name;
$_SESSION['user_rank'] = $userinfo->rank;
$data['success'] = true;
$data['message'] = "Sikeres bejelentkezés!";
$data['reload'] = true;
$data['tourl'] = "/?oldal=felhasznalo";
$data['timeout'] = 0.5;
}
echo json_encode($data);
?> -
Sk8erPeter
nagyúr
válasz
Randomized #3284 üzenetére
Az a baj, hogy a hibaleírásból még az sem derül ki egyértelműen, hogy melyik "szereplő" lehet a probléma okozója, mert konkrétabb kódrészletek vagy pontosabb körülírás nélkül nem lehet kitalálni. Némi kód előrébb vihet.
-
martonx
veterán
válasz
Randomized #3282 üzenetére
Remélem érzed, hogy ezt a kérdést a PHP topikban kellene feltenned?
-
Randomized
csendes tag
Sziasztok!
Egy kis segítségre lenne szükségem jQuery-AJAX-PHP kombinációban, remélem jó helyen járok.
Szóval fejlesztek egy weboldalt, minden okénak tűnt. Windows-on tesztelem XAMPP programcsomaggal, localhost-on szoktam tesztelni. Megpróbáltam havernak megmutatni, hogy tesztelje le a dolgokat, hátha talál benne hibát, de neki nem volt jó egy része (mindjárt írok részleteket is). Szóval megpróbáltam én is, nálam jó volt (megint csak localhoston próbáltam). Utána megpróbáltam én is úgy, hogy beírtam az IP-címemet, azzal nekem sem volt jó.Egy olyan dolgot akartam megcsinálni, hogy például regisztrációkor a script elküldi a form tartalmát egy PHP-nak, ami feldolgozza az adatokat, és értesíti a felhasználót az oldal újratöltése nélkül az eredményről.
Bejelentkezésnél is hasonló a helyzet. Kiírja, hogy sikerült bejelentkezni, de mégsem működik a dolog.$_SESSION-al oldanám meg, ha ez számít.
Tehát ha "localhost" címen próbálkozok, akkor jó, de ha bármilyen IP-címen próbálkozok (pl. 127.0.0.1, 192.168.1.109) akkor a PHP-tól megkapja a választ, a php temp mappájában látszik is, hogy létrehozza a session adatait tároló fájlt, megnyitom és valóban benne vannak, a dolgok, amiknek ott kell lenniük.
Remélem valaki tudja, hogy miért csak akkor működik, ha localhoston nyitom meg az oldalt. Előre is köszi a segítséget
-
biker
nagyúr
Én is erre jutottam, hogy a beírás az aktiválná az onchanget, de utána ha módosítom, már nem jó
Kipróbálom, mi van ha fókusz elvételre hívom az eseményt
Amúgy kiraktam változóba, és ott bizgetem. De ugye azt is csak akkor, ha vonalkód olvasó volt. Kézzel tudsz ö betűt ütni ha akarsz, pl szörp -
dqdb
nagyúr
marhára nem readonly, símán működött a felülírás safariban
Az, hogy egy implementáció mit enged meg és mit nem, az nem érdekes jelen esetben. Az, hogy a szabvány szerint readonly, az az igazán érdekes. Onnantól kezdve, hogy te módosítasz egy egy ilyen mezőt, a böngésző erre adott reakciója nem lesz előre megjósolható (egy JS-ból lekezelhető exception lenne a legtisztább erre). Valószínűleg az esetedben az event handler hatására a Safari JS implementációja vagy egyszerűen dob egy exceptiont belül, és emiatt szakad meg az eseménykezelési lánc, vagy a visszatérése után észreveszi, hogy megváltozott az esemény, és ennek hatására úgy dönt, hogy ez már nem az az esemény, és megáll a feldolgozásával.Hát azt hiszem kihagyom, megvárom míg használható lesz. Vagy mi a jó alternatíva?
Például az ilyen esetekben helyes fallback. Ha van KeyboardEvent.key, akkor azt használod, ha nem, akkor jöhet a legacy megoldás. Amúgy ez a mező is readonly.Két megoldásod van:
1. te kezeled le a billentyűzeteseményeket teljesen, és módosítod a mező értékét ennek megfelelően
2. az átfordítandó billentyűzeteseményt lenyeled, és generálsz helyette egy új billentyűzeteseményt -
biker
nagyúr
-
biker
nagyúr
értem, hogy a which deprecated, de ez nem válasz a problémára.
kiraktam külön változóba, és lecseréltem, bár marhára nem readonly, símán működött a felülírás safariban
Uganúgy nem hívódik meg az onchange esemény, mint eddig
ha olyan kódot olvasok be, amiben nem módosítom a 0-ö párost, lefut ha tab-al kilépek belőle, ha módosulós, nem fut le.ezt hogy?
mindjárt levideózom.itt a video (ami lemaradt, ha copy-paste a 5999561010311 kód akkor is lefut az onchange event)
1-2 mezőket kézzel írtam be, utána mindent vonalkóddal, látható, meg se hívja az eseményt, és nem az a baj, meghívja, de nem találja a terméket
[link] -
disy68
aktív tag
Egyrészt az event.which használata nem ajánlott, depricated állapotú. Másrészt ez egy read-only property, úgyhogy nem tudod felülírni. Rakd ki külön változóba és azt ellenőrizd.
-
biker
nagyúr
Lenne egy újabb érdekesség
Van itt egy kódocska, ami figyeli, hogy vonalkód olvasóval írtak a be az input mezőbe
Ha igen, akkor többek közt lefut egy ellenőrzés is, hog jött e ö betű. Sajna van pár occsó vonalkód olvasó, amiben se ascii mode, se numpad emu mode, se magyar kiosztás nincs, így ö betűt küld nullára.
A trükk ott kezdődik, hogy ez tökéletes, de ha benne hagyom azt a sort, ahol írtam "ezzel van a baj", és olyan kódot olvasok le, amiben volt nulla, akkor a mezőt elhagyva nem triggerelődik egy másik on('change' function) hívás!Tehát ha olyan vonalkódot olvasok le, amiben nem volt nulla, és ezért nem cserélt ki ö-t nullára, akkor ha beírtam, és elhagyom a mezőt, meghívja az on change-t, ha volt benne nulla, és ezért kellett ö-t nullára cserélni, akkor beírás és elhagyáskor nem hívja meg az adott on change elemet.
ez normális dolog?
$(document).ready(function() {
var pressed = false;
var input_mezo;
var chars = [];
$(window).keypress(function(e) {
if (e.which==246) e.which=48; //ezzel van a hiba!
if (e.which >= 48 && e.which <= 57) {
chars.push(String.fromCharCode(e.which));
}
console.log(e.which + ":" + chars.join("|"));
if (pressed == false) {
setTimeout(function(){
if (chars.length >= 8) {
var barcode = chars.join("");
console.log(window.input_mezo + "Barcode Scanned: " + barcode);
$(window.input_mezo).val(barcode);
}
chars = [];
pressed = false;
},500);
}
pressed = true;
});
}); -
biker
nagyúr
válasz
fordfairlane #3273 üzenetére
Valami hasonló lesz valóban a megoldás.
-
biker
nagyúr
válasz
fordfairlane #3270 üzenetére
Teljesen igazad van, jelen esetben viszont a feldolgozó rendszert érdekli némely gomb neve
Nem mindé, csak pár -
pckownz
őstag
if ( jQuery('.csomag.col-md-12').children().length >0 ) {
//donothing
}
else {
jQuery('.csomag.col-md-12').css('display', 'none');
};Ha jol gondolom ez igy nem lesz tul effektiv egy tobbszor elofordulo div eltuntetesere, amennyiben tenyleg ures. Mivel tudnam a legpontosabban (es gyorsan) meghatarozni az adott ures divet?
-
biker
nagyúr
szuper, köszi.
Egyszer csináltam olyat, hogy X checkbox pipálás esetén a mellette lévőt is pipálja be, ott mintha a closest megoldás lett volna, de lehet rosszul emlékeztem.
Kikeresem...
ja, nem, az is next ber elem előtti következő checkbox volt, vagyis saját sorában a mellette lévő. -
disy68
aktív tag
Azért, mert azt írtad
. Amúgy ebben a formában nem túl optimális a dolog.
Ez illeszkedik az összes submit gombodra $(":submit") és majd a hozzájuk legközelebb eső form-ra closest("form") magyarul az összes formodra -> $("form").
Az eseménykezelődön belül pedig az összes submitra állítasz disabled attributumot.
Az eseményeknél használhatod az event.target és az event.currentTarget property-ket jQuery-nél is, ha az esemény kiváltójára akarsz hivatkozni pl. $(event.currentTarget)
Összerakva a fentieket:
$("form").submit(function(event){
// ha csak az adott form submitjára illeszkedjen
$(event.currentTarget).children(":submit").attr('disabled', 'disabled');
// ha az összesre, akkor az általad írt
$(':submit').attr('disabled', 'disabled');
}); -
biker
nagyúr
$(":submit").closest("form").submit(function(){
$(':submit').attr('disabled', 'disabled');
});ez a kód miért disabledeli az összes submit buttont, nem csak azt amit nyomtam?
Amúgy nem hiba, mert ok, el lett küldve, és újratölt az oldal, de fura, hogy minden gomb disabled lesz -
dqdb
nagyúr
válasz
Sk8erPeter #3258 üzenetére
Ááá, dehogy, főleg annak tükrében, hogy egyikünk se fogja valószínűleg sosem használni ezt a controlt
Én végig úgy értettem a konzekvenciát, hogy önmagukon belül konzekvensek, egyszer meghozták ezt az elnevezési szabályt, és azóta az összes komponensüknél használják az event handlerek elnevezésére: jelen idő esemény előtt, befejezett múlt idő esemény után.
Amúgy máshol van close/closed és show/shown
-
dqdb
nagyúr
válasz
Sk8erPeter #3256 üzenetére
Igen, elég egyszerű lett volna elintézni, hogy ne egy darab, alig észrevehető karakterben (e) térjenek el.
vs
Legalább próbálnak konzekvensek lenni, csak ez most kissé bénán jött ki.
Én a konzekvenciára szavazok minden ilyen esetben, még akkor is, ha az néha bénán jön ki. És lássuk be, akkor lett volna/se lett volna rajtuk sapka, ha az eseményt nem slide-nak nevezik el, amikor netszerte mindenki ezen a néven illeti
-
Sk8erPeter
nagyúr
Igen, elég egyszerű lett volna elintézni, hogy ne egy darab, alig észrevehető karakterben (e) térjenek el.
Amúgy persze, értem az okokat, de ez jelen formájában béna.
Főleg, hogy "belül" a sliding szócskát használják (miért nem lehetett akkor azt használni az eseménynél is?):
http://getbootstrap.com/dist/js/bootstrap.js
var Carousel = function (element, options) {
this.$element = $(element)
this.$indicators = this.$element.find('.carousel-indicators')
this.options = options
this.paused = null
this.sliding = null
this.interval = null
this.$active = null
this.$items = null
...Azért a kódban külön megjegyzik, hogy "// yes, slid"
var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" -
dqdb
nagyúr
válasz
Sk8erPeter #3251 üzenetére
Ez mennyire brutálisan béna a Bootstrapnél, hogy egyetlen karakterben tér el a két event, "slide.bs.carousel", illetve "slid.bs.carousel", úristen, ezt még nem is láttam.
Többféle iskola van különböző frameworkokben a before és after események elnevezésére:
1. jelen idő és múlt idő, így lett slide és slid
2. jelen idő és befejezett múlt idő, a Bootstrap szerintem ezt használja, és nem az előzőt, így lett slide és slid
3. folyamatos jelen és múlt idő, ekkor sliding és slid lenne
4. before prefix és jelen idő, ekkor beforeslide és slide lenne
5. és így tovább ...Legalább próbálnak konzekvensek lenni, csak ez most kissé bénán jött ki. Én a 4. pontban vázolt megoldást szeretem, mert ott nem okoz gondot, ha egy igének a jelen és múlt ideje megegyezik (például read)
-
pckownz
őstag
Hol van az aktualis "hatar", ahol mar a teljesitmeny rovasara megy a js?
Van barmi eszkoz amivel merni lehet a performance-ot? (Lehet akar html+css is)
Vagy manapsag mar nem kell ilyen miatt aggodni, normalis korulmenyek kozott?
-
Sk8erPeter
nagyúr
válasz
trisztan94 #3249 üzenetére
Hogy mi? Ez komoly, hogy úgy akarod megoldani a problémát, hogy 5 másodpercenként ránézel az elemre, hogy mi a helyzet vele?
(#3248) disy68:
Ez mennyire brutálisan béna a Bootstrapnél, hogy egyetlen karakterben tér el a két event, "slide.bs.carousel", illetve "slid.bs.carousel", úristen, ezt még nem is láttam.Ilyen alapon lehetett volna akár "slide.bs.carousel" és "slide.bs.carouse" is, hasonlóan lehetne érteni és észrevenni a különbséget. Micsoda egy idióta, aki ezt kitalálta.
-
pckownz
őstag
Koszi, ez a fiddle segitett. Vegul megszuletett a vegeredmeny:
jQuery('#slider-home').on('slid.bs.carousel', function(){
var color = jQuery( '.carousel-indicators li.active' ).children().css( "background-color" );
jQuery("#slider-home").css('background-color', color );
});(#3249) trisztan94
Koszi neked is
Lehet nem a leg elegansabb megoldas, de szenvedve tanul az ember
-
trisztan94
őstag
válasz
pckownz #3247 üzenetére
Itt mindenképp disy68 válasza a megfelelő, azonban ha bármi más esetben akarod nézni folyamatosan az osztályok változását, kénytelen vagy setInterval()-al csekkolni.
Valahogy így:
var $e = $('#akarmi');
var interval = setInterval(function() {
if($e.hasClass('osztaly') {
// van
} else {
// nincs
}
}, 5000);Törölni az ellenőrzést pedig:
clearInterval(interval);
Ezt ellenőrzés nélkül írtam, szóval lehetnek szintaktikai hibák.
-
disy68
aktív tag
válasz
pckownz #3247 üzenetére
Nem használok bootstrap-et, viszont a doksijában olvasható, hogy 2 eseményt is generál.
1, slide.bs.carousel -> indul váltás
2, slid.bs.carousel -> kész a váltásEzeket tudod használni, mindkettőben elérhető az aktiválásra kerülő/került elem, valamint az irány. Lásd fiddle.
-
pckownz
őstag
Van barmilyen fuggveny arra, hogy figyelje egy elementen beluli classok valtozasat?
-
Dtomka
veterán
Sziasztok!
Találtam egy jó képnézegetőt. simplelightbox
A problémám az, hogy ha az eredeti képe(ke)t lecserélem, akkor eléggé bizonytalan a működése. Annyit csináltam, hogy megdupláztam a
<div class="container">
<h1 class="align-center">Simple Lightbox Demo Page</h1>
<div class="gallery">
<a href="images/image1.jpg" class="big"><img src="images/thumbs/thumb1.jpg" alt="" title="Beautiful Image" /></a>
<a href="images/image2.jpg"><img src="images/thumbs/thumb2.jpg" alt="" title=""/></a>
<a href="images/image3.jpg"><img src="images/thumbs/thumb3.jpg" alt="" title="Beautiful Image"/></a>
<a href="images/image4.jpg"><img src="images/thumbs/thumb4.jpg" alt="" title=""/></a>
<div class="clear"></div>
<a href="images/image5.jpg"><img src="images/thumbs/thumb5.jpg" alt="" title=""/></a>
<a href="images/image6.jpg"><img src="images/thumbs/thumb6.jpg" alt="" title=""/></a>
<a href="images/image7.jpg" class="big"><img src="images/thumbs/thumb7.jpg" alt="" title=""/></a>
<a href="images/image8.jpg"><img src="images/thumbs/thumb8.jpg" alt="" title=""/></a>
<div class="clear"></div>
<a href="images/image9.jpg" class="big"><img src="images/thumbs/thumb9.jpg" alt="" title=""/></a>
<a href="images/image10.jpg"><img src="images/thumbs/thumb10.jpg" alt="" title=""/></a>
<a href="images/image11.jpg"><img src="images/thumbs/thumb11.jpg" alt="" title=""/></a>
<a href="images/image12.jpg"><img src="images/thumbs/thumb12.jpg" alt="" title=""/></a>
<div class="clear"></div>részt ami a body-n belül található. Bár nem hiszem, hogy ez okozza a gondot. Az alábbi problémát adódnak:
Van amikor megjeleníti az thumb képet, van amikor nem. Illetve a képre kattintva, csak töltés jelet mutatja.
A képeket méreteztem, thumb : 600x300 a normál képet 2000x1333 -ra.
Nem értem mi lehet a probléma
A segítséget előre is köszönöm! -
Karma
félisten
válasz
Sk8erPeter #3240 üzenetére
Találtam egy "kicsit" régi cikket, ami demonstrálja, hogy ez a billentyűdetektálás mekkora katasztrófa (volt) a böngészők között. Ezek szerint egy állítás biztosan igaz maradt: "In general, detecting keys on Mac is much, much more difficult than on Windows."
Ez frissebb és van benne szó a numpadról is. Csodás. Nagyon azért kiált, hogy találjon/írjon az ember egy specializált libet, amivel ezeket kiegyengeti.
-
biker
nagyúr
válasz
Sk8erPeter #3240 üzenetére
Firefoxban még rosszabb
itt a 0 is nulla és az ö is nulla, extra, az üóőúáéű betűket értelmezni se tudja"Most bevallom, ezt a magyarázatot nem értettem, hogy "a billentyűzet kiosztás felülírást (nevezzük így) más rétegben alkalmazza, mint a win". "
Nem tudom szebben leírni, mert nem vagyok hardver tervező mérnök
Van a billentyűzet mátrix, mint fizikai réteg. Ezen két pontot összekötünk a 255-ből, akkor lesz egy gomb lenyomás. legyen az ö a 49 mindegy
Ezt kell az alkalmazás rétegig haladva valahol átalakítani 0-vá ha X kiosztásod van, ö-vé ha Y kiosztásod van, és pl $-á ha Z kiosztásod van, igaz?
Nos, ha a jquery még ezen átalakítás előtt vagy után kéri le a keycode-ot, valószínű mást fog visszaadni, nem azt, mint amit valójában az alkalmazás réteg kap.
Itt esetleg az a kérdés, lehet hogy WIN/linux esetén (bár az osx is unix, és a linux is unix like) lehet, hogy ha ö-t(49) nyomok, akkor kiosztástól függően átírja hogy az 13 vagy 32 vagy 191 charcode, míg osx megtartja a charcode-ot, és a megjelnítendő karaktert írja csak felül
(ugye itt vannak korlátlan egyedi kiosztások is, mi is aszt használjuk, hun, hun pro, hun ext pro, és a gyári magyar, más az alt-ctrl alatti billentyűk kiosztása ekkor) -
Sk8erPeter
nagyúr
Most bevallom, ezt a magyarázatot nem értettem, hogy "a billentyűzet kiosztás felülírást (nevezzük így) más rétegben alkalmazza, mint a win". No de miért tűnik kifejezetten OSX-specifikusnak tűnik a probléma, és se Windows-nál, se Linuxnál nem jelentkezik? Most kipróbáltam egy öregecske Fedora Linuxon, ott is helyesen működik (ez volt épp kéznél, igaz, virtuális gép formájában, ami elképzelhető, hogy megint változtat picit a képleten, de egyébként korábban sem tapasztaltam ilyen jellegű parát Linuxon).
Még esetleg Firefoxban csak kíváncsiságból meg tudnád nézni, ha kéznél van? Ha ott is ugyanez van, akkor legalább általános, és tényleg számolni kell ilyen gonddal OS X-nél, és jó tudni...
-
biker
nagyúr
válasz
Sk8erPeter #3238 üzenetére
Mint látod, ez böngésző független.
Szerintem pusztán annyi az oka, hogy a billentyűzet kiosztás felülírást (nevezzük így) más rétegben alkalmazza, mint a win, hiszen ha megnézed, tök mindegy, milyen betűkiosztással írok, magyar esetén 0, angol esetén § lenne a bal felső sarok első billentyű, mindig ´ jelet fog érzékelni a jquery.
Mintha külön sandboxban futna még a billentyűzet is -
Sk8erPeter
nagyúr
-
biker
nagyúr
válasz
Sk8erPeter #3235 üzenetére
[link]
Ez chromeban készült, kedvedért screen recorderrel, + kiraktam a kyboard viewert is, lásd, mit nyomok éppen, és milyen kód jön vissza
És ezért kapok idegbajt, ha keycode check van -
Sk8erPeter
nagyúr
Ki tudnád próbálni a kedvemért egy normális böngészővel is, tehát ami nem Faszari? Csak úgy kíváncsiságból, mert még mindig nem értem, hogy az OSX ilyen retardált-degenerált, hogy egy normális keyboard layout beállítás is el van rontva, olyan almásan, vagy az Apple-nek csak a csodálatos büszkesége, a böngészőjük ilyen okos...
Köszi!"szarul beállított karakterkódolás és beviteli ellenőrzés mellett ez miatt nem tudod beütni a születési időd, vagy telefonszámod, akkor az van, hogy magyar bill esetén 1-9 és ö betűt tudsz bevinni"
Hogy jön ide a karakterkódolás?"Ha nincs ott a user mellett egy alapfokú IT ismeretekkel rendelkező ember, aki segít angol billre váltani, az megszívta. (ha a laptopján pl nincs numpad)."
Hát ez nekem még mindig nagyon furcsa. Ha magyarra van állítva operációs rendszer szintjén a kiosztás, és a magyar billentyűzeten a felhasználó a megfelelő gombot nyomja le, akkor a 0-nak kellene előjönnie a 0 lenyomására. Szóval ez nekem elég egyedinek tűnik, valami Apple-höz kötődőnek (mindegy, hogy csak Safari vagy már kapásból az OSX szintjén), ilyet legalábbis Windows-nál és Linuxnál nem tapasztaltam.
Amúgy ha már numpad van, akkor ott meg az a potenciális hibaforrás, ha a Num Lock ki van kapcsolva... -
biker
nagyúr
válasz
Sk8erPeter #3232 üzenetére
na ez a jsfiddle is mutatja: magyar kiosztás, osx, safari, az ö betűre 0-t ír ki, és 48-as kódot
0-ra meg 192 aposztróf
é helyett ; és sorolhatnám. Holott magyar kiosztással gépelek. -
biker
nagyúr
válasz
Sk8erPeter #3232 üzenetére
Nos, problem1: amikor (nem az én weblapomon volt) szarul beállított karakterkódolás és beviteli ellenőrzés mellett ez miatt nem tudod beütni a születési időd, vagy telefonszámod, akkor az van, hogy magyar bill esetén 1-9 és ö betűt tudsz bevinni, de a 100 helyett 1öö az hülyén néz ki. Ha nincs ott a user mellett egy alapfokú IT ismeretekkel rendelkező ember, aki segít angol billre váltani, az megszívta. (ha a laptopján pl nincs numpad).
Bár a numpadot is saját tapasztalat, ha nem könyvelő vagy más excel barát user kezeli a gépet, a numpad érintetlen, és nem is tudja, hogy ott is lehet számot ütni.Az én esetemben meg azért gáz, ha ilyen helyre vonalkódolvasót vesznek, mert egyes übergagyi olvasókkal jártunk már úgy, hogy ismert 15 karakterkisoztást, csak magyart nem, és valamiért se az ascii kódolás se a numpad emuláció nem volt jó (linux) és csak keverte a 0-ö elemeket. Szégyenszemre azt kellett beállítani, hogy két kiosztás, alttal vált lenyomás idejére, és alt+trigger volt a scannelés, ekkor angolul scanelt, és visszaváltott magyarra
Tudom, mi a retekért vesz 3.000Ft-os olvasót, és miért használ XP-t és miért próbál szar oldalakon dolgozni. De ez a kérdés nem segít
-
Sk8erPeter
nagyúr
"Charcodeban más a numpados 0 meg a felső számsoros"
Persze, más: a fölső számsor 0-ja 48-as kódú az ASCII-táblának megfelelően, a numpados 0 pedig 96-os (ASCII-tábla szerint ez a grave accent (`)). A fölső számsoros 0-t lenyomva magyar billentyűzetnél, de az operációs rendszerben US QWERTY layoutot alkalmazva (tehát ahol például problémát jelenthet a 0 és ö betűk közti különbség) 192 (À, Latin capital letter A with grave a Windows 1252 szerint) a keyCode/which (amúgy az eventhez tartozó charCode, keyCode és which deprecated az MDN szerint, nem tudom, miért, ha a code és key property-k jelenleg nem működnek, pontosabban a key csak Firefoxban azt hiszem, Blink-alapúakban még egyik sem).Viszont kérdés, hogy ez esetedben miért számít egyáltalán, ha úgyis barcode scannerrel viszitek fel az adatot?
"Ha be akarok lépni, angolra kell váltani a billt, hogy az ö helyén nulla legyen, ha nincs kéznél a numpados billentyűzetem"
Ezt viszont nem értettem. A tenkeyless keyboard esetén is a fölső számsorban is található egy 0 gomb, meg mivel magyar billentyűzetet használsz, egy ö betű is a számok mellett. Miért kell átváltani a kiosztást a tényleges 0 gomb megnyomása helyett?Amúgy ha érdekelnek a pontos keycode-ok csak úgy gyors ellenőrzésre, hogy épp mit nyomsz le, mi a keyCode-ja (még ha az deprecated is azóta
), valamikor nagyon régen csináltam még ilyet magamnak:
http://jsfiddle.net/Sk8erPeter/EAjYe/ -
biker
nagyúr
válasz
Sk8erPeter #3229 üzenetére
Charcodeban más a nimpados 0 meg a felső számsoros
És a felső számsoron ha letiltják a leüthető billentyűket, nem tudsz nullát ütni csak 1-9-ö
Temérdek ilyen elqrt js validatoros oldal van, elég csak az oktatas.hu példának
Ha be akarok lépni, angolra kell váltani a billt, hogy az ö helyén nulla legyen, ha nincs kéznél a numpados billentyűzetem
De vonalkód olvasó is macerás ilyenkor -
biker
nagyúr
válasz
martonx #3224 üzenetére
onfocus nem jó, mert mi van, ha rááll, de még nem veszi fel a vonalkód olvasót? letelik az idő
ezért kell az első leütéstől mérniamúgy a szolgáltató kérése, hogy ne lehessen beütni, csak vonalkód olvasóról (ami szerintem egy ctrl+v és kikerülve) meg veszít vele esetleg ügyfelet is...
-
martonx
veterán
Ezzel kicsit játszani kellene, de annak szerintem semmi akadálya nincs, hogy egy flag-el jelezd js oldalon, hogy engeded-e még a bevitelt.
Ettől kezdve pedig nincs más dolgod, mint egy settimeout-al 1 másodperc múlva átbillenteni a flag-et.
Persze adódik a kérdés, hogy és mikor álljon vissza ismét írhatóvá az input (azaz mikor álljon vissza a flag, és engedje újból a bevitelt)?
Nem tűnik bonyolultnak, amit akarsz, csak el kellene vele egy kicsit szórakozni, illetve szerintem nem is lesz túl felhasználóbarát.Sőt jobban belegondolva én úgy csinálnám, hogy elkezdeném mérni a bevitel idejét (mondjuk az onfocus-tól kezdve). Ha 1 másodperc alatt kész lett, akkor maradhat. Ha nem lett kész és még pötyög, akkor kuka.
Vagy nem is tudom, mi lenne a jó módszer megkülönböztetni a bemenő adatokat, hogy vonalkód olvasótól, vagy billentyűzettől származnak-e? -
biker
nagyúr
Felélesztem a topikot egy érdekes kérdéssel
Adott egy input text field
Limitálni kell, hogy mennyi ideig lehet számokat bevinni, vagyis az első bill leütéstől 1mp belül le kell tiltani a bevitelt, de ne úgy, hogy el se küldje
Oka, csak vonalkód olvasó számait lehessen beolvasni, ne lehessen kézzel beírni a számokat
Tipp? Google nem segít, vagy csak azt dobja fel, hogy lehet idő formátumot bevinni -
martonx
veterán
válasz
krysn95 #3220 üzenetére
Fordítsuk meg a dolgot. Te valamit szeretnél, de nem tudjuk mit, neked pedig fogalmad sincs, hogy lehetne legjobban megvalósítani amit szeretnél, ezért maradsz az ötletelésnél és a felmerülő ötleteidre való kérdezésnél.
Nem lehetne, hogy ne azt kérdezd meg, hogy így meg úgy meg lehetne-e valami köztes lépést valósítani ahhoz, amit akarsz, hanem azt kérdeznéd meg, hogy hogy lehetne megvalósítani azt amit akarsz? És mindezt ne végre a jquery topikban hanem mondjuk az általános programozás topikban?
-
krysn95
csendes tag
..akkor talán valami egyszerűbb kérdés:
Hogyan tudom azt megvalósítani, hogy egy adott weblap megnyitására csináljon valamit a gép.
Konkrétan:HA
Egy konkrét weboldalt megnyitok Chrome-ban (pl--> www.peldaurl.com)AKKOR
Jelölje ki a weblap teljes szövegét (mondjuk szimulálja a ctrl+a bill kombót)
Kattintson jobb egérrel egy megadott helyre
Kattintson bal egérrel egy megadott helyre
Várjon X mp-et
Zárja be a konkrét weblapotLehetséges ilyet megvalósítani valami okos programmal? Pl Eventghost tud ilyet? Hátha ismeri valaki)
Nagyon hálás vagyok minden tippért.
Köszönöm!!
-
krysn95
csendes tag
az nem megoldás ha csak nekem szükséges felismert szöveg részt kimásoltatom úgy,hogy az értelmezhető legyen egy másik program számára (és így nem kell a Chromból másik programot indtani)? (elnézést ha hülyeséget írok, de láttam videót ahol ugyanezzel a Chrome bővítménnyel megvalósították mindezt)
-
dqdb
nagyúr
válasz
krysn95 #3217 üzenetére
Továbbra sem érted, hogy itt böngészős megoldás esetén nem a szövegrész felismerése/megkeresése a showstopper probléma, hanem az, hogy nem tudsz Chrome-ból tetszőleges programot elindítani (csak trükközve, külső, egyedi fejlesztésű programmal megtámogatva, native messaging útján). És ez továbbra sem jQuery probléma.
Amúgy Windows Vista óta van ilyesmire out-of-the-box lehetőség is, igaz, pár nyelvre korlátozottan: [link]
-
krysn95
csendes tag
válasz
martonx #3213 üzenetére
Köszönöm szépen a segítőkész tippeket.
Igen, sejtettem, hogy nem feltétlenül idevaló a kérdés (de ahogy írtam is telljesen laikus vagyok)Kerülőutakat javasolnék, mint pl. írni egy normális klasszikus programot, ami a mikrofonba bemondott szöveget továbbítja valami 3rd party beszédfelismerő felé, majd az onnan kapott választ parse-olja, és az alapján elindítja neked az XYZ programot.
Ez részben meg is van, hiszen ez a Chrome bővítmény épp ezt csinálja-->[link]
Felismeri és írássá alakítja a hallott szöveget. Innen már "csak" annyi a feladat, hogy ezt a szöveget (és ez van a képen bekarikázva feljebb) értelmezze egy program, hogy parancsot lehessen hozzá rendelni.
A cél az volna, hogy ha ebben a szövegben egy bizonyos szó vagy szóösszetétel szerepel, akkor arra futtasson egy programot a gép (win)--> röviden: egyfajta hangvezérlés megvalósítása a feladat
Pl.:
A megjelenő (tehát bemondott) szöveg: Indítsd el az XYZ programot
Betanított reakció: (ha a szövegrész tartalmazza az "XYZ" szót, akkor indítsd az XYZ programot) XYZ indítása.Erre kellene valami tipp az itteni zseniktől..ha egyáltalán van rá valami megvalósítható megoldás.
köszönöm szépen!
-
dqdb
nagyúr
válasz
martonx #3213 üzenetére
ilyet böngészőben futva nem fogsz tudni csinálni
Chromium esetén bővítményből native messaginget használva tud, de ahhoz persze meg kell írni a bővítmény natív felét is.Másik lehetőség egy olyan natív alkalmazás, amely HTTP-n keresztül figyel, és böngészőből azt vezérli (a Node.js adja magát erre a feladatra).
Az egészben a legizgibb a 3rd party beszédfelismerő, hogy van-e ilyen.
Például a Microsoft Speech API ilyen, közel 20 éve létezik, ahhoz úgy rémlik, létezik ilyen példaprogram (10+ éve foglalkoztam vele utoljára, akkor is beszédszintézisre használtam, nem parancsfelismerésre, szóval lehet, hogy nem talált a tippem). -
martonx
veterán
válasz
krysn95 #3211 üzenetére
Akkor tisztázzunk pár dolgot:
ilyet böngészőben futva nem fogsz tudni csinálni, mivel szép is lenne, ha bárki futtatna bármit a gépeden a böngészőből, ha éppen úgy tartja kedve.
Kerülőutakat javasolnék, mint pl. írni egy normális klasszikus programot, ami a mikrofonba bemondott szöveget továbbítja valami 3rd party beszédfelismerő felé, majd az onnan kapott választ parse-olja, és az alapján elindítja neked az XYZ programot.
Az egészben a legizgibb a 3rd party beszédfelismerő, hogy van-e ilyen, mert a Chrome böngésző a webes szabvány Speech API-t használja, de azt meg nem tudod kívülről meghívni.
-
Zedz
addikt
válasz
krysn95 #3211 üzenetére
Szia,
Mármint magán a gépen szeretnél valamilyen parancsot futtatni? Mert attól tartok ez nem lehetséges. Mármint jQueryvel nem hiszem, hogy ezt meg lehetne valósítani. Ez a lib általában megkönnyíti a DOM-mal való munkát, van benne pár hasznos és előre megírt function, de amire Te gondolsz arra nem ez való. Ajánlanék helyette mást, de ilyennel még nem foglalkoztam.
-
krysn95
csendes tag
Sziasztok!
Totál laikusként írok most, de csak itt számíthatok segítségre, így kérlek nézztek el az ügyetlenségem.
Szóval, arra keresek megoldást, hogy egy forráskódban lévő szöveget vizsgáljon meg a gép és ha egy bizonyos szó megtalálható benne, akkor arra futasson egy megadott parancsot. Remélem érthető így. Csatoltam egy képet a kódról, amiben a bekarikázott szövegrészt kellene vizsgálni. Ez a rész folyamatosan változik és ebből kellene a „betanított” szavakra különböző parancsokat végrehajtani a gépnek. Lehetséges ilyet kivitelezni?
Előre is hálásan kösz, ha tudtok ebben segíteniA bekarikázott szövegrész egy a Google beszédfelismerő által szöveggé alakított rész. A cél az volna, hogy ha ebben a szövegben egy bizonyos szó vagy szóösszetétel szerepel, akkor arra futtasson egy programot a gép (win)--> röviden: egyfajta hangvezérlés megvalósítása a feladat
Pl.:
A megjelenő (tehát bemondott) szöveg: Indítsd el az XYZ programot
Betanított reakció: (ha a szövegrész tartalmazza az "XYZ" szót, akkor indítsd az XYZ programot) XYZ indítása -
DNReNTi
őstag
Lehet nem is kell hozzá lib, de ha mégis, akkor itt van egy pénzért, vagy talán ez ingyér.
-
Zedz
addikt
Sziasztok,
Ismertek olyan libet, ami a következőt tudja? A lényeg, hogy van mondjuk egy képem, divem, akármim, és ha érintőkijelzőn rátappolok egy részre, akkor rázoomol arra a részre ahová tapicskoltam. Nem kell multitouchos varázslat. Keresgélem, túrom a netet, de nem igazán találom a megoldást.
-
Sziasztok
Kezdő vagyok jQueryben.
Hogyan tudnék egy menüsort létrehozni ami az oldal tetején marad. Mi lehetne a legegyszerűbb, legátláthatóbb módja? -
biker
nagyúr
HELP!
van egy oldal, aminek egy elemét a következőképpen írta meg a csúcsszuper fejlesztő brigád, hogy a keresésnél extra feltételeket ha megadsz checkboxal, akkor get-el elküldi az új paramétereket a lekérdezés frissítésnek.
Ez így szép és jó, ha nem b..ták volna össze az egészet úgy, hogy a megrendelő azt higgye, működik, mert ha beírja hello, megkeresi a hello-t. de persze ha hello world, már hanyattvágta magát, mert url-get-el a szóköz az nem épp baráti, meg az őzike néni sem url barát.Ok, beraktam, hogy encodeURIComponent(val), és ezzel már jó is, de sajnos nem minden karakternél.
Van pl egy nyelvválasztó menü, ahol eredeti nyelveken is megjelenít, és ezek le vannak tárolva mysql-ben. ezt kellene lekeresni, de van olyan karakter, amit nem tud átalakítani, és így nem ad találatot.$('.cls_filter').click(function(){
$('#filter_results').html("<p class='text-center'><i class='fa fa-cog fa-spin fa-2x'></i></p>");
var cty = '';
var user = '';
var text = '';
var lang = '';
$(".cls_filter[data-target='language']:checked").each( function () {
lang+=$(this).val()+',';
});
$(".cls_filter[data-target='category']:checked").each( function () {
cty+=$(this).val()+',';
});
$(".cls_filter[data-target='user']:checked").each( function () {
user+=$(this).val()+',';
});
text = $("#search_text").val();
//alert(encodeURIComponent(text));
$('#filter_results').load(url+"/category:"+cty+'/user:'+user+'/text:'+encodeURIComponent(text)+'/language:'+encodeURIComponent(lang));
});ez a kód.
Hibátlan ezekre:
Greek, Katharevousa | | ἑλληνικά, καθαρεύουσα (hellīniká, kaṯareýoysa) |
Chittagonian | চাটগাঁইয়া বুলি (čāṭgā̃iyā buli) | চাটগাঁইয়া (čāṭgā̃iyā) |
Ottoman Turkish | لسان عثمانی (lisān-i ʿos̱mānī); عثمانلیجه (ʿos̱mānlījâ) | عثمانی (ʿos̱mānī); عثمانلیجه (ʿos̱mānlījâ) |de ettől elvérzik:
German | deutsche Sprache / deutſche Sprache | Deutsch / Deutſch |
Persian | زبان فارسی / zabâne fârsi; زبان پارسی / zabâne pârsi | فارسی / fârsi; پارسی / pârsi |Van-e, és milyen funkció MINDEN hülye utf8 karakter url-baráttá tételére?
-
Sk8erPeter
nagyúr
válasz
attis71 #3202 üzenetére
Hát az a kód valami kegyetlen gusztustalan.
Amúgy meg miért várod, hogy működjön, ha az insertDB.php fájlodban olyan mezők értékét ellenőrzöd, és próbálod meg elérni, amelyekhez tartozó űrlapelemeket a HTML-fájlodban nem definiáltál? Jogosan nem lesznek ilyen elemek a szerveroldalra elküldött adatok között, és így jogosan nem fut le az adatbázisba való feltöltésre szolgáló kódrészlet sem (tehát nem lépbe a feltételtől függő ágba).Meg a kliensoldali insertDB() függvényed is baromság, ezt küldöd el szerveroldalra:
data: { kolcsonzoID: 'kolcsonzoID', utanfutoID: 'utanfutoID', datum : 'datum' },
Minek küldesz el ilyen stringeket? Gondolom valós adatokat akartál elküldeni. -
attis71
tag
Sziasztok!
JQuery Ajax megoldással kell egy mysql adatbázisba beírnom a FIZETVE gombra kattintással.
Viszont előbb húzással áthúzom a kiválasztott utánfutókat, de sehogyan sem akar sikerülni a beírás.
Megnéznétek ezeket a kód sorokat, hogy mit nem csináltam jól.
Előre is köszönöm.
kolcsonzes.tpl.php
<?php
header("content-type:text/html;charset=utf-8");
include_once("includes/connect.inc.php");
?>
<link rel="stylesheet" href="css/style.css" type="text/css" />
<link rel="stylesheet" href="css/jquery-ui.min.css" type="text/css" />
<script type="text/javascript" src="js/kolcsonzes.js"></script>
<script type="text/javascript" src="js/buttons.js"></script>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery-ui.min.js"></script>
<div id="baloldal">
<div id="tabs">
<ul>
<li><a href="#tabs-1">Nyitott</a></li>
<li><a href="#tabs-2">Zárt</a></li>
</ul>
<div id="tabs-1">
<div class="scroll list1 list">
<?php
echo "<h5>Rendszám</h5>";
$sql= "
select *
from utanfuto inner join akciok on utanfuto.rendszam = akciok.rendszam
where utanfuto.tipusok = 'open'
order by utanfutoID;
";
$utanfutok = $conn->query($sql);
while ($utanfuto = $utanfutok->fetch_array(MYSQLI_ASSOC)) {
$rendszam = $conn->real_escape_string($utanfuto["rendszam"]);
$kedvezmeny = $conn->real_escape_string($utanfuto["kedvezmeny"]);
$akcios = $conn->real_escape_string($utanfuto["akcios"]);
echo "<div class=\"item utanfuto2\">$rendszam</div>";
}
?>
</div>
</div>
<div id="tabs-2">
<div class="scroll list1 list">
<?php
echo "<h5>Rendszám</h5>";
$sql= "
select *
from utanfuto inner join akciok on utanfuto.rendszam = akciok.rendszam
where utanfuto.tipusok = 'closed'
order by utanfutoID;
";
$utanfutok = $conn->query($sql);
while ($utanfuto = $utanfutok->fetch_array(MYSQLI_ASSOC)) {
$rendszam = $conn->real_escape_string($utanfuto["rendszam"]);
$kedvezmeny = $conn->real_escape_string($utanfuto["kedvezmeny"]);
$akcios = $conn->real_escape_string($utanfuto["akcios"]);
echo "<div class=\"item utanfuto2\">$rendszam</div>";
}
?>
</div>
</div>
</div>
</div>
<div class="scroll1" id="jobboldal">
<div class="szemelyek">
<?php
$fizetendoOsszeg = 0;
$fizetes = 0;
$sql = "
select *
from (kolcsonzo_szem inner join kolcsonzes on
kolcsonzo_szem.kolcsonzoID = kolcsonzes.kolcsonzoID)
inner join utanfuto on kolcsonzes.utanfutoID =
utanfuto.utanfutoID
order by nev;
";
$szemelyek = $conn->query($sql);
while($szemely = $szemelyek->fetch_array(MYSQLI_ASSOC)){
$kolcsonzoID = $conn->real_escape_string($szemely["kolcsonzoID"]);
$szemelynev = $conn->real_escape_string($szemely["nev"]);
$utanfutoID = $conn->real_escape_string($szemely["utanfutoID"]);
$rendszam = $conn->real_escape_string($szemely["rendszam"]);
$napidij = $conn->real_escape_string($szemely["napidij"]);
$datum = date("Y-m-d h:i:s");
echo "<div class=\"kolcsonzok border\">";
echo "<p>Személy neve: $szemelynev</p>";
echo "<div class=\"list2 list\">";
echo "<div class=\"item torolni\"></div>";
echo "</div>";
echo "<p>Fizetendő összeg: $fizetendoOsszeg</p>";
echo "<div>";
echo "<div><input type=\"button\" id=\"fizetve\" onclick=\"insertDB()\" value=\"FIZETVE\"/></div>";
echo"</div>";
echo "</div>";
}
?>
</div>
</div>
<div style="clear:both;"></div>
<!--JavaScript-->
<script type="text/javascript">
$(function() {
$( "#tabs" ).tabs();
});
atmasolas();
</script>kolcsonzes.js
kolcsonzes.js:
function atmasolas() {
$('.list').sortable({connectWith: ".list",
tolerance: 'pointer',
});
$('.list1').bind('sortstop', function(event, ui) {
var idx = $('.list2').children().index($(ui.item[0]))-1,
elm = $(ui.item[0]).clone(true);
$('.list2').children(':eq('+idx+')').after(elm);
$(this).sortable('cancel');
});
}
function insertDB() {
$.ajax(
{
url:'ajax/insertDB.php',
data: { kolcsonzoID: 'kolcsonzoID', utanfutoID: 'utanfutoID', datum : 'datum' },
success: function(res) { $('#proba').text(res);}
}
)
}insertDB.php
<?php
header("content-type:text/html;charset=utf-8");
include_once("../includes/connect.inc.php");
include_once("../class/osztalyok.class.php");
if(isset($_POST["a"]) and
isset($_POST["b"]) and
isset($_POST["c"]) and
isset($_POST["d"]) and
isset($_POST["e"])){
global $conn;
$kolcsonzoID = $conn->real_escape_string($_POST["a"]);
$utanfutoID = $conn->real_escape_string($_POST["b"]);
$vegosszeg = $conn->real_escape_string($_POST["c"]);
$datum = $conn->real_escape_string($_POST["d"]);
$napokszama = $conn->real_escape_string($_POST["e"]);
$osztalyok = new Osztalyok();
$osztalyok->rekordBeszuras($kolcsonzoID,$utanfutoID,$vegosszeg,$datum,$napokszama);
} else {
//nem csinálok semmit
}
?> -
Oppenheimer
nagyúr
válasz
Sk8erPeter #3200 üzenetére
láma vagyok, tudom, nem kell tovább ragozni.
Új hozzászólás Aktív témák
Hirdetés
- Genshin Impact (PC, PS4, Android, iOS)
- Milyen SSD-t vegyek?
- Napelem
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Magga: PLEX: multimédia az egész lakásban
- sziku69: Fűzzük össze a szavakat :)
- Renault, Dacia topik
- Huawei Watch 5 - okosóra érintőlegesen
- Sorozatok
- Kerékpárosok, bringások ide!
- További aktív témák...
- BESZÁMÍTÁS! MSI B450 R5 5500 16GB DDR4 512GB SSD RTX 2060 Super 8GB Rampage SHIVA TT 500W
- BESZÁMÍTÁS! GIGABYTE B660M i7 13700 32GB DDR4 512GB SSD RX 6800 16GB Thermaltake Core X5 GB 850W
- BESZÁMÍTÁS! MSI B450 R5 5500 16GB DDR4 512GB SSD RTX 2060 Super 8GB SilentiumPC Signum SG1V TT 500W
- BESZÁMÍTÁS! Asus B550M R5 5600X 32GB DDR4 512GB SSD RTX 3060 12GB THERMALTAKE Commander G41 700W
- BESZÁMÍTÁS! MSI B460M i5 10400F 32GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman S4 Plus TT 500W
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 4070Ti Super GAMER PC termékbeszámítás
- Windows! Logitech Mx Keys Magyar!
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- Apple iPhone 14 Pro Max / 256 GB / 88% akkumulátor / 1év Garanciával / Gyári Független
- Apple iPhone 12 Mini 64GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest