branco holtslag
branco holtslag

Reputation: 279

How can I remember dropdown selection on form submit?

On form submit I want all my input fields to be remembered, input and textarea's already work but I can't get this selection to work properly.

This is my selection

<select name="signalering">
    <option value="Bezoek" selected>Bezoek</option>
    <option value="Meerwerk">Meerwerk</option>
    <option value="Stelpost">Stelpost</option>
    <option value="Verrekenpost">Verrekenpost</option>
    <option value="Levering">Levering</option>
    <option value="Aandachtspunt">Aandachtspunt</option>
    <option value="Tekortkoming">Tekortkoming</option>
    <option value="Opname werk">Opname werk</option>
    <option value="Overig">Overig</option>
</select>

If anyone knows a simple sollution to remember this dropdown selection I would be sooo happy :)

Upvotes: 0

Views: 1863

Answers (3)

GIPSSTAR
GIPSSTAR

Reputation: 2110

<form id="form" name="form" action="" method="post" enctype="multipart/form-data">

    <?php 
        $signalering = addslashes(trim($_POST['signalering']));
        $options = array('Bezoek', 'Meerwerk', 'Stelpost', 'Verrekenpost', 'Levering', 'Aandachtspunt', 'Tekortkoming', 'Opname werk', 'Overig'); 
        $sel_output = '<select name="signalering" onChange="this.form.submit()">';
        $sel_output .= '<option value="">Select</option>';
        foreach($options as $option)
        {
            if($signalering == $option){$selcted = 'selected';}else{$selcted = '';}
            $sel_output .= '<option value="'.$option.'" '.$selcted.'>'.$option.'</option>';
        }
        $sel_output .= '</select>';

        echo $sel_output;
    ?>
</form>

Upvotes: 0

Kevin
Kevin

Reputation: 41893

You could just check upon submission on those tag. Check is submitted value is equal to the value, then echo selected attribute:

Rough example:

<?php $options = array('Bezoek', 'Meerwerk', 'Stelpost', 'Verrekenpost', 'Levering', 'Aandachtspunt', 'Tekortkoming', 'Opname werk', 'Overig'); ?>
<select name="signalering" onchange="this.form.submit()">
<?php foreach($options as $option): ?>
    <option value="<?php echo $option; ?>" <?php echo (isset($_POST['signalering']) && $_POST['signalering'] == $option) ? 'selected' : ''; ?>>
        <?php echo $option; ?>
    </option>
<?php endforeach; ?>
</select>

Sample Output

Sidenote: This is just an example. You do not need onchange="this.form.submit()" on the select tag.

Upvotes: 3

Deano
Deano

Reputation: 176

im guessing your posting something, just stick a script at the top of the page which checks if the value exists and loop through it accordingly

if( isset($_POST['value']) )
    {
     //do loop here
}else{
     //output default select code
}

Upvotes: 0

Related Questions