Avatar billede marvinq Nybegynder
16. april 2010 - 13:13 Der er 3 kommentarer og
2 løsninger

Problem med javascript i chrome og safari browser

Hej eksperter,

Jeg har lavet en mini form, hvor man indtaster sin e-mail, og ved klik på gem, så åbnes et popup vindue, hvor man kan udfylde lidt ekstra information. Det virker perfekt i Explorer og FireFox, men ikke i Chrome og Safari. Hvad er grunden til dette?? Er der noget særligt omkring popups og scripts i dem eller hvordan??

Jeg har lige klippet det vigtigste ud. (Har undladt validering(), da denne er lidt lang).

Håber I kan hjælpe.!

<SCRIPT type=text/javascript>
<!-- Start
function signin(){
    if(!document.forms[0].email.value==''){    window.open("http://www...dk,"","height=500,width=300,left=100,top=100, status=no, menubar=no, resizable=no, scrollbars=yes, toolbar=no, location=no, directories=no");
    }//if
}//signin
// Slut -->
</SCRIPT>

<form name="tilmeld" method="post" onsubmit="validering();return false;" action="java script:signin()">
<table cellpadding=2 cellspacing=2 border=0 height="20" width="180" ID=DWMain valign="top" align="center">
<tr height="20">
    <td colspan="3">
        <font face="arial" style="font-size:9pt"><b>Tilmeld/afmeld nyhedsbrev</b></font>
    </td>
</tr>

<tr height="20">
    <td>
        <font face="arial" style="font-size:9pt">E-mail:</font>
    </td>
    <td colspan="2" align="right">
        <input name="email" value="" type="text" maxlength="255" style="width: 120px; font-family: Verdana; font-size: 8 pt" tabindex="1">
    </td>
</tr>
<tr height="20">
    <td colspan="3" align="right">
        <input type="submit" value="Gem" style="font-size: 10px; font-family: Verdana; color: #000000; font-weight: normal" tabindex="2"/>
    </td>
</tr>
</table>
</form>
Avatar billede Slettet bruger
16. april 2010 - 16:43 #1
Lige hurtigt: "return false" i onsubmit burde vel forhindre at action nogensinde udføres ?

Altså mere overraskende at det faktisk virker i FF og iE!
- måske fordi du kører i quirks-mode og browserne forsøger at gætte hvad du "mente" : )

prøv med onsubmit="return validering()"
- og så selvfølgelig returnere true eller false fra validering() funktionen
Avatar billede olebole Juniormester
18. april 2010 - 19:48 #2
<ole>

Koden, du viser, giver ikke megen mening.

1) Hvad indeholder din funktion validering?
2) Hvad indeholder dokumentet, du loader i popup'en?
3) Hvorfor overhovedet hele denne sære opbygning?

/mvh
</bole>
Avatar billede marvinq Nybegynder
19. april 2010 - 08:55 #3
T4NK3R>
Jeg forestillede mig at den udførte validering før return false, men for at teste din tese, så har jeg prøvet at returnere en false fra validering og fjerne den fra onsubmit, men det ændrer intet. Det virker stadig ikke.

olebole>
Som jeg skrev, så undlod jeg validering, fordi den er meget lang. Det er egentlig bare et script som kontrollerer om mailadressen som bliver tastet er valid. Popen af bare en .asp side, med en formular i, men vinduet åbner aldrig i chrome/safari. Hvad er det der er mærkeligt??

Jeg har fjernet validering fuldstændig, og fjernet onsubmit, men det ændrer stadig intet.. Problemet ligger I at få åbnet popup'en. Der sker intet ved klik i Chrome og Safari, men i Firefox og Explorer kører det fint..

/MHQ
Avatar billede marvinq Nybegynder
19. april 2010 - 08:57 #4
Aaah... så lykkedes det...

Jeg modificerede lige form-tag'et en smule. Det lader ikke til at de fanger "action" i chrome og safari, så den fjernede jeg, og byggede kaldet til signin ind i validering, og så lykkedes det.

Lækkert med lidt feedback, som fik mig til at tænke lidt. olebole, smid et svar, så deler vi alle i porten.

Jeg takker.


/MHQ
Avatar billede Slettet bruger
20. april 2010 - 15:55 #5
ok
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