Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Datumbereik

CategorieŽn

AND

Onderwerpen

AND

Subforum

Topicstarter

Topicstatus

770 topics - Pagina 1 van 31

[Vue] Subitems van geselecteerde item

08-02 17:01 vraag 2

Vraag

De meeste dingen zijn erg makkelijk (en snel) te doen in Vue, maar deze wil me niet lukken. Misschien heeft iemand hier een idee over hoe ik dit het beste op de Vue-manier kan oplossen. Zie onderstaande code voorbeeld:
HTML:
1 2 3 4 5 6 7 <div id="app"> <ul> <li v-for="book in shelfs[0].books"> {{ book.title }} </li> </ul> </div>

JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 var app = new Vue({ el: '#app', data: { shelfs: [ { selected: true, books: [ { title: 'Lorem ipum' }, { title: 'Dolor sit amet' } ] }, { selected: false, books: [ { title: 'Ipsum lorem' }, { title: 'Amet sit dolor' } ] } ] } });
Hier haal laat ik de books zien van de eerste shelf in shelfs. Alleen wil ik graag de books laten zien waar shelf.selected === true.

Door de Vue filterBy optie te gebruiken kom ik er niet; dat heeft alleen effect op de uiteindelijke set boeken. Een functie die selected shelf returned heb ik ook al geprobeerd, maar dat vind de v-for statement van Vue weer niet leuk. Wat nu?

JSFiddle: https://jsfiddle.net/vty2a63c/

--- Edit ---

Op dit moment heb ik het zo opgelost:
HTML:
1 2 3 4 5 6 7 <div id="app"> <ul> <li v-for="book in shelfs.find(isSelected).books"> {{ book.title }} </li> </ul> </div>

JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 var app = new Vue({ el: '#app', data: { shelfs: [ { selected: true, books: [ { title: 'Lorem ipum' }, { title: 'Dolor sit amet' } ] }, { selected: false, books: [ { title: 'Ipsum lorem' }, { title: 'Amet sit dolor' } ] } ] }, methods: { isSelected: function(element, index, array) { return element.selected; } } });
JSFiddle: https://jsfiddle.net/vty2a63c/1/

Dit gaat in ieder geval goed bij het ophalen van de data in eerste instantie. Nu even kijken wat dit doet met de two-way binding.

--- Edit 2 ---

Bovenstaande gaat overigens alleen goed als de debug mode uit staat. Ik krijg deze foutmelding: Error when evaluating expression "shelfs.find(isSelected).books.

Mensen die niks met Vue hebben, maar wel met Javascript zijn overigens ook van harte welkom

ipad 1 javascript

24-12-2015 discussie 4
Hallo,

Ik heb een ipad1. Ik krijg elke keer foutmeldingen van javascript. En dan klapt safari er uit. Kan ik daar iets aan doen?

