Avatar billede krydset Nybegynder
12. september 2005 - 16:16 Der er 9 kommentarer og
1 løsning

beholde text i et textfield

Hejsa har lidt kode her som reloader når man har valgt noget i en select box, så de relaterede emner vises i den næste select box... det ser såedan her ud...





<?php
$testRes = mysql_query("SELECT * FROM category WHERE CategoryId = '$_GET[categoryid]'") or die(mysql_error());
while($testRow = mysql_fetch_array($testRes)) {
    $_SESSION['categoryName'] = $testRow['CategoryName'];
}
?>

<form action="index.php?link=fragtAction.php" method="post">
    <table align="center" class="form" cellspacing="2" border="0">
        <tr>
            <td colspan="6" align="center" class="topBoks" colspan="3">OPRET VARE</td>
        </tr>
        <tr>
            <td colspan="6" class="helpText" colspan="3">
            At oprette en vare i dette system er let. Ganske enkelt udfyld nedest?ende form med de korrekte oplysninger.
            Hvis der er et felt du ikke forst?r meningen af, s? kan du f?re muse mak?ren over ? tegnet til h?jre for hvert felt og f? en
            forklaring
            </td>
        </tr>
       
        <tr>
            <td>Varenavn:</td>
            <td><input type="text" name="itemName" class="textField"></td>
            <td colspan="4"><img src="pic/quest.jpg" width="15px"></td>
        </tr>
        <tr>
            <td>Indledende text:</td>
            <td><input type="text" name="headerText" class="textField"></td>
            <td colspan="4"><img src="pic/quest.jpg" width="15px"></td>
        </tr>
        <tr>
            <td>Kategori valg</td>
            <td>
                <select name="subCategoryId" class="textField" onChange="window.location.href = (this.options[this.selectedIndex].value);">
                <?php
                //Henter her alle kategorier ud fra database
                $categoryRes = mysql_query("SELECT * FROM category ORDER BY CategoryName") or die(mysql_error());
                while($categoryRow = mysql_fetch_array($categoryRes)) {
                    $categoryName = ucfirst($categoryRow['CategoryName']);
                    echo("<option value='index.php?link=newitem.php&categoryid=$categoryRow[CategoryId]' ");
                    if($categoryRow['CategoryName'] == $_SESSION['categoryName']) {
                        echo " selected";
                    }
                    echo(">".$categoryRow['CategoryName']."</option>");
               
                }
                ?>
                </select>
            </td>

Men nu vil jeg godt have at det man indtaster eks i itemName bliver stående efter siden har refreshet, kan det lade sig gøre ?
Avatar billede Slettet bruger
12. september 2005 - 16:18 #1
Så skal du nok lave det i et serverside script som f.eks. php... Ellers bliver du nødt til at gemme værdierne i en cookie.
Avatar billede roenving Novice
12. september 2005 - 16:29 #2
F.eks.

<td><input type="text" name="itemName" class="textField" value="<?php if($_POST["itemName"]!="")echo $_POST["itemName"] ?>"></td>

-- eller $_GET, men begge kræver at du faktisk submitter formen, og så må du fortælle dit script, at submitten kun sker for at opdatere select-boksene !-)
Avatar billede krydset Nybegynder
12. september 2005 - 16:30 #3
i stedet for den her window.location.href , kan man så ikke gøre så den poster, så kan jeg hente eks. ItemName med $_POST i php ?, jeg har ikke så meget forstand på JS så jeg selv kan regne den ud.
Avatar billede roenving Novice
12. september 2005 - 16:37 #4
Jo, så skal du:

-- have et skjult felt med værdien af kategori-valg, hvis der er nogen ...

-- i dit script teste, om det felt har en værdi, og benytte det opdatering og opslag ...

-- i onchange-eventen først sætte detskjulte felt og bagefter submitte formen:

<select ... onchange="this.form.hiddenCategory.value=this.value;this.form.submit();"

-- men jeg kan ikke gennemskue hvordan dit script opdaterer select-boksen, så måske skal det se anderledes ud !-)
Avatar billede krydset Nybegynder
12. september 2005 - 20:46 #5
hmmmm :/
Avatar billede krydset Nybegynder
13. september 2005 - 09:37 #6
Kan man ikke sætte det med en cookie og hente det igen ??
Avatar billede roenving Novice
13. september 2005 - 11:10 #7
Jo, da, men hvad er konditionerne, 2-5 felter, som er nemme at genkende i formen, eller ?-)

-- hvis man også skal rette select-felter, der kan være et variabelt antal felter eller lignende, bliver algoritmen (og dermed koden !-) mere kompliceret end jeg umiddelbart vil anbefale, hvorimod den server-side vil være helt ukompliceret, da du jo har værdierne direkte i $_POST-arrayet !o]
Avatar billede krydset Nybegynder
04. oktober 2005 - 23:48 #8
roenving ligger du et svar, lavede det server side
Avatar billede roenving Novice
08. oktober 2005 - 21:55 #9
Oki '-)
Avatar billede roenving Novice
08. oktober 2005 - 23:16 #10
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester