list- of combobox

Status
Niet open voor verdere reacties.

erik1964

Gebruiker
Lid geworden
14 mrt 2008
Berichten
5
Goedemiddag allen,
Ik haal gegevens uit een DB middels onderstaande code komen de gegevens op het scherm
Code:
echo '<OPTION selected value="">Selecteer...</OPTION>';

while ($row = mysql_fetch_array($res))
        {
    echo '<OPTION value="'.$row['id'].'">'.ucfirst($row['plaatsnaam']).'</OPTION>';
        }
    echo '</TD></SELECT>';

Als ik nu een nieuwe plaatsnaam heb die niet in de DB staat hoe kan ik dan het "veld"
option overschrijven met de nieuwe plaatsnaam? Zodat die in de DB wordt toegevoegd.
 
Dan maak je toch een extra textveld er onder die je controleert op leegheid.

Wanneer hij leeg is dan doe je er niets mee, zodra er iets in staat wordt dat in de tabel met steden ge-INSERT en negeer je de selectie uit de <option>.
 
list of combobox

Ja, dat kan maar ik had gehoopt dat het ook zou kunnen door het veld te overschrijven.
 
Je kunt een <option> niet "typbaar" maken.
 
Het is zoals Tha Devil zegt idd niet mogelijk om een <option> typbaar te maken, maar je kan natuurlijk altijd de <option> vervangen voor een <input> veld via javascript.

Ik heb ff voor je iets in elkaar gebouwt, maar ik kan geen javascript dus het ziet er waarschijnlijk niet uit:

HTML:
<form name="het_formulier">
<div id="velda" onkeydown="document.getElementById('velda').style.display='none'; document.getElementById('veldb').style.display='block'; document.het_formulier.c.focus();"><select><option>1</option><option>2</option></select></div>
<div id="veldb" ondblclick="document.getElementById('veldb').style.display='none'; document.getElementById('velda').style.display='block';"><input id="c" /></div>
</form>

Ik zal ff dit stukje html/javascript proberen uit te leggen:
Eerst open je het formulier, geef deze tag een naam mee (heb je later nog nodig)
Hierna open je een divje waarin je de neerzet waarin hij je plaatsnamen uit de db haalt en in een <select> neerzet.
In deze div zet je een optie "onkeydown". Dit houd in dat als je dat veld geselecteerd hebt en je drukt op een toets hij de actie uitvoert. Bij de actie erachter zet je 3 dingen neer:
document.getElementById('velda').style.display='none'; <- dit zorgt dat het divje velda niet meer zichtbaar is
document.getElementById('veldb').style.display='block'; <- dit zorgt dat het divje veldb zichtbaar wordt
document.het_formulier.c.focus(); <- dit zet de focus (het kinipperende dingetje) op de <input>. (het_formulier = de naam van dit formulier, dus degene die je boven hebt moeten opgeven) (de "c" staat voor het veld waar de focus op moet komen te staan, in dit geval "c" genaamd)
In het andere divje zet je het <input> veld neer. Hierbij geef je ook de optie ondblclick aan in het divje. Dit zorgt ervoor dat als je 2x klikt op het veld hij de code erachter uitvoert. In deze code laat je hem weer de andere div zien en deze verbergen.


Dit is natuurlijk niet echt een nette oplossing, en ik weet ook niet of het lekker gaat werken, maar het is tenminste een oplossing.
Ik hoop dat je hier iets mee kan.
ticom/timothy de vries
 
Dank voor jullie antwoorden. Ik ga de aangeboden code proberen en mocht het nietlukken dan worden het twee velden (option en input) en als een leeg is dan de andere.
Ik weet ook nog niet veel van javascript.

Dank voor het meedenken allemaal
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan