Avatar billede mtrolle Nybegynder
12. oktober 2005 - 19:38 Der er 11 kommentarer og
1 løsning

Ulighed i javascript

Hej :)

Et lille hurtigt og uden tvivl super pinligt spørgsmål :)

I PHP kan jeg skrive if($variabel !== 'dette') { do that }
Hvordan pokker gør man det i javascript?
Har et script som kun virker i IE hvor jeg gør således:
for(i=1; i<=5; i++) {
        if((document.getElementById('titel_'+i).value=='') && !(document.getElementById('file_'+i).value=='')) {
            msgAlert += "Du mangler at give billede "+ i +" en titel!\n";
            msgFocus = "titel_"+i;
        }
    }
    if(msgAlert == "") {
        document.getElementById('uploadBefore').style.display='none';
        document.getElementById('uploadNow').style.display='block';
        document.getElementById('uploadNowTop').style.display='block';
        document.getElementById('formen').submit();
        dot();
    } else {
        alert(msgAlert);
        document.getElementById(msgFocus).focus();
        return false;
    }

Men har på fornemmeren at det er !(document.getElementById('file_'+i).value=='') det driller de andre browsere..?
Eller er det virkelig måden man gør det på i JavaScript?
Avatar billede olebole Juniormester
12. oktober 2005 - 19:42 #1
<ole>

Når du adresserer med document.getElementById, skal dine elementer naturligvis have en ID  :)
Der er kun én enkelt browser, der er fatsvag nok til at overse dette - og kalde elementerne på deres name-attribut  ;o)

/mvh
</bole>
Avatar billede olebole Juniormester
12. oktober 2005 - 19:43 #2
:)
Avatar billede mtrolle Nybegynder
12. oktober 2005 - 19:48 #3
hæhæ :) elsker folk der er kritiske overfor IE :) Skod browser. Men, forstår ikke helt hvor du vil hen vedr. name-attribut, da jeg benytter getElementById() hele vejen igennem scriptet og alle de id'er jeg kalder findes skam i html'en.
Avatar billede olebole Juniormester
12. oktober 2005 - 20:52 #4
- så må jeg have noget mere kode  :)
Avatar billede olebole Juniormester
12. oktober 2005 - 20:58 #5
Du kan prøve dette, som jo funker fint:

<input id="gnu" type="file"><br>

<button onclick="if(document.getElementById('gnu').value=='')alert('Tom');return false">TEST</button>
Avatar billede mtrolle Nybegynder
12. oktober 2005 - 21:21 #6
Blot for at vende tilbage til mit spørgsmål, hvordan skriver man så
if(variabel er ulig xxx) i javascript?
Jeg prøver lig den kode du har sat som eksempel i safari.
Avatar billede olebole Juniormester
12. oktober 2005 - 21:31 #7
- fuldstændig som i PHP:
  if (noget != nogetAndet) alert("forskellig");

Du kan også i JS bruge '!==', men så sammenligner du - ligesom i PHP - både værdi og type af variablerne  :)
Avatar billede mtrolle Nybegynder
12. oktober 2005 - 21:33 #8
har prøvet
if((document.getElementById('titel_'+i).value=='') && (document.getElementById('file_'+i).value != '')) {
Virker heller ikke :(
Avatar billede mtrolle Nybegynder
12. oktober 2005 - 22:06 #9
for(i=1; i<=5; i++) {
        if(document.getElementById('file_'+i).value != '') {
            if(document.getElementById('titel_'+i).value=='') {
                msgAlert = "Du mangler at give billede "+ i +" en titel!\n";
                msgFocus = "titel_"+i;
            }
        }
    }

Virker nu, men kun på fil nr. 1, når man vælger fil i en af de andre virker det ikke :(
Avatar billede mtrolle Nybegynder
18. oktober 2005 - 21:17 #10
Du får point nu... Ved ik, har aldrig fået mit script til at virke, men i forhold til mit spørgsmål har du jo svaret.
Avatar billede olebole Juniormester
18. oktober 2005 - 21:32 #11
Tak for points  :)

Det her funker fint hos mig:

<script type="text/JavaScript">
function bla() {
    var msgAlert = msgFocus = "";
    for (i=1; i<=5; i++) {
        if (document.getElementById('file_'+i).value != '') {
            if (document.getElementById('titel_'+i).value=='') {
                msgAlert = "Du mangler at give billede "+ i +" en titel!\n";
                msgFocus = "titel_"+i;
            }
        }
    }
    alert(msgAlert);
    document.getElementById(msgFocus).focus();
}
</script>

<input type="file" id="file_1">
<input type="text" id="titel_1">
<br>
<input type="file" id="file_2">
<input type="text" id="titel_2">
<br>
<input type="file" id="file_3">
<input type="text" id="titel_3">
<br>
<input type="file" id="file_4">
<input type="text" id="titel_4">
<br>
<input type="file" id="file_5">
<input type="text" id="titel_5">
<br><br>
<button onclick="bla()">TEST</button>
Avatar billede mtrolle Nybegynder
18. oktober 2005 - 21:34 #12
virker det i safari eller firefox?
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