Hallo allemaal,

Ik doe ergens iets niet goed. Ik heb geen idee wat.
De regel "alert("record_id = " + id); " in de onderstaande code geeft aan dat id is gevuld met bijvoorbeeld 36.
Maar als ik daarna verder ga met de code wordt de code niet naar menu_tabel_update.php overgebracht te worden.

In beheer_menu.php heb ik de volgende code:


			function SelecteerRegel( x, id)
			{ 
				$(x).siblings().show(); 
				$(x).hide(); 
				$('#Button_Add').hide(); 
				$('#Update_Form').show(); 
				$('#Delete_Yes_No').hide(); 
				alert("record_id = " + id); 
				$.ajax
				({
					type: "POST",
					data: {id: id},
					url: "menu_tabel_update.php",
					dataType: "xml",
					success: function(data) 
					{
						alert(data);
					}
				});
			};


"var_dump($_POST);" geeft in menu_tabel_update.php
array(0) { }

Ik probeer daar met $_POST['íd'] de waarde over te nemen.

Ziet iemand waar ik de fout ingegaan ben?
"Maar als ik daarna......"

Er mist iets aan tekst?
Frits van Leeuwen op 20/04/2020 00:22:50
"var_dump($_POST);" geeft in menu_tabel_update.php array(0) { }


Hoe constateer je dit? Bekijk je de response van menu_tabel_update.php in de netwerk-tab ofzo?

Mogelijk gaat dat niet helemaal lekker omdat je zegt dat het formaat van retour-informatie (dataType) gelijk is aan XML (en hoezo XML? niet JSON ofzo?).

EDIT: voor de goede orde zou je ook 'id': id moeten gebruiken. Dus met quotes om de keys, het een is een tekst, het ander een echte waarde. Anders krijg je wellicht een "je kunt geen waarde aan een constante toekennen"-foutmelding ofzo.

En weet je ook zeker dat er niets gesubmit wordt, en dat je dus niet wegnavigeert van de pagina ofzo?

Ik heb een deja vu. Is zeer recent iets soortgelijks niet al eerder gevraagd?

In plaats van de netwerktab zou je dus ook de console kunnen controleren, het is waarschijnlijker dat JavaScript ergens over zijn nek gaat.
Inderdaad, ik raad zelf aan om in geval van troubles met AJAX eens in de network-tab te kijken.
Er staat een schat aan informatie in die je kan helpen met troubleshooten.
Zie je dit niet, dan vindt de AJAX-request niet eens plaats.
Ik heb daar van alles ingevuld. Tekst, json, xml, string, of zelfs helemaal weggelaten.

var_dump($_POST);
Staat bovenaan in de code van menu_tabel_update.php
Deze geeft dan array(0) { } in beeld
Zie mijn bovenstaande edit - zie je rode tekst in je console? :p

[size=xsmall]Toevoeging op 20/04/2020 12:15:28:[/size]

NB 'type' is een alias voor 'method'. Het is waarschijnlijk beter om 'method' te gebruiken (dus 'method': 'POST'). Ik zou hierbij ook alle keys voorzien van quotes ten einde verwarring te voorkomen tussen tekstuele labels en variabelen, zoals al eerder aangegeven.
In Edge F12
console
SCRIPT438: SCRIPT438: Object doesn't support property or method 'ajax'

nerwerk
404 melding op het bestand "jquery.min.map" Maar die roep ik nergens aan, dus die snap ik niet

Ik heb de aanwijzingen overgenomen. Dus method gebruikt en quotes gebruikt

Ik gebruik jquery-3.5.0.slim.js met Ajax er in.

In de Slim zat toch juist geen Ajax?
Dat zegt de error ook.
Ik had bij de laatste download daar op gelet. Misschien toch de verkeerde gepakt.
Ik ga dit nog eens controleren en kom er dan op terug.

[size=xsmall]Toevoeging op 23/04/2020 00:02:03:[/size]

Ja stom van me. Ik heb nu jquery-3.5.0.min.js gedownload en online geplaatst.

Nu heb ik:

In Edge F12
console
Geen melding meer die hier iets mee te maken heeft.

nerwerk
404 melding op het bestand "jquery.min.map" Is er dus nog steeds.

En het werkt verder ook nog niet.

Ik gebruik jquery-3.5.0.slim.js met Ajax er in.
Maar misschien denk ik te moeilijk.
Ik heb een query die ik toon in een lijst waar ik op kan klikken. Waarmee ik een mutatie formulier er boven van hidden af haal en met Ajax probeer te vullen.

Het Id nummer zie ik in de Alert voor de Ajax actie. Maar het formulier wordt niet gevuld omdat ik het Id niet in het formulier krijg. In dit formulier probeer ik met een query alleen dat bewuste record te openen.

In de lijst heb ik niet alle velden die ik wel in het formulier wil hebben. En ik wil ook niet alle velden nomen in de link om alles door te zetten naar het mutatieformulier.

ik heb als structuur het volgende:
Beheer.php heeft een include voor toevoegen, muteren en tonen.
Het tonen gebruik ik om de lijst te tonen, en die blijft in beeld.
Toevoegen gebruik ik om een record toe te voegen. Die wordt getoond als ik op een toevoeg knop klik.
Muteren gebruik ik als ik op een regel klik. Daar kan ik ook verwijderen kiezen. (als ik hem in het formulier heb.)

Zelf denk ik dat ik op de een of andere manier beter met Jquery met de 'this' mogelijkheid het formulier kan vullen, maar ik heb geen idee hoe.

Reageren