Avatar billede villadsen Nybegynder
05. juli 1999 - 01:28 Der er 15 kommentarer og
1 løsning

Alert-box når der indtastes i et tekstfelt hvis der allerede er valgt på liste

Jeg har en form med et select-felt og et text-felt hvor man skal vælge eller indtaste en kunde.

"glkunde" er en liste over tidl. kunder
"nykunde" er et tekstfelt til indtastning af ny kunde

Det skal blive sådan at hvis man allerede har valgt et navn på "glkunde"-listen skal der komme en alert op og sige "Du har allerede valgt en kunde" hvis man skriver noget i "nykunde"-feltet.

Browsermæssigt skal det køre i IE4 og Nescape4 (og opefter)

Jeg er Javascript-spasser, så kom gerne med cut-and-paste klar kode :-)

På forhånd tak!

Her er html-tagsene:

<select name="glkunde">
<option value="none">V&aelig;lg en kunde fra listen</option>
<option value="3">Andersens aviser</option>
<option value="1">Bentsens biler</option>
<option value="2">Clausens computere</option>
</select>
<br>
Eller indtast en ny:
<br>
<input type="text" name="nykunde">
Avatar billede mukke Nybegynder
05. juli 1999 - 02:32 #1
<input type="text" name="nykunde" onclick="if (glkunde.value <> "none") {alert('bah..... du er jo ikke rigtig klog')}">

Hvis det ikek virker - så prøv "ne" istedet for "<>"
Avatar billede villadsen Nybegynder
05. juli 1999 - 02:56 #2
Mukke, det virker ikke. Men jeg har selv fundet ud af det i mellemtiden ved at kigge på forsk. sider (bl.a. denne svarside)

Hvis du er interesseret så kan det gøres på denne måde:

<input type="text" name="nykunde" onclick="if (document.forms[0].glkunde.value >='0') {alert('Du har allerede valgt en kunde fra listen');}">

Beklager at have spildt din tid, men der er point at hente hvis du kan hjælpe mig videre. Når alerten har været der skal fokus rettes på et felt derhedder "litra".

Det kan jeg godt finde ud af, men ikke hvis den samtidig skal komme med en alert. Altså 2 ting på en gang?
Avatar billede floffy Nybegynder
05. juli 1999 - 10:51 #3
<input type="text" name="nykunde" onclick="if (document.forms[0].glkunde.value >='0') {alert('Du har allerede valgt en kunde fra listen');document.forms[0].litra.focus();}">



Avatar billede villadsen Nybegynder
05. juli 1999 - 11:23 #4
Lige hvad jeg manglede!
Avatar billede cyberesben Nybegynder
06. juli 1999 - 04:14 #5
floffy>> dit svar virker vist kun i IE
Avatar billede villadsen Nybegynder
24. august 1999 - 21:19 #6
Ja det virker kun i IE. Der er 30 p til den der laver en dere virker både i NN4+ og IE4+
Avatar billede theartist Nybegynder
24. august 1999 - 21:32 #7
//  Copyright 1999 www.e-comedia.dk thanx to Alf Demant
//  Her begynder Tekstfelt validerings scriptet

function checkForm1(nr) {
    inputStr = document.forms[nr -1].elements[2].value;
    var erTal
    for (var i = 0; i < inputStr.length; i++) {
        var enChar = inputStr.charAt(i)
        if ( enChar < "0" || enChar > "9") {
            erTal = false
        }
    }
    if (document.forms[nr - 1].elements[2].value == "") {
        alert("You have to write an amount!")
    } else if (erTal == false) {
        alert("You can only write a number!")
    } else if (parseInt(inputStr) < 25) {
            alert('You have to purchase more than 25 if you want your own logo on')
    } else {
        alert('You will be contacted. The price will also depend on the logo format')
        document.forms[nr - 1].submit();
    }
}
   
function checkForm2(nr) {
    inputStr = document.forms[nr - 1].elements[3].value;
    var erTal
    for (var i = 0; i < inputStr.length; i++) {
        var enChar = inputStr.charAt(i)
        if ( enChar < "0" || enChar > "9") {
            erTal = false
        }
    }
    if (document.forms[nr - 1].elements[3].value == "") {
        alert("You have to write an amount!")
    } else if (erTal == false) {
        alert("You can only write a number!")
    } else if (parseInt(inputStr) > 500) {
            alert('Please contact us if you want to purchase more than 500')
    } else {
        document.forms[nr - 1].submit();
    }
}

function checkForm3(nr) {
    inputStr = document.forms[nr - 1].elements[2].value;
    var erTal
    for (var i = 0; i < inputStr.length; i++) {
        var enChar = inputStr.charAt(i)
        if ( enChar < "0" || enChar > "9") {
            erTal = false
        }
    }
    if (document.forms[nr - 1].elements[2].value == "") {
        alert("You have to write an amount!")
    } else if (erTal == false) {
        alert("You can only write a number!")
    } else if (parseInt(inputStr) > 500) {
            alert('Please contact us if you want to purchase more than 500')
    } else {
        document.forms[nr - 1].submit();
    }
}

// -->

</script>
Avatar billede villadsen Nybegynder
24. august 1999 - 21:37 #8
Ahmen, det er jo alt for meget i forhold til hvad det skal bruges til.

Det er bare floffys svar der skal rettes til så det virker i både IE og NN.
Avatar billede villadsen Nybegynder
24. august 1999 - 22:02 #9
Jeg har selv rettet floffys lidt til, så det burde virke i Netscape, men det gør det stadig ikke:

<input type="text" name="nykunde" onclick="if (document.forms[0].elements[0].value > '0') {alert('Du har allerede valgt en kunde fra listen');document.forms[0].elements[2].focus();}">
Avatar billede cyberesben Nybegynder
24. august 1999 - 22:54 #10
<input type="text" name="nykunde" onclick="if  (document.forms[0].glkunde.options[document.forms[0].glkunde.selectedIndex].value != 'none') {alert('Du har
allerede valgt en kunde fra listen');document.forms[0].litra.focus();}">

dette er den korrekte måde at lave det på, nu virker det godt
Avatar billede villadsen Nybegynder
24. august 1999 - 23:02 #11
Nej det gør det desværre ikke. Er det mon fordi jeg bruger communicator 4.5 eller ?

Det virker fuldstændig på samme måde som før både i IE og NN. Dvs. at i IE kommer den fint nok op med en alert hvis man prøver at skrive i feltet, når man ikke må, mens NN ikke foretager sig noget...
Avatar billede cyberesben Nybegynder
24. august 1999 - 23:04 #12
prøv at give formen et navn og så erstat forms[0] med det navn
Avatar billede villadsen Nybegynder
24. august 1999 - 23:16 #13
Stadig ingen forskel :(
Avatar billede cyberesben Nybegynder
24. august 1999 - 23:22 #14
jeg har ordnet det, det var onclick= som skulle være onfocus=
Avatar billede villadsen Nybegynder
25. august 1999 - 00:57 #15
Hvorfor kommer der 2 alerts i Netscape?

cyberesbens løsning:
<input type="text" name="nykunde" onfocus="if (document.opret.glkunde.options[document.opret.glkunde.selectedIndex].value != '0') {alert('Du har allerede valgt en kunde fra listen');document.opret.litra.focus();}">               

Der ligger 30 point til cyberesben her:
http://www.eksperten.dk/spm.asp?id=3589
Avatar billede villadsen Nybegynder
25. august 1999 - 00:58 #16
Free at last.

Tak for hjælpen!
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