Archief - AJAX: Ajax input check vraag :) (Prototype)

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Da_Luke

Legacy Member
Beste mensen,

momenteel heb ik een script geschreven in Ajax gebruik makend van prototype.js (voor de mensen die een beetje van Ajax kennen zou dit gekend moeten zijn)

Dat werkt dus perfect met volgende code (ergens op een andere site gevonden en aangepast natuurlijk)

in mijn ajax.js staat:
Code:
Event.observe(window, 'load', CheckNickInit, false);
function CheckNickInit(){
	Event.observe('CheckNick-name', 'keyup', CheckNick, false);
}
function CheckNick(){
     var url = 'Profiel/controle_nick.php';
     var pars = 'CheckNick-name='+escape($F('CheckNick-name'));
     var target = 'CheckNick';
     var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});
}

file die alles berekend en voor output zorgt:
Code:
function cleanUp($data) {
	   $data = trim(strip_tags(htmlspecialchars($data)));
	   $data = str_replace("'","'",$data);
	   return $data;
	}


$Nick = htmlspecialchars($_GET['CheckNick-name']);
if (empty($Nick)) {
	echo "<table cellspacing='0' cellpadding='0'><tr><td><img src='Afbeeldingen/bad.gif'></td><td><div class='registreer_2'>&nbsp; (Gelieve een nick op te geven)</div></td></tr></table>";
} else {
	$task_one = mysql_query("SELECT Naam FROM test_dbase WHERE Naam IN ('$Nick')") or die(mysql_error());
	if(mysql_num_rows($task_one) != 0) {
		echo "<table cellspacing='0' cellpadding='0'><tr><td><img src='Afbeeldingen/bad.gif'></td><td><div class='registreer_2'>&nbsp; (De naam bestaat al)</div></td></tr></table>";
	} else {
		echo "<img src='Afbeeldingen/ok.gif'>";
	}	
}

in de php file staat:
Code:
<input id="CheckNick-name" name="nick_naam" class="input_2" type="text" />
<div class="registreer_2" id="CheckNick"></div>

daar komt dan natuurlijk de output in als je aan het typen bent :)

Nu heb ik echter een vraagje aan de ervaren programmers onder jullie, nu wil ik een tweede input tekst hebben die u nick die je hebt ingegeven in id="CheckNick" controleert of het dezelfde zijn... ik slaag daar maar niet in dus... ergens doe ik het verkeerd :)

iemand die me kan helpen?

Greetz

Obliv`

Legacy Member
Da_Luke zei:
Nu heb ik echter een vraagje aan de ervaren programmers onder jullie, nu wil ik een tweede input tekst hebben die u nick die je hebt ingegeven in id="CheckNick" controleert of het dezelfde zijn... ik slaag daar maar niet in dus... ergens doe ik het verkeerd

Kan je misschien de code geven die je hiervoor hebt geschreven, want dit kan nu toch niet moeilijk zijn he?

Da_Luke

Legacy Member
Obliv` zei:
Kan je misschien de code geven die je hiervoor hebt geschreven, want dit kan nu toch niet moeilijk zijn he?

wel, die staat daarboven :)

deze code controleert of er een iets gebeurd in de input (Ajax):
Code:
Event.observe(window, 'load', CheckNickInit, false);
function CheckNickInit(){
	Event.observe('CheckNick-name', 'keyup', CheckNick, false);
}
function CheckNick(){
     var url = 'Profiel/controle_nick.php';
     var pars = 'CheckNick-name='+escape($F('CheckNick-name'));
     var target = 'CheckNick';
     var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});
}

in in de php file kijkt em gwoon in den dbase of de nick bestaat en bestaat em niet dan spuugt em da uit da de nick niet bestaat :)

maar nu wil ik dus een tweede inputveld en van zodra ge in da tweede inputveld begint te typen moet em dus eigenlijk de 2 velden gaan controleren of ze gelijk zijn... kslaag er dus niet in om de input van het eerste veld en de input van het tweede veld in 1 formule te krijgen...

Obliv`

Legacy Member
wel, die staat daarboven

in in de php file kijkt em gwoon in den dbase of de nick bestaat en bestaat em niet dan spuugt em da uit da de nick niet bestaat :)

maar nu wil ik dus een tweede inputveld en van zodra ge in da tweede inputveld begint te typen moet em dus eigenlijk de 2 velden gaan controleren of ze gelijk zijn... kslaag er dus niet in om de input van het eerste veld en de input van het tweede veld in 1 formule te krijgen...

Da had ik al wel gezien dat die code daarboven staat, maar ik wil graag de code zien die je al hebt voor dat tweede inputveld...

Da_Luke

Legacy Member
Obliv` zei:
Da had ik al wel gezien dat die code daarboven staat, maar ik wil graag de code zien die je al hebt voor dat tweede inputveld...