[C#/ASP.NET] Client side frameworks passend bij MVC

22-11-2015 discussie 14
Dag allen!

Ik ben sinds kort wat aan het rondneuzen in .NET (mijn achtergrond is Scala/Python/Java) en wil graag een webapp bouwen in C# met ASP.NET MVC. Nu ben ik benieuwd welke Javascript/clientside frameworks er goed passen bij ASP.NET MVC. Ik besef dat je feitelijk natuurlijk elk JS framework zou kunnen gebruiken met ASP.NET MVC, maar ik kan me voorstellen dat qua best practices en architectuur bepaalde frameworks beter samen gaan met ASP.NET dan andere
Dus de vraag aan ervaren .NET engineers is: wat gebruiken jullie het liefst als JS framework voor jullie ASP.NET MVC apps, en waarom?

Bij voorbaat dank!

Hoe groepeer je met ng-repeat (met een timestamp)?

13-11-2015 discussie 3
Dag mede-Tweakers,

Ik heb een probleem met mijn ng-repeat. Ik de volgende code:

<div ng-repeat="(key, value) in history | groupBy:'date'">
<div>{{key}}</div>
<div ng-repeat="item in value">
{{item}}
</div>
</div>

Ik wil de historie tonen in dit formaat:

2015-10-10
item 1
item 2
item 3

2015-10-11
item 4
item 5

2015-10-12
item 6
item 7

Deze code werkt goed alleen is 'date' een timestamp. Bij elk item is de tijd anders. Hij moet dus alleen de dag gebruiken en daarop groeperen. Momenteel werkt hij alleen als de hele timestamp bij meerdere hetzelfde is.

Ik hoop dat iemand mij verder kan helpen

Highcharts, PHP & MySQL

03-11-2015 discussie 17
Beste Tweakers,

voor mijn projectje van een Arduino, kWh meter en een webservertje ben ik terecht gekomen bij Highcharts om de uitkomsten netjes te vertalen naar grafieken.

Nu schrijft mijn Arduino (gekoppeld aan een Raspberry welke deze uitleest) elke keer wanneer de streep op mijn draaischijf (kWh meter) voorbij komt een meting weg naar mijn MySQL database welke er als volgt uitziet:
code:
1 2 3 4 5 6 7 +--------------+-------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+-------------+------+-----+-------------------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | datetime | timestamp | NO | | CURRENT_TIMESTAMP | | | watt | varchar(11) | NO | | NULL | | +--------------+-------------+------+-----+-------------------+----------------+
Nu wordt deze simpelweg gevuld met data als hieronder:

id,datetime,watt
------------------------------------------
1,2015-10-30 21:50:43,523.61
2,2015-10-30 21:51:55,540.12
3,2015-10-30 21:52:23,590.51
4,2015-10-30 21:52:59,610.89
5,2015-10-30 21:53:22,605.03

Nu is mijn vraag, hoe zijn de kolommen datetime en watt makkelijk te verwerken in grafieken van Highcharts?

Allereerst wil ik een simpele grafiek met alles wat er al in de database staat.
Later zou ik zelf kunnen proberen om er tijdperiodes aan vast te binden zoals:
- Huidige verbruik
- Afgelopen week
- Afgelopen maand
- Afgelopen jaar

Momenteel heb ik while met een mysql_fetch_array, maar geen idee hoe die data (en dan met name de datum/tijd) goed in een array te krijgen zodat deze ook weer bruikbaar wordt voor Highcharts.

Kan iemand mij een schop in de goede richting helpen? Momenteel vind ik op internet alleen maar resultaten met andere soorten datum/tijd formats en niet de format die ik gebruik.

XML attribute gebruiken als voorwaarde in html

21-08-2015 discussie 5
Beste mede tweakers,

Ik heb een vraag die voor jullie ongetwijfeld ongelooflijk simpel is, maar waar ik niet uit kom. Ik heb een vrij omslachtige XML file waarvan ik een aantal gegevens wil tonen als tabellen op een HTML pagina. Het gaat om uitslagen bij een wedstrijd waar meerdere series gelopen worden. De serie is als attribuut meegegeven in de XML file in de tag <heat>:



Mijn script is op dit moment redelijk simpel en ziet er als volgt uit:

Dit laat alle uitslagen in 1x zien. Nu wil ik graag dat er voor elke heat een aparte tabel aangemaakt wordt. Hiervoor moet ik denk ik ergens een voorwaarde stellen in de vorm van een if statement of zoiets, maar ik kom er niet uit hoe dat er uit moet komen te zien. Hoe kan ik dit het simpelst oplossen? Ik heb op google gezocht op XML attribute as condition en nog wat aanpassingen daarop maar ik kom er niet uit.

Alvast bedankt voor jullie hulp!

[JS game] Screeps

11-08-2015 discussie 45

InleidingScreeps is een strategische MMO waarbij de speler door middel van Javascript code alles moet aansturen. Het spel is gemaakt door Artem Chivchalov, in tegenstelling van de vermelding door Tweakers in het nieuwsbericht wel een bekende programmeur met name in de AngularJS wereld.

In tegenstelling wat iedereen verwachte is het spel niet in zijn geheel 'live' gegaan op 20 november 2014, maar is er een 'singleplayer' live gezet. Hier is het nu mogelijk om de tutorial te doorlopen, survival mode te spelen en een custom mode is beschikbaar om o.a. je code te testen.

Daarnaast is er een indiegogo project gestart om geld te werven voor de uiteindelijke launch. Indiegogo project Er loopt dus op dit moment een project op indiegogo indiegogo waarbij er een goal van $20.000 is vast gezet. De campagne sluit op 30 december, al lijkt het er op dat dit spel hoe dan ook doorgaat ongeacht of het bedrag is opgehaald. Middels de contributie via de project kunnen spelers in feite een goedkoper 'maand abonnement' verkrijgen voor het spel. Na de campagne is het nog steeds mogelijk om dit te verkrijgen, alleen dan een stukje duurder. Verder is het mogelijk om "Early preview access" te verkrijgen.

Bij de $30.000 zal de game-engine opensource worden, waarbij je dan op je lokale machine simulaties kan draaien middels een Node.js package. Code Een 'worker' creŽren'
JavaScript:
1 Game.spawns.Spawn1.createCreep( [Game.WORK, Game.CARRY, Game.MOVE], 'Worker1' );
Een 'guard' creŽren'
JavaScript:
1 Game.spawns.Spawn1.createCreep( [Game.TOUGH, Game.ATTACK, Game.MOVE, Game.MOVE], 'Guard1' );
Een 'builder' creŽren'
JavaScript:
1 Game.spawns.Spawn1.createCreep( [ Game.WORK, Game.WORK, Game.WORK, Game.CARRY, Game.MOVE], 'Builder1' );
LinksScreeps homepage nieuws: Strategische mmo voor programmeurs Screeps komt op 20 november uit Indiegogo project pagina DocumentatieIk zal later de topicstart nog wat gaan uitbreiden mits er meer mensen dit gaan spelen etc.

[PHP +form] Echo tekst moet ook weg na reset form

26-06-2015 discussie 29
Ik moet voor Informatica een kleine PO maken met PHP. Hierbij doen wij het over hypotheken, waar we het een en ander over laten uitrekenen, zodra de gebruiker op de berekenen knop drukt. Dit wordt dan dus gedaan door PHP-code, waarna er ook een string wordt "ge-echo'd" met de uitkomsten.

Maar als ik op de reset-knop druk van het formulier, gaan alle ingevulde waarden wel weg, maar niet de echo-string! Zelfs de leraar wist hier zo snel geen raad mee en via Google heb ik ook al tig oplossingen gevonden, maar niets helpt! Kan iemand me duidelijk uitleggen wat ik nou moet doen? Hoe kan ik dit wel voormekaar krijgen? Ik heb al session_destroy/start geprobeerd en ob_start en zo, maar niets helpt. Wat doe ik verkeerd?!

Dit is de pagina: http://5v-bedrijfsplan.ecb-if.nl/php/index.php En dit is de gehele code: https://drive.google.com/...JcFZhd1E/view?usp=sharing

Kan iemand me helpen, want morgen hebben we hier een presentatie over en dan moet dit ook eigenlijk gefixt zijn. Wat is dus de makkelijkste manier om via PHP die string weg te krijgen na een reset? Alvast bedankt!

[C] Waarde ophalen uit key dictionary

24-06-2015 discussie 12
Gm,

Ik heb het volgende issue. Via een JS haal ik een waarde op uit een API. Middels een KEY dictionary schrijf ik deze code weg. Nu wil ik in C de waarde weer ophalen en er vervolgens mee aan de slag.

Ik heb op allerlei forums gezocht welke code ik dan in C zou kunnen gebruiken, maar kom er niet uit. Daarnaast weet ik niet waar ik de code dan in de C zou moeten schrijven om te gebruiken, daarom ook die code.

Zou volgens mij met een vrij simpel commando moeten, maar zoals gezegd geen idee welke dat is....

Hoop dat iemand me op weg kan helpen! Thx!

Zo schrijf ik de code weg in JS:
JavaScript:
1 2 3 4 5 //Construct a key-value dictionary var dict = {"KEY_LOCATION" : location, "KEY_TEMPERATURE": temperature}; //Send data to watch for display Pebble.sendAppMessage(dict);
;

In deze code wil ik de waarde terug laten komen als s_num_drinks
C:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 #include "pebble.h" #define REPEAT_INTERVAL_MS 50 // This is a custom defined key for saving our count field #define NUM_DRINKS_PKEY 1 // You can define defaults for values in persistent storage #define NUM_DRINKS_DEFAULT 0 static Window *s_main_window; static ActionBarLayer *s_action_bar; static TextLayer *s_header_layer, *s_body_layer, *s_label_layer; static GBitmap *s_icon_plus, *s_icon_minus; static int s_num_drinks = NUM_DRINKS_DEFAULT; static void update_text() { static char s_body_text[18]; snprintf(s_body_text, sizeof(s_body_text), "%u Bottles", s_num_drinks); text_layer_set_text(s_body_layer, s_body_text); } static void increment_click_handler(ClickRecognizerRef recognizer, void *context) { s_num_drinks++; update_text(); } static void decrement_click_handler(ClickRecognizerRef recognizer, void *context) { if (s_num_drinks <= 0) { // Keep the counter at zero return; } s_num_drinks--; update_text(); } static void click_config_provider(void *context) { window_single_repeating_click_subscribe(BUTTON_ID_UP, REPEAT_INTERVAL_MS, increment_click_handler); window_single_repeating_click_subscribe(BUTTON_ID_DOWN, REPEAT_INTERVAL_MS, decrement_click_handler); } static void main_window_load(Window *window) { Layer *window_layer = window_get_root_layer(window); s_action_bar = action_bar_layer_create(); action_bar_layer_add_to_window(s_action_bar, window); action_bar_layer_set_click_config_provider(s_action_bar, click_config_provider); action_bar_layer_set_icon(s_action_bar, BUTTON_ID_UP, s_icon_plus); action_bar_layer_set_icon(s_action_bar, BUTTON_ID_DOWN, s_icon_minus); int width = layer_get_frame(window_layer).size.w - ACTION_BAR_WIDTH - 3; s_header_layer = text_layer_create(GRect(4, 0, width, 60)); text_layer_set_font(s_header_layer, fonts_get_system_font(FONT_KEY_GOTHIC_24)); text_layer_set_background_color(s_header_layer, GColorClear); text_layer_set_text(s_header_layer, "Drink Counter"); layer_add_child(window_layer, text_layer_get_layer(s_header_layer)); s_body_layer = text_layer_create(GRect(4, 44, width, 60)); text_layer_set_font(s_body_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD)); text_layer_set_background_color(s_body_layer, GColorClear); layer_add_child(window_layer, text_layer_get_layer(s_body_layer)); s_label_layer = text_layer_create(GRect(4, 44 + 28, width, 60)); text_layer_set_font(s_label_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18)); text_layer_set_background_color(s_label_layer, GColorClear); text_layer_set_text(s_label_layer, "of drinks on the wall"); layer_add_child(window_layer, text_layer_get_layer(s_label_layer)); update_text(); } static void main_window_unload(Window *window) { text_layer_destroy(s_header_layer); text_layer_destroy(s_body_layer); text_layer_destroy(s_label_layer); action_bar_layer_destroy(s_action_bar); } static void init() { s_icon_plus = gbitmap_create_with_resource(RESOURCE_ID_IMAGE_ACTION_ICON_PLUS); s_icon_minus = gbitmap_create_with_resource(RESOURCE_ID_IMAGE_ACTION_ICON_MINUS); // Get the count from persistent storage for use if it exists, otherwise use the default s_num_drinks = persist_exists(NUM_DRINKS_PKEY) ? persist_read_int(NUM_DRINKS_PKEY) : NUM_DRINKS_DEFAULT; s_main_window = window_create(); window_set_window_handlers(s_main_window, (WindowHandlers) { .load = main_window_load, .unload = main_window_unload, }); window_stack_push(s_main_window, true); } static void deinit() { // Save the count into persistent storage on app exit persist_write_int(NUM_DRINKS_PKEY, s_num_drinks); window_destroy(s_main_window); gbitmap_destroy(s_icon_plus); gbitmap_destroy(s_icon_minus); } int main(void) { init(); app_event_loop(); deinit(); }

[C#] waarde uit Key in code zetten

24-06-2015 discussie 2
Gm,

Ik heb het volgende issue. Via een JS haal ik een waarde op uit een API. Middels een dictionary schrijf ik deze code weg. Nu wil ik in C# de waarde weer ophalen en er vervolgens mee aan de slag.

NB: de reden dat ik zowel JS als C gebruik is dat het om een Watchapp gaat en beiden standaards daarin gehanteerd worden.

Zo schrijf ik de code weg in JS:
//Construct a key-value dictionary
var dict = {"KEY_LOCATION" : location, "KEY_TEMPERATURE": temperature};

//Send data to watch for display
Pebble.sendAppMessage(dict);;

In deze code wil ik de waarde terug laten komen als s_num_drinks

#include "pebble.h"

#define REPEAT_INTERVAL_MS 50

// This is a custom defined key for saving our count field
#define NUM_DRINKS_PKEY 1

// You can define defaults for values in persistent storage
#define NUM_DRINKS_DEFAULT 0

static Window *s_main_window;

static ActionBarLayer *s_action_bar;
static TextLayer *s_header_layer, *s_body_layer, *s_label_layer;
static GBitmap *s_icon_plus, *s_icon_minus;

static int s_num_drinks = NUM_DRINKS_DEFAULT;

static void update_text() {
static char s_body_text[18];
snprintf(s_body_text, sizeof(s_body_text), "%u Bottles", s_num_drinks);
text_layer_set_text(s_body_layer, s_body_text);
}

static void increment_click_handler(ClickRecognizerRef recognizer, void *context) {
s_num_drinks++;
update_text();
}

static void decrement_click_handler(ClickRecognizerRef recognizer, void *context) {
if (s_num_drinks <= 0) {
// Keep the counter at zero
return;
}

s_num_drinks--;
update_text();
}

static void click_config_provider(void *context) {
window_single_repeating_click_subscribe(BUTTON_ID_UP, REPEAT_INTERVAL_MS, increment_click_handler);
window_single_repeating_click_subscribe(BUTTON_ID_DOWN, REPEAT_INTERVAL_MS, decrement_click_handler);
}

static void main_window_load(Window *window) {
Layer *window_layer = window_get_root_layer(window);

s_action_bar = action_bar_layer_create();
action_bar_layer_add_to_window(s_action_bar, window);
action_bar_layer_set_click_config_provider(s_action_bar, click_config_provider);

action_bar_layer_set_icon(s_action_bar, BUTTON_ID_UP, s_icon_plus);
action_bar_layer_set_icon(s_action_bar, BUTTON_ID_DOWN, s_icon_minus);

int width = layer_get_frame(window_layer).size.w - ACTION_BAR_WIDTH - 3;

s_header_layer = text_layer_create(GRect(4, 0, width, 60));
text_layer_set_font(s_header_layer, fonts_get_system_font(FONT_KEY_GOTHIC_24));
text_layer_set_background_color(s_header_layer, GColorClear);
text_layer_set_text(s_header_layer, "Drink Counter");
layer_add_child(window_layer, text_layer_get_layer(s_header_layer));

s_body_layer = text_layer_create(GRect(4, 44, width, 60));
text_layer_set_font(s_body_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
text_layer_set_background_color(s_body_layer, GColorClear);
layer_add_child(window_layer, text_layer_get_layer(s_body_layer));

s_label_layer = text_layer_create(GRect(4, 44 + 28, width, 60));
text_layer_set_font(s_label_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18));
text_layer_set_background_color(s_label_layer, GColorClear);
text_layer_set_text(s_label_layer, "of drinks on the wall");
layer_add_child(window_layer, text_layer_get_layer(s_label_layer));

update_text();
}

static void main_window_unload(Window *window) {
text_layer_destroy(s_header_layer);
text_layer_destroy(s_body_layer);
text_layer_destroy(s_label_layer);

action_bar_layer_destroy(s_action_bar);
}

static void init() {
s_icon_plus = gbitmap_create_with_resource(RESOURCE_ID_IMAGE_ACTION_ICON_PLUS);
s_icon_minus = gbitmap_create_with_resource(RESOURCE_ID_IMAGE_ACTION_ICON_MINUS);

// Get the count from persistent storage for use if it exists, otherwise use the default
s_num_drinks = persist_exists(NUM_DRINKS_PKEY) ? persist_read_int(NUM_DRINKS_PKEY) : NUM_DRINKS_DEFAULT;

s_main_window = window_create();
window_set_window_handlers(s_main_window, (WindowHandlers) {
.load = main_window_load,
.unload = main_window_unload,
});
window_stack_push(s_main_window, true);
}

static void deinit() {
// Save the count into persistent storage on app exit
persist_write_int(NUM_DRINKS_PKEY, s_num_drinks);

window_destroy(s_main_window);

gbitmap_destroy(s_icon_plus);
gbitmap_destroy(s_icon_minus);
}

int main(void) {
init();
app_event_loop();
deinit();
}

[AngularJS] ngOptions met object met array van objecten

01-06-2015 discussie 6
Ik ben bezig met een Docker beheer applicatie. In de applicatie moeten ook DigitalOcean Droplets aangemaakt kunnen worden.

Ik heb de volgende data die ik wil verwerken in een select dropdown:
JSON:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 { "regions": { "New York": [{ "slug": "nyc1", "name": "New York 1", "sizes": [], "available": false }, { "slug": "nyc2", "name": "New York 2", "sizes": ["32gb", "16gb", "2gb", "1gb", "4gb", "8gb", "512mb", "64gb", "48gb"], "available": false }], "Amsterdam": [{ "slug": "ams1", "name": "Amsterdam 1", "sizes": [], "available": false }, { "slug": "ams2", "name": "New York 2", "sizes": ["32gb", "16gb", "2gb", "1gb", "4gb", "8gb", "512mb", "64gb", "48gb"], "available": true }] } }
Ik wil de waardes groeperen per regio, vandaar de indeling van de JSON.

Wat ik geprobeerd heb:
HTML:
1 2 3 <select name="serverRegion" class="form-control" id="serverRegion" ng-model="serverManagementForm.serverForm.region" ng-disabled="!serverManagementForm.serverOptions" ng-options="value group by label for (label, value) in serverManagementForm.serverOptions.regions" required></select>
Dit geeft het volgende resultaat:


De value heeft bij het selecteren de waarde:
JSON:
1 2 3 4 5 6 7 8 [ { "slug": "ams1", "name": "Amsterdam 1", "sizes": [], "available": false } ]
Nu dacht ik dat ik ngOptions ook nog wel zou kunnen loopen over de array door het volgende te doen:
code:
1 ng-options="(value.name for item in value) group by label for (label, value) in serverManagementForm.serverOptions.regions"
Dan krijg ik helaas de volgende foutmelding: https://docs.angularjs.org/error/$parse/ueoe?p0=(value.name.

Heeft iemand enig idee of het wel kan wat ik wil met ngOptions? Of iemand die een stomme fout ziet ergens in mijn code .

Window.Outerwidth() + extra pixels

28-05-2015 discussie 4
Hallo Allen,

Mijn vraag is, ik heb nu een scriptje die laat de grote van het beeld zien: window.outerWidth()

Nu wil ik graag dat bij deze bijvoorbeeld 100pixels bij op komen, dus zeg maar de breedte is 1920 pixels + 100 pixels is 2020, is dit mogelijk?

Alvast bedankt!

[NodeJS] Signup form met email verificatie

27-05-2015 discussie 1
Hallo lieve programmeurs.

Bij het bouwen van een webapp ben ik op een probleem gestuit. Ik wil gebruikers aan kunnen maken aan de hand van hun naam en emailadres, waarna ze een email moeten krijgen met 1-time-login om hun password zelf in te kunnen stellen.

Ik gebruikte nu Passport voor zowel login als signup, maar daar kan ik geen mails mee versturen.

Hebben jullie ideeŽn? Het liefst een beetje concreet, want met al die packages in npm ben ik een beetje de weg kwijt met wat wťl handig is en wat niet handig is.

[HTML/JS] Geselecteerde optie van dropdown laten zien

23-05-2015 discussie 7
Hallo,

Hoe kan ik een geselecteerde waarde van een dropdown menu, buiten het dropdown menu weergeven?
Dus als bijvoorbeeld Test2 geselecteerd is, dat er dan buiten het dropdown menu komt te staan: Test2.

Met een dropdown menu bedoel ik:
PHP:
1 2 3 4 5 <select name="dropdown" id="dropdown"> <option value="Test1">Test1</option> <option value="Test2">Test2</option> <option value="Test3">Test3</option> </select>
Alvast bedankt!

AngularJS en angular modules downloaden met checksum

22-05-2015 discussie 7
Hoi allemaal,

Ik heb even een kort vraagje, Ik ben op zoek naar een plek waar ik angularJS en verschilldende angular modules (bv: ng-Route, angular-ui) kan downloaden van het internet waar ook nog een checksum te vinden is. die aangeeft dat het bestand goed is gedownload.

Ik hoop dat iemand mij hier meer kan vertellen of er ergens zo'n plek is waar dit kan?

Mvg,
Jordy

JavaScipt asynchronous callbacks return array

20-05-2015 discussie 7
Ik ben bezig met het maken van een visualisatie waarbij data vanuit een json file wordt ingelezen. Ik krijg de data succesvol in de console maar ik krijg het niet opgeslagen in een variabele zodat ik het verder kan gebruiken.
JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 function loadJSON(path, success, error) { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === XMLHttpRequest.DONE) { if (xhr.status === 200) { if (success) success(JSON.parse(xhr.responseText)); } else { if (error) error(xhr); } } }; xhr.open("GET", path, true); xhr.send(); } loadJSON('data/hubs.json', function(data) { console.log(data); }, function(xhr) { console.error(xhr); } );
De volgende regel returned de array naar de console:
console.log(data);

maar als ik hier zeg, hubs = data; waarbij hubs een globale variabele is dan werkt dit niet.

Het heeft iets met callbacks te maken maar ik kom er gewoon niet uit, iemand die mij hierbij kan helpen?

Advertenties toevoegen na X zichtbare element

10-05-2015 discussie 2
Op een aantal van de sites die ik beheer, zijn dingen zichtbaar of onzichtbaar, afhankelijk van de keuze van de gebruiker.

Deze DOM-elementen worden wel geladen. Als gevolg daarvan, worden worden bijvoorbeeld Google Adsense advertenties geinjecteerd in een onzichtbaar/hidden element.

Wat ik nu wil proberen, is deze injecties aan te passen, zodat ze alleen worden geinjecteerd na het X'e zichtbare element, in plaats van gewoon het X'e element.

Volgens StackOverflow, en vele andere sites, kan dit door vlak voordat de GA code wordt gestart, het DOM-element dat de advertentie moet gaan bevatten, te injecteren aan het einde van het element waar het in moet komen.

In praktijk blijkt dit echter niet te werken. Ik heb verschillende methodes geprobeerd, onder anderen de suggesties hier:
https://stackoverflow.com...end-google-adsense-to-div
(Uiteraard aangepast op het :visible etc.)
Maar het gewenste effect wordt helaas niet bereikt. Het lijkt alsof het last-minute injecteren van de holder plus de <ins> element van Google, niet werkt en dat de advertentie dus niet geladen wordt.

Het zou kunnen dat het komt door de non-blocking eigenschap van javascript, maar ook doordat de browser bijvoorbeeld te snel alles afhandeld, en dus de Adsense-code uitvoert voordat de DOM helemaal up-to-date is met de divs.

Ik heb ook geprobeerd een promise met een done() functie te gebruiken, maar dat trok de browser niet, die bleef maar laden en herladen en zelfs crashen, dus dat (lijkt) ook geen optie.

Voorbeelden van code heb ik momenteel niet, omdat ik alles gereset heb naar de huidige GIT status, maar ik hoop dat er toch iemand is die me een duwtje in de juiste richting kan geven.

Hoe werkt deze method en hoe kan ik hem callen met .click?

06-04-2015 discussie 1
Ik wil een card interface maken op basis van Packery JS. Dit is mijn eerste project na het afronden van de Codecadamy courses, dus heel soepel is het allemaal niet gegaan. Ik heb het overgrote deel nu uitgevogeld maar loop vast op het laatste stuk: het verschuiven van de kaarten adhv een navigatie menu'tje.

Dit probeer ik te doen met de fit method van Packery, hiermee kan je de items verplaatsen als je er op klikt. Ik probeer dat nu om te schrijven naar dat de items verplaatsen als ik op een ding met een bepaalde id klik.

