De optiewaarde verkrijgen zonder een formulier in te dienen?
Hierbij heb ik een code gevonden via google echter , dit zou volgens hun moeten werken, maar ik zie geen waarde verschijnen als ik een keuze maak.
De code die ik gebruik om mijn selectbox te vullen is als volgt.:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<select name="DienstGebruiker" id="employee" onchange="load_new_content()" style=" height:26px;">
<option value="" disabled selected="selected[]" multiple="multiple">Selecteer gebruiker</option>
<?php
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM preparationusers order by Users ASC";
$q = $pdo->prepare($sql);
$q->execute(array($Id,$Users));
Database::disconnect();
while ($row = $q->fetch(PDO::FETCH_ASSOC)) {
selected = ( $row['Users'] == $_POST['DienstGebruiker'] ? 'selected' : '' );
echo "<option value='" . $row['Users'] . "' " . $selected . " >" . $row['Users'] . "</option>";}
?>
</select>
<option value="" disabled selected="selected[]" multiple="multiple">Selecteer gebruiker</option>
<?php
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM preparationusers order by Users ASC";
$q = $pdo->prepare($sql);
$q->execute(array($Id,$Users));
Database::disconnect();
while ($row = $q->fetch(PDO::FETCH_ASSOC)) {
selected = ( $row['Users'] == $_POST['DienstGebruiker'] ? 'selected' : '' );
echo "<option value='" . $row['Users'] . "' " . $selected . " >" . $row['Users'] . "</option>";}
?>
</select>
Het script dat dus word aangeroepen als ik een keuze maak is deze.:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<script>
function load_new_content(){
var selected_option_value=$("#DienstGebruiker option:selected").val(); //get the value of the current selected option.
$.post("script_that_receives_value.php", {option_value: selected_option_value},
function(data){ //this will be executed once the `script_that_receives_value.php` ends its execution, `data` contains everything said script echoed.
// $("#place_where_you_want_the_new_html").html(data);
alert(data); //just to see what it returns
}
);
} </script>
function load_new_content(){
var selected_option_value=$("#DienstGebruiker option:selected").val(); //get the value of the current selected option.
$.post("script_that_receives_value.php", {option_value: selected_option_value},
function(data){ //this will be executed once the `script_that_receives_value.php` ends its execution, `data` contains everything said script echoed.
// $("#place_where_you_want_the_new_html").html(data);
alert(data); //just to see what it returns
}
);
} </script>
Hij zou dus de volgende file moeten oproepen.: script_that_receives_value.php
Dit werkt echter de gekozen waarde van de select box zou dan getoond moeten worden in een alert box, maar de waarde word niet overgenomen.
De code die in script_that_receives_value.php staat is.:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$selected_option=$_POST['DienstGebruiker'];
//Do what you need with this value, then echo what you want to be returned.
echo "you have selected the option with value=$selected_option";
?>
$selected_option=$_POST['DienstGebruiker'];
//Do what you need with this value, then echo what you want to be returned.
echo "you have selected the option with value=$selected_option";
?>
Kan mij iemand zeggen waarom de gekozen waarde van mijn selectbox niet overgenomen word naar mijn alert box?
De reden namelijk dat ik die alert box even gebruik is namelijk dat ik die waarde zonder form bevestiging mee kan nemen in alle andere vensters die ik gebruik voor de form bevestigd word.
Gewijzigd op 24/05/2019 12:39:40 door Pascal Schuffelers
option_value met waarde selected_option_value.
Wat je probeert op te vragen: $_POST['DienstGebruiker'].
Je verzendt niet langer het oorspronkelijke formulier maar je bouwt zelf het POST request. Dit had je zelf ook kunnen testen door de inhoud van $_POST te dumpen in script_that_receives_value.php.
Voor het selecteren van de waarde kun je ook simpelweg $('#employee').val() gebruiken denk ik (dus niet DienstGebruiker, dat is geen id). En ook dat kun je in afzondering testen.
Dit is weer zo'n probleem waarbij je niet weet wat er gebeurt omdat je geen informatie opvangt over de toestand van je variabelen en is dus niet zozeer een specifiek probleem, maar meer een (gebrek aan een) zekere werkwijze die je jezelf (zou) moet(en) aanleren waarbij je variabelen en waarden inspecteert.
Wat je verstuurt: Wat je probeert op te vragen: $_POST['DienstGebruiker'].
Je verzendt niet langer het oorspronkelijke formulier maar je bouwt zelf het POST request. Dit had je zelf ook kunnen testen door de inhoud van $_POST te dumpen in script_that_receives_value.php.
Voor het selecteren van de waarde kun je ook simpelweg $('#employee').val() gebruiken denk ik (dus niet DienstGebruiker, dat is geen id). En ook dat kun je in afzondering testen.
Dit is weer zo'n probleem waarbij je niet weet wat er gebeurt omdat je geen informatie opvangt over de toestand van je variabelen en is dus niet zozeer een specifiek probleem, maar meer een (gebrek aan een) zekere werkwijze die je jezelf (zou) moet(en) aanleren waarbij je variabelen en waarden inspecteert.
Gewijzigd op 24/05/2019 13:11:52 door Thomas van den Heuvel
Oke zal het later een testen, echter wat ik al aangaf, code komt vanuit google.
https://stackoverflow.com/questions/15153595/getting-the-option-value-without-submitting-a-form
Met goed lezen en wat oefenen zou het moeten lukken.
Toevoeging op 27/05/2019 18:09:58:
Uitgewerkt voorbeeld volgens topic bij stackoverflow :
Code (php)
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
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
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
function load_new_content()
{
//get the value of the current selected option.
var selected_option_value=$("#select1 option:selected").val();
$.post("script_that_receives_value.php",
{
option_value: selected_option_value
},
function(data)
{
// this will be executed once the 'script_that_receives_value.php' ends its execution,
// 'data' contains everything said script echoed.
$("#place_where_you_want_the_new_html").html(data);
alert(data); //just to see what it returns
}
);
}
</script>
<select name='select1' id='select1' onchange='load_new_content()'>
<option value="IVP" selected>IVP</option>
<option value="SURTEK">SURTEK</option>
<option value="GUITARTUNER">GUITARTUNER</option>
<option value="OTHER">OTHER</option>
</select>
<div id='place_where_you_want_the_new_html'></div>
<script>
function load_new_content()
{
//get the value of the current selected option.
var selected_option_value=$("#select1 option:selected").val();
$.post("script_that_receives_value.php",
{
option_value: selected_option_value
},
function(data)
{
// this will be executed once the 'script_that_receives_value.php' ends its execution,
// 'data' contains everything said script echoed.
$("#place_where_you_want_the_new_html").html(data);
alert(data); //just to see what it returns
}
);
}
</script>
<select name='select1' id='select1' onchange='load_new_content()'>
<option value="IVP" selected>IVP</option>
<option value="SURTEK">SURTEK</option>
<option value="GUITARTUNER">GUITARTUNER</option>
<option value="OTHER">OTHER</option>
</select>
<div id='place_where_you_want_the_new_html'></div>
Bestand 'script_that_receives_value.php' bevat :
Pascal Schuffelers op 27/05/2019 16:31:13:
code komt vanuit google.
De grootst mogelijke (foutieve) onzin staat op het internet, iets blindelings overnemen en hopen dat het werkt lijkt mij onverstandig. Je zult op zijn minst moeten begrijpen/doorgronden wat code doet.