momenteel niets, want niets werkt...
de input pagina is als volgt:

<input id="CheckNick-name" name="nick_naam" class="input_2" type="text" />
<div class="registreer_2" id="CheckNick">hier komt output</div>
<input id="CheckNick2-name" name="nick2_naam" class="input_2" type="text" />
<div class="registreer_2" id="CheckNick2">hier komt output</div>

en ja, ik maak eigenlijk gebruik van de zelfde code als in de eerste input, ik controleer dus of er in de tweede input een actie is (on key up) en dan zou hij moeten input 1 met input 2 vergelijken... ik slaag er echter neit de waarde van input 1 door te geven ...

Greetz

Obliv`

Legacy Member
Da_Luke zei:
momenteel niets, want niets werkt...
de input pagina is als volgt:

<input id="CheckNick-name" name="nick_naam" class="input_2" type="text" />
<div class="registreer_2" id="CheckNick">hier komt output</div>
<input id="CheckNick2-name" name="nick2_naam" class="input_2" type="text" />
<div class="registreer_2" id="CheckNick2">hier komt output</div>

en ja, ik maak eigenlijk gebruik van de zelfde code als in de eerste input, ik controleer dus of er in de tweede input een actie is (on key up) en dan zou hij moeten input 1 met input 2 vergelijken... ik slaag er echter neit de waarde van input 1 door te geven ...

Greetz

De waarde moet toch niet doorgegeven worden aan uw ajax-actie?
Registreer gewoon bij de page load een event om bij de key-up van textbox1 te zien of de waarde gelijk is aan textbox2. Registreer dan nog een tweede event om te zien of het omgekeer ook zo is.

Je kan de code voor dat event eventueel ook in CheckNick zetten, maar dan moet je wel meegeven welk de textbox is waar je momenteel in typt en welk de textbox is waarmee vergeleken moet worden.

Da_Luke

Legacy Member
wel, het momenteel zo, ik heb die code ook maar online ergens gevonden (zijn ook mijn eerste stapjes in de AJAX industrie...) en heb die wat aangepast...
Zoals ik het nu versta:

Code:
Event.observe(window, 'load', CheckNickInit, false); // hier bekijkt hij het inputveld
function CheckNickInit(){ // deze functie bepaalt dan dat van zodra er getypt wordt dat hij de functie CheckNick moet aanspreken
	Event.observe('CheckNick-name', 'keyup', CheckNick, false);
}
function CheckNick(){ //hier heeft hij de waarden door naar controle_nick.php
     var url = 'Profiel/controle_nick.php';
     var pars = 'CheckNick-name='+escape($F('CheckNick-name')); // dit is de waarde die je hebt ingegeven in het inputveld
     var target = 'CheckNick'; // dit is het id van de div die moet aangepast worden
     var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});
}

Nu moet ik een identieke code hebben die zowel de waarde van inputveld 1 als inputveld 2 doorgeeft naar de file controle_nick2.php... ik weet echter niet hoe ik meerdere parameters kan doorgeven... heb echt me al heel de morgen ook weer zot gezocht of dit wel mogelijk is want nergens zie ik meerdere parameters... in ajax.updater...

Als ik dan goed versta wat jij zegt is dat ik in de functie zelf dan al zou moeten kijken of inputveld2 wel gelijk is aan inputveld1 ? Hoe ik daar dan moet aan beginnen schiet me dood :)

killgore

Legacy Member
'naam1='+naam1+'&naam2='+naam2

I guess, nog nooit met dat prototype.js gewerkt, ik doe niet veel front-end coding, maar dat lijkt mij het meest logische als je aan een php bestand pars doorgeeft :p.

Da_Luke

Legacy Member
nvm, heb het opgelost!! Tnx mate, heb idd kunnen in de functie zelf bekijken of de twee waarden gelijk zijn!

killgore

Legacy Member
Nja, dat is inderdaad de simpelere oplossing :).

Maar ik vind u manier van werken nogal bizar, je zit met php-files te werken maar weet niet hoe je daar get-variabelen naar toe stuurt :x?

Da_Luke

Legacy Member
jawel hoor, is alleen die Ajax.updater is mij niet helemaal duidelijk hoe die in zijn werk gaat, nu dus wel...
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan