WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Formulär - autovälja val2 i dropdown (https://www.wn.se/forum/showthread.php?t=1046563)

spajk 2011-02-16 11:45

Formulär - autovälja val2 i dropdown
 
Hej,

Försöker bygga ett formulär.

Sida 1.
Här finns det information och 4 olika klickbara länkar som länkas till sida2.

Sida 2.
Här finns ett formulär med en dropdown, denna dropdown har 40 val.

Går det att skriva i länken vilket val i dropdownen den ska automatiskt välja?
T ex länkA <a href="sida2.html#val2">LänkA</a>

Eller går det att göra på något annat smidigt sätt?

Tacksam för hjälp.

tartareandesire 2011-02-16 13:07

Du får köra js i så fall.

spajk 2011-02-16 16:25

Php kanske kan ordna det, t ex att i adressfältet ?dropdown=val2?

Behöver lite vägledning på vart jag kan hitta lösningen eller om någon vill skriva en kodsnutt?

nosnaj 2011-02-16 16:42

Citat:

Ursprungligen postat av spajk (Inlägg 20393276)
Php kanske kan ordna det, t ex att i adressfältet ?dropdown=val2?

Behöver lite vägledning på vart jag kan hitta lösningen eller om någon vill skriva en kodsnutt?


if($_GET['dropdown'] == $vardePaDinOption) {
echo '<option selected="selected" value="varde">text</option>';
} else {
echo '<option value="varde">text</option>';
}

spajk 2011-02-16 16:44

super tack!

tartareandesire 2011-02-16 18:15

Hehe, missuppfattade frågan lite grann :) Vill du verkligen ha valet i url:en? Normalt är det snyggare utan tycker jag.

Kekke 2011-02-16 19:31

Var tvungen att vänta på att mitt konto skulle aktiveras.
Detta är hur jag skulle löst det:

fil1
Kod:

<a href="form.php?prechoice=Cars">Cars in the form</a>
fil2
Kod:

<?php
        function optionSelect($strValue)
        {       
                if(isset($_GET['prechoice']) && $_GET['prechoice'] != "") {
                        $pre = $_GET['prechoice'];
                        if($strValue == $pre) {
                                echo "selected";
                        }
                }
                else {
                        echo "Prechoice not set<br />";
                }
        }
?>

<form>
        <select>
                <option <?php optionSelect("Books"); ?>>Books</option>
                <option <?php optionSelect("Cars"); ?>>Cars</option>
                <option <?php optionSelect("Movies"); ?>>Movies</option>
        </select>
</form>


KarlRoos 2011-02-16 23:54

Bara för att göra något konstruktivt innan jag går och lägger mig så skrev jag om den till en version som i alla fall jag tycker är snyggare och lättare att använda.

PHP-kod:

<?php
function select_options($options$active ''){
    
$html '';
    
    foreach(
$option as $key => $val){
        
$selected '';
        
        if(
$key == $active){
            
$selected ' selected="selected"';
        }
        
        
$html .= '<option value="' $key '"' $selected '>' $val '</key>' "\n";
    }

    return 
$html;
}
?>

PHP-kod:

<form>
<select>
<?php
echo select_options(array(
    
'Books' => 'Books',
    
'Cars' => 'Cars',
    
'Movies' => 'Movies'
), $_GET['selected_option']);
?>
</select>
</form>

Sedan är det en länk in på samma sätt.

Kekke 2011-02-17 00:18

Citat:

Ursprungligen postat av KarlRoos (Inlägg 20393346)
Bara för att göra något konstruktivt innan jag går och lägger mig så skrev jag om den till en version som i alla fall jag tycker är snyggare och lättare att använda.

PHP-kod:

<?php
function select_options($options$active ''){
    
$html '';
    
    foreach(
$option as $key => $val){
        
$selected '';
        
        if(
$key == $active){
            
$selected ' selected="selected"';
        }
        
        
$html .= '<option value="' $key '"' $selected '>' $val '</key>' "\n";
    }

    return 
$html;
}
?>

PHP-kod:

<form>
<select>
<?php
echo select_options(array(
    
'Books' => 'Books',
    
'Cars' => 'Cars',
    
'Movies' => 'Movies'
), $_GET['selected_option']);
?>
</select>
</form>

Sedan är det en länk in på samma sätt.

Smidigt!

Dock bör man använda selected istället för selected="selected".
http://www.w3.org/TR/html401/intro/s...html#h-3.3.4.2

nosnaj 2011-02-17 07:56

Citat:

Ursprungligen postat av Kekke (Inlägg 20393348)
Smidigt!

Dock bör man använda selected istället för selected="selected".
http://www.w3.org/TR/html401/intro/s...html#h-3.3.4.2


Beror vilken standard man skriver mot, forntid eller nutid ;)
Att använda den korta varianten resulterar i att det blir ogiltig XML.


Alla tider är GMT +2. Klockan är nu 17:30.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson