[JS] Op internet error, op intranet perfect

Pagina: 1
Acties:

  • Massiefje
  • Registratie: Mei 2002
  • Laatst online: 12-11 09:57
Ik heb een klein formuliertje, met een button erbij. De button heeft als onclick event validateChoice()

De validate choice functie is een simpele functie:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
function validateChoice()
    {
        if(confirm('Weet u zeker dat u dit bericht wilt verwijderen?'))
        {
            document.forms['gbcp'].submit();
        }
        else
        {
            //
        }
    }


HTML:
1
2
3
4
5
6
<form name="gbcp" id="gbcp" method="post" action="gb_submit.php" style="margin:0px 0px 0px 0px  ;">
<input type="hidden" name="id" value="1" />
<input type="submit" name="action" value="Goedkeuren" />
<input type="hidden" name="action2" value="delete" />
<input type="button" value="Verwijderen" onclick="validateChoice()"/>
</form>


Deze code werkt prima op onze interne webserver, maar niet op het internet. Als ik de code vervang van document.forms['gbcp'].submit() naar alert('test'); werkt het wel. Dus het probleem zit duidelijk in het submit gedeelte.

Samenvatting: Code werkt op intranet met FireFox en IE. Code werkt op internet alleen met FireFox.

Iemand enig idee ?

[ Voor 25% gewijzigd door Massiefje op 08-03-2007 12:32 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Waar is het stukje form html code? ;)

Overigens, probeer even duidelijk uit te leggen in welke omgeving(en) het wel / niet werkt?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Standeman
  • Registratie: November 2000
  • Laatst online: 10:56

Standeman

Prutser 1e klasse

Ik zou eerst even naar je security properties kijken wat je wel en niet mag op het boze internet van IE.

Krijg je eigenlijk nog een foutmelding?

The ships hung in the sky in much the same way that bricks don’t.


  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
Je gebruikt XHTML syntax voor IE? (heeft overigens niets met je vraag te maken, maar wel eigenaardig).

Waarom doe je geen onSubmit? (uitleg zie google).
HTML:
1
<form name="gbcp" id="gbcp" method="POST" action="gb_submit.php" onSubmit="return validateChoice();">


JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
function validateChoice() 
    { 
        if(confirm('Weet u zeker dat u dit bericht wilt verwijderen?')) 
        { 
                return true;
        } 
        else 
        { 
            // 
                return false;
        } 
    }

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
moozzuzz schreef op donderdag 08 maart 2007 @ 13:44:
Je gebruikt XHTML syntax voor IE? (heeft overigens niets met je vraag te maken, maar wel eigenaardig).
Heeft niets met de vraag te maken, maar daarnaast heeft XHTML ook niets met "IE" te maken en is het helemaal niet eigenaardig :?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 12:12

crisp

Devver

Pixelated

prompt() en confirm() worden door IE(7) behandeld als popups - default geblokkeerd dus...

Verder zou ik inderdaad ook een onsubmit handler gebruiken en een normale submitbutton zodat je formulier ook voor non-JS clients gewoon toegankelijk is.

[ Voor 48% gewijzigd door crisp op 08-03-2007 13:48 ]

Intentionally left blank


  • Massiefje
  • Registratie: Mei 2002
  • Laatst online: 12-11 09:57
crisp schreef op donderdag 08 maart 2007 @ 13:47:
prompt() en confirm() worden door IE(7) behandeld als popups - default geblokkeerd dus...

Verder zou ik inderdaad ook een onsubmit handler gebruiken en een normale submitbutton zodat je formulier ook voor non-JS clients gewoon toegankelijk is.
Het is geen popup en hij werkt gewoon dus. Enkel het submitten gaat niet goed met IE.

Zodra ik namelijk het stuk submit() naar alert() verander, werkt het prima...

  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
Massiefje schreef op donderdag 08 maart 2007 @ 16:11:
[intelligent door Crisp]

Het is geen popup en hij werkt gewoon dus.
Je probeert te submitten zonder submit-button. Dat is moeilijk. Lees je even in in Forms en soorten inputs.

Lees de comment van crisp nog een tweede maal:
prompt() en confirm() worden door IE(7) behandeld als popups - default geblokkeerd dus...

  • Massiefje
  • Registratie: Mei 2002
  • Laatst online: 12-11 09:57
moozzuzz schreef op donderdag 08 maart 2007 @ 16:42:
[...]


Je probeert te submitten zonder submit-button. Dat is moeilijk. Lees je even in in Forms en soorten inputs.

Lees de comment van crisp nog een tweede maal:
prompt() en confirm() worden door IE(7) behandeld als popups - default geblokkeerd dus...
Aangezien ik niet zonder testen eigenwijs wil zijn, heb ik popups toegestaan voor de betreffende website, echter, geen oplossing. Dit wist ik echter al, omdat het probleem niet bij prompt() of confirm() zit, maar bij de submit(). Als ik op de plek van het submit() geval namelijk alert() plaats, werkt het wel.....

Dat je zegt "zonder submitbutton kun je niet submitten", lijkt me ook erg sterk, aangezien het intern en met FireFox wel werkt.

Het moet dus iets anders zijn. Iemand anders nog ideeen ?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 12:12

crisp

Devver

Pixelated

Krijg je ook foutmeldingen?

Kijk eens of hij bijvoorbeeld je form wel kan vinden dmv:
JavaScript:
1
alert(document.forms['gbcp']);


Overigens kan je die lookup makkelijk vermijden:
HTML:
1
<input type="button" value="Verwijderen" onclick="validateChoice(this.form)">

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
function validateChoice(form)
    {
        if(confirm('Weet u zeker dat u dit bericht wilt verwijderen?'))
        {
            form.submit();
        }
        else
        {
            //
        }
    }

Intentionally left blank

Pagina: 1