Hiermee verschuiven de items als je er op klikt:
JavaScript:
1 2 3 $container.on( 'click', '.item', function( event ) { $container.packery( 'fit', event.target, 200, 0 ); });
Codepen Example

Ik stel mij zo voor dat de code om dit aan te roepen als je ergens anders op klikt er zo uit ziet:
JavaScript:
1 2 3 $container.on( 'click', '#vision-button', function( event ) { $container.packery( 'fit', '#vision', 200, 0 ); });
Maar dan net anders. Dus nu mijn vraag, hoe anders?

Om het allemaal een beetje in een context te kunnen plaatsen heb ik mijn hele zooitje op Codepen gezet.

Bij voorbaat dank.

Contactform Bootstrap verzenden na PHP/javascript validatie

30-03-2015 discussie 4
Beste tweakers,

Ik ben nu al enige tijd bezig met het maken van een contact formulier op mijn website. Nu wilde ik een actieve validatie en dit is inmiddels gelukt. Echter ik weet niet hoe ik de mail nu daadwerkelijk moet verzenden.

Ik maak gebruik van een html form in combinatie met een javascript en een PHP script voor de validatie. Maar daarna loop ik vast met het verzenden van de mail.

HTML code
code:
1 2 3 <form id='form1' method='post' action="send_form_mail.php"> <input id='firstname' class='form-control input-md' placeholder='Naam' data-vreq='1'/> <a class='btn btn-md btn-primary' data-vsubmit='1' data-vfunc='doSomething' data-vclear='1'>Submit</a>
PHP validator
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 <? $vtype = $_REQUEST['vtype']; $vvalue = $_REQUEST['vvalue']; $validation = new Validation; $validation->validate($vtype, $vvalue); class Validation { private $email, $phone_CA, $postal_CA; function __construct() { $this->email = '/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4})$/'; $this->phone_CA = '/^(\+?)(1?)(\-?)(\s?)(\.?)(\(?)[2-9][0-9][0-9](\)?)(\-?)(\s?)(\.?)(([2-9][2-9][2-9])|([2-9][0-9]([2-9]|0))|([2-9]([2-9]|0)[0-9]))(\-?)(\s?)(\.?)[0-9]{4}$/'; //Canadian phone numbers $this->postal_CA = '/^[ABCEGHJKLMNPRSTVXY]{1}\d{1}[A-Z]{1}(\-?)(\s?)(\.?)\d{1}[A-Z]{1}\d{1}$/i'; //Canadian postal code } function validate($_type, $_value) { switch ($_type) { case 'phone_CA': if($_value = preg_match($this->phone_CA, $_value)) echo 1; else echo "Please enter a valid phone number."; break; case 'email': if($_value = preg_match($this->email, $_value)) echo 1; else echo "Please enter a valid email."; break; case 'postal_CA': if($_value = preg_match($this->postal_CA, $_value)) echo 1; else echo "Please enter a valid postal code."; break; $to = "voorbeeld@voorbeeld.nl"; $subject = "Hi!"; $body = "Form is successfully validated by " + $_GET['name']; if (mail($to, $subject, $body)) { echo("<p>Message successfully sent!</p>"); } else { echo("<p>Message delivery failed...</p>"); } } die; } }
PHP mail
code:
1 2 3 4 5 6 7 8 9 10 <?php $to = "voorbeeld@voorbeeld.nl"; $subject = "Hi!"; $body = "Form is successfully validated by " + $_GET['name']; if (mail($to, $subject, $body)) { echo("<p>Message successfully sent!</p>"); } else { echo("<p>Message delivery failed...</p>"); } ?>
Bedankt voor eventueel advies.

[JS] variable ipv string doorgeven via data attribute

02-03-2015 discussie 2
Ik ben bezig met het opzetten van een webapplicatie gebaseerd op leafletjs. Als onderdeel daarvan wil ik een eigen layer control maken om lagen aan en uit te kunnen zetten.

Een laag kan ik aanzetten via map.addLayer(layer). Dus de laag 'restaurants' kan ik aanzetten via map.addLayer(restaurants).

Nu wil de de naam van laag doorgeven in de data attribute van een link, echter heb ik dus eigenlijk de variable zelf nodig en niet de naam als string.

Nu heb ik dat opgelost door gebruik te maken van window[], maar ik vraag me af of er nog een andere/betere oplossing mogelijk is.
HTML:
1 2 3 <a data-layer="restaurants" href="#">restaurants</a> <a data-layer="sport" href="#">sport</a> <a data-layer="sights" href="#">sights</a>

JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 $("a").click(function(event) { event.preventDefault(); id = $(this).data("layer"); //dit is dan 'restaurants', 'sport' of 'sights' if(map.hasLayer(window[id])) { $(this).removeClass('selected'); map.removeLayer(window[id]); //dit is dan 'restaurants', 'sport' of 'sights' } else { map.addLayer(window[id]); $(this).addClass('selected'); } });
En omdat een voorbeeld meer zegt dan woorden, een uitgekleed voorbeeld: http://jsfiddle.net/fwLdbf3c/1/

[AJAX] Synchronous XMLHttpRequest deprecated verklaard.

26-02-2015 discussie 28
Als developer maak ik veelvuldig gebruik van AJAX in de websites waar ik aan werk, oftewel een Asynchronous XMLHttpRequest.

Nu is het ook mogelijk om een Synchronous XMLHttpRequest te maken, het zogenaamde SJAX. Dit kan in sommige code-situaties voordelen hebben t.o.v. AJAX, maar de officiele organisaties die over de Javascript- en de Webstandaarden gaan hebben besloten om Synchronous XMLHttpRequest deprecated te verklaren.

De reden hiervoor, zegt men, is omdat het in veel situaties de standaard manier breekt waarop gebruikers met browsers omgaan.

Okay, goed en wel. De nieuwste browserversies laten developers dit op tijd weten door alvast waarschuwingen te geven in de Javascript console voor developers. Synchronous XMLHttpRequest gaat dus verdwijnen. Deprecatie is meedogenloos voor developers, dus het is adapt or die.

Maar nu is het volgende het geval. Soms is een SJAX functie van kritiek belang voor het functioneren van een website. Dit is ook het geval voor een website waar ik voor ontwikkel.

Wat ik tot nu toe heb gedaan is om de volgende betreffende functie proberen om te vormen naar een AJAX functie in plaats van een SJAX functie. Het verschil om dit te doen is miniem, maar het breekt de gereturnde output compleet.

Wanneer ik de functie omvorm van SJAX naar AJAX, dan wordt de output ineens 'null'. En aangezien deze functie veelvuldig gebruikt wordt voor vele elementen in de website, is het van belang dat ik de gereturnde output exact hetzelfde houd wanneer ik de functie herschrijf van SJAX naar AJAX.
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 //SJAX function: get the content of an xml file and store it in XML DOM. function getXML_file(pathToFileString) { if (window.XMLHttpRequest) { myRequestObject = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { myRequestObject = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { myRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } myRequestObject.open("GET", pathToFileString, false); myRequestObject.send(null); //Set and return the content as XML DOM xmlDoc = myRequestObject.responseXML; return xmlDoc; }
Okay, dat is dus de SJAX versie van de functie. En om deze om te vormen naar een AJAX functie dient enkel en alleen "false" veranderd te worden naar "true".

Het probleem hierbij is dat dit de gereturnde output breekt. Ik krijg dus als output dan null.

Wat zowiezo zal moeten gebeuren, is dat die waarde op "true" gezet moet worden, want dat is AJAX. "false" zal in de toekomst niet meer geaccepteerd worden door browsers, want dat is het deprecated SJAX. (Synchronous XMLHttpRequest)

Aangezien ik vooruitloop op de zaken is er nog maar zeer weinig informatie te vinden online over hoe je een Synchronous request om kan scripten naar een Asynchronous zonder dat dit de output breekt. Informatie hierover is vooralsnog schaars. Waarschijnlijk zal dit veranderen wanneer browsers SJAX daadwerkelijk ook niet meer ondersteunen, maar het is beter om nu alvast niet achterover te gaan zitten en te gaan wachten tot de site breekt in browser na browser.

In a nutshell, ik zal het probleem moeten oplossen.

De Synchronous XMLHttpRequest zal moeten worden omgevormd naar een Asynchronous XMLHttpRequest zonder dat de gereturnde output verandert.

En dit dient tevens cross-browser te werken.

Mijn vraag is, hoe kan ik dat doen? Ik gebruik geen jQuery of JSON, maar puur Javascript/AJAX, dus ik zoek een oplossing zonder jQuery en JSON.

Validate van input zonder form submit

25-02-2015 discussie 8
Ik ben een formulier aan het bouwen en loop tegen het volgende aan.

Voorbeeld van het input veld:
code:
1 2 3 <html><head><title></title></head><body><form> <input type="number" min="1" max="10"> </form></body></html>
fiddle: http://jsfiddle.net/e0nhkzh7/

So far so good, echter ik weet de min/max waarde nog niet op het moment dat de input op het scherm geplaatst is. Dit kan ik pas later bepalen.

Nu zet ik de waarde van min en max via een jquery script:
http://jsfiddle.net/np0zjv4p/
Dan controleert hij de waarde wanneer je op submit klikt.

Nu heb ik echter geen submitknop maar een andere button die een javascript uitvoert dat wat checks uitvoert en dan het formulier submit.

De validatie op het veld wordt dan overgeslagen
http://jsfiddle.net/cnmkrz2u/1/

Dit probleem komt omdat we eigen checks hebben en een jquery plugin die validatie toepast bij de submit van het formulier. De eigen checks worden door het javascript uitgevoerd en de jquery plugin doet dit onsubmit.

Nu is het volgens mij de enige optie om hiervoor de onsubmit van het formulier zelf te gebruiken. Maar wellicht is er een andere optie die ik over het hoofd heb gezien?

"Best practice" Gebruikers profiel updaten MYSQL, PHP, ...

25-02-2015 discussie 15
- Moet natuurlijk "Best Practice" zijn -

Hi,

Ik zit er al een tijdje mee te struikelen dus vond ik het tijd de vraag even te stellen aan personen die ook veel bezig zijn met ontwikkeling.

Stel je volgende situatie eens voor:

Klant registreert zich op een website geeft al zijn persoonlijke gegevens in (NAAM, VOORNAAM, TEL.NR., EMAIL, WOONPLAATS, LEEFTIJD, ...) Na een tijdje klopt zijn woonplaats niet meer en moet enkel zijn WOONPLAATS aangepast worden, mijn vraag gaat hierover... Hoe doe je dit nu het best?

Voorbeeld code:
PHP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <?php $userquery = $db->prepare("SELECT * FROM users"); $userquery->execute(); $userrow = $userquery->fetch(PDO::FETCH_ASSOC) ?> <div class="row"> <div class="col-lg-6"> <h5><?php echo htmlspecialchars($userrow['user_name'], ENT_COMPAT, 'UTF-8'); ?></h5> </div> <div class="col-lg-6"> <input type="text" name="<?php echo $userrow['user_name']; ?>" class="form-control" /> </div> </div> <div class="row"> <div class="col-lg-6"> <h5><?php echo htmlspecialchars($userrow['user_city'], ENT_COMPAT, 'UTF-8'); ?></h5> </div> <div class="col-lg-6"> <input type="text" name="<?php echo $userrow['user_city']; ?>" class="form-control" /> </div> </div>
Wat heb ik al gedaan:
1.
Ik heb mijn input veranderd naar dit
PHP:
1 <input type="text" name="<?php echo $userrow['user_city']; ?>" class="form-control" value="<?php echo $userrow['user_city']; ?>"/>
- Namelijk een value aan gekoppeld die hij uit mijn query haalt en als er geen veranderingen gebeuren en ik doe een submit dan controleert hij eerst of de value gelijk is en indien niet zal hij een update uitvoeren. Nadeel = veel code en nogal omslachtig volgens mij.

2.
submit knoppen naast ieder veld geplaatst en dan bovenaan in mijn php code een controle gedaan welke submit ingedrukt geweest is en dan ook nog eens een controle gedaan of de value weldegelijk veranderd is geweest. Nadeel = terug veel code maar iets overzichtelijker.

Mijn vraag van hierboven komt hier nu terug. Hoe lossen jullie dergelijk iets op? Werken jullie hier misschien met jQuery en Ajax? of is er een gouden tussenweg in PHP?

Bedankt om jullie werking te delen!

[PHP] Public/Private key encryption, hoe private key bewaren

22-02-2015 discussie 19
Ik was bezig met het uitzoeken van assymetrische encryptie in PHP en hoopte dat iemand feedback zou kunnen geven of misschien wat tips had.

Situatie: Gebruikers van de applicatie moeten elkaar berichten/bestanden kunnen sturen, die niet door anderen geopend kunnen worden. Dus ook niet door de programmeur/sysadmin/hacker die root toegang heeft etc. Maar moet transparant zijn voor de gebruiker, dus niet zelf keys laten beheren ed.

Voorgestelde oplossing: Assymetrische encryptie op basis van public/private keys, zodat alleen de gebruiker voor wie het bedoeld is, het bestand kan lezen. Private key wordt in de database (of evt. filesystem) opgeslagen, met een passphrase/encryptie op basis van het wachtwoord van de gebruiker. Zonder het wachtwoord is het bestand dus niet decrypten, ook niet voor de systeembeheerder.

Vraag: Hoe blijft het systeem gebruiksvriendelijk, terwijl het nog wel veilig is? Het liefst vul je maar 1 keer je wachtwoord in, niet elke keer als je een bestand wil lezen. En als je je wachtwoord vergeet, ben je al je data kwijt..

Overwegingen:
Data opslaan in een sessie kan, maar in principe is dat ook file-based (of een andere database driver), maar in het geval van een hack zou de hacker die bestanden dus ook kunnen benaderen.
Dus idealiter zou je passphrase (of private key) bij de gebruiker bewaren.

Opslaan in cookies?
Ik ga uit van een applicatie op basis van Laravel, waarbij Cookies encrypted zijn, secure en http only.
Aangezien de cookies encrypted zijn, zouden we zodra de gebruiker inlogt, de passphrase kunnen decrypten met het gebruikerswachtwoord en opslaan in een cookie. (Wat waarschijnlijk efficiŽnter is als de hele key in de cookie bewaren, aangezien het met elke request meegestuurd wordt)
Is dit wel veilig? (Natuurlijk niet als de gebruiker zowel toegang heeft tot de user-cookies als root-toegang tot het systeem, maar dat lijkt me geen reŽel scenario)

Key recovery?
Aangezien het wachtwoord de sleutel is, kan je niet meer bij je bestanden als je je wachtwoord vergeet. Een oplossing zou zijn om de passphrase ook te encrypten met een random string. Die random string mailen/geven we dan aan de gebruiker bij het registreren om zelf veilig te bewaren. In het geval van verlies van data kan die key gebruikt worden om alsnog bij je data te kunnen. (Al zal hier misschien een soort combinatie van e-mail validatie bij moeten zitten, anders komt het neer op het opschrijven van je wachtwoord)

Dus dan zou het er in de database zoiets uitzien:
table users
- id, email, name, password_hash etc
- public_key (plaintext)
- private_key (plaintext, beveiligd met passphrase)
- passphrase_encrypted (encrypted met user password)
- passphrase_recovery (zelf passphrase, maar encrypted met random string)

passphrase zelf is dan gewoon een random string van xx tekens die gegeneerd wordt bij aanmaken van de account.

Bij registreren:
- Random passphrase maken
- Passphrase encrypten met gekozen wachtwoord
- Passprhase encrypten met random recovery string, mailen naar gebruiken

Bij aanmaken bestand/bericht
- Ophalen public_key van doelgebruiker(s)
- Bericht encrypten met public key

Bij inloggen
- Ophalen passphrase, decrypten met wachtwoord
- Decrypted passphrase bewaren in (beveiligd) cookie

Bij lezen bericht
- Passphrase uit cookie halen
- Bericht decrypten met private key en passphrase.

Bij wijzigen wachtwoord
- passphrase decrypten met oude wachtwoord
- passphrase encrypten met nieuwe wachtwoord.
- Keys en passphrase blijven zelfde, dus bestanden intact.

Bij vergeten wachtwoord
- Extra optie voor invullen recovery code. Indien aanwezig, code gebruiken om passphrase te decrypten. Opnieuw encrypten met nieuwe wachtwoord. Bestanden zijn intact.
- Anders nieuwe public/private key pair maken. Bestanden zijn verloren.

Implementatie zou dan zijn op basis van openssl_seal of de Zend OpenSSL Filter, die als wrapper dient voor OpenSSL seal/open.

java script eror

31-01-2015 discussie 8
ik heb een game met een melee system maar hij zit vast op een error die ik niet snap ik heb al veel geprobeer. ik ben trouwens nog niet zo lang aan het scripten dit is mijn script

#pragma strict

var TheDamage : int - 50;
var Distance : float;

function Update ()
{
if (Input.GetButtonDown("Fire1"))
{
var hit : RaycastHit;
if (Physics.Raycast(transform.position, transform.TransformDirection(Vector3.forward), hit))
{
Distance=hit.distance;
HierarchyType.transform.SendMessage("ApplyDamage",Damage, SendMessageOptions.DontRequireReceiver);
}
}
}


maar hij geeft de error Assets/melee.js(3,21): UCE0001: ';' expected. Insert a semicolon at the end.
help ik weet niet wat ik moet doen
Resultaten per pagina: 25 | 50 | 100
1 2 3 ... 31


Huawei Nexus 6P Apple iPad Pro WiFi FIFA 16 Samsung Galaxy S7 Fallout 4 Apple iPhone 6C Athom Homey LG G5

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True