Toon posts:

[JS] document.myform.action probleem IE7

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik heb het volgende stukje javascript die niet werkt onder IE(7) maar wel onder FF
Ik ben al de hele dag aan het zoeken (ook op speciale javascriptsites) maar kan geen oplossing vinden.
code:
1
2
3
4
5
6
7
8
9
10
function resubmit()
        {
            document.myform.action="uitgaanstip.php";
            document.myform.submit();
        }
function process()
        {
            document.myform.action="addtip.php";
            document.myform.submit();
        }

IE geeft de volgende foutmelding:

Deze eigenschap of methode wordt niet ondersteunt door dit object

iemand een suggestie?

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Op welke regel krijg je die foutmelding dan en hoe ziet je form eruit en de aanroep naar deze twee functies? ;)

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.


Verwijderd

Topicstarter
dit is de code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
        require_once('include/db.php');
        connectDB();

        $pid = "";
        if ( isset( $_POST[ 'pid' ] ) ) {
            $pid = $_POST[ 'pid' ];
        }
                $plid = "";
        if ( isset( $_POST[ 'plid' ] ) ) {
            $plid = $_POST[ 'plid' ];
        }
?>
<html>
<head>            
        <script language="JavaScript">
        function resubmit()
        {
            document.myform.action="uitgaanstip.php"; //hier krijg ik de foutmelding als ik een provicie kies
            document.myform.submit();
        }
        function process()
        {
            document.myform.action="addtip.php"; ..hier krijg ik de foutmelding als ik op "Voeg toe!: klik
            document.myform.submit();
        }
    </script>
</head>
<body>
    <b>Nieuwe uitgaanstip!</b><br /><br />

<form name="myform" method="post" action="addtip.php">
<input type="hidden" name="action" value="add_tip" />
<table cellpadding="0" cellspacing="0" border="0">
<tr><td>Provincie</td><td><select name="pid" onchange="resubmit()">
<?php
    $query_result = mysql_query( "SELECT * FROM provincie" );
    echo "<option value=\"\" selected>Kies Provincie</option>\n";
    while($row = mysql_fetch_array($query_result)) {
        $selected = ($row["id"] == $pid)? "SELECTED":"";
        echo"<option value=\"".$row['id']."\"". $selected." >".$row['provincie']."</option>";
    }
?>
</select>
</td></tr><tr><td>
Plaats</td><td><select name="plid">
<?php
    if ( $pid == "" )
    {
        //Empty
    } else {
        $query_result = mysql_query("SELECT * FROM plaatsen WHERE Provincie = '$pid'");

        while($row = mysql_fetch_array($query_result)) {
            $selected = ($row["id"] == $plid)? "SELECTED":"";
            echo"<option value=\"".$row['id']."\">".$row['Plaats']."</option>";
        }
    }
?>
</select>
</td></tr>
<tr><td colspan="2">
<input type="button" name="post_data" value="Voeg toe!" onclick="process()" />
</td></tr>
</table>
</form>
</body>
</html>


enig idee??

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Weet niet in hoeverre IE7 alle standaarden naleeft, maar het zou in ieder geval netjes zijn om je form een id mee te geven en vervolgens je form aan te spreken met document.forms[id van je form] of document.getElementById(id van je form)

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • Optix
  • Registratie: Maart 2005
  • Laatst online: 19-11 11:46
IE works in mysterious ways (and somtimes no way at all :P )
maar probeer eens

code:
1
document.myform.getAttribute("action")="page.php"

.


Verwijderd

Topicstarter
faabman schreef op maandag 29 januari 2007 @ 21:37:
Weet niet in hoeverre IE7 alle standaarden naleeft, maar het zou in ieder geval netjes zijn om je form een id mee te geven en vervolgens je form aan te spreken met document.forms[id van je form] of document.getElementById(id van je form)
Heb ik al geprobeerd maar werkt niet.
Als iemand nog IE 6 heeft en even wil testen:

http://www.uitgaansmap.nl/uitgaanstip.php

bij veranderen van provincie moet je een plaats kunnen kiezen.

graag even reactie geven.

Alvast bedankt!

Verwijderd

Topicstarter
Night.Fade schreef op maandag 29 januari 2007 @ 21:40:
IE works in mysterious ways (and somtimes no way at all :P )
maar probeer eens

code:
1
document.myform.getAttribute("action")="page.php"
werkt ook niet

  • Optix
  • Registratie: Maart 2005
  • Laatst online: 19-11 11:46
wat voor error? nog steeds zelfde?

Zo ja kijk eens of je myform vaker gebruikt, noem hem eens anders...

[ Voor 51% gewijzigd door Optix op 29-01-2007 21:43 ]

.


Verwijderd

Topicstarter
Night.Fade schreef op maandag 29 januari 2007 @ 21:43:
wat voor error? nog steeds zelfde?

Zo ja kijk eens of je myform vaker gebruikt, noem hem eens anders...
error: onjuiste aantal argumenten of of ongeldige eigenschapstoewijzingen
zelfde regel

myform wordt maar 1 keer gebruikt (1 form op pagina)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op maandag 29 januari 2007 @ 21:32:
dit is de code:

code:
1


enig idee??
Je hebt het over JS en je komt aanzetten met php code :? Genereerde relevante code, anders gaan we er niet eens aan beginnen ;)

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.


  • Eegee
  • Registratie: Januari 2000
  • Laatst online: 15:36
BtM909 schreef op maandag 29 januari 2007 @ 21:48:
[...]

Je hebt het over JS en je komt aanzetten met php code :? Genereerde relevante code, anders gaan we er niet eens aan beginnen ;)
Nou, niet zo hard BtM909 (ja ik zie de smiley). De JS code staat er gewoon tussen en de aanroepen zie je nu ook, dus het is wel degelijk relevant.

Verwijderd

Topicstarter
BtM909 schreef op maandag 29 januari 2007 @ 21:48:
[...]

Je hebt het over JS en je komt aanzetten met php code :? Genereerde relevante code, anders gaan we er niet eens aan beginnen ;)
het is een php pagina met javascript. Hij gaat fout op javascript. dus dacht ik hier plaatsen.
dit is de gegenereerde code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
    <html>
    <head>
        <title>uitgaanstip toevoegen</title>
    <style type="text/css">
      
    
    body {
        font: verdana, ariel, helvetica;
        font-size: 11pt;
    }

    td {
        font: verdana, ariel, helvetica;
        font-size: 11pt;
        text: #0F1163;
    }
    </style>
    </head>
    <body>
        <script language="JavaScript">
        function resubmit()
        {
            document.myform.action="uitgaanstip.php";
            document.myform.submit();
        }
        function process()
        {
            document.myform.action="addtip.php";
            document.myform.submit();
        }
    </script>
    <b>Nieuwe uitgaanstip!</b><br /><br />

    <form name="myform" method="post" action="addtip.php">
        <input type="hidden" name="action" value="add_tip" />
        <table cellpadding="0" cellspacing="0" border="0">
        <tr><td width="100">naam</td><td><input type="text" name="naam" value=""></td></tr>
        <tr><td>straat</td><td><input type=text name=straat value=""></td></tr>
        <tr><td>nummer</td><td><input type=text name=nummer value=""></td></tr>
        <tr><td>postcode</td><td><input type=text name=pc value=""></td></tr>

        <tr><td>Provincie</td><td><select name="pid" onchange="resubmit()">
        <option value="" selected>Kies Provincie</option>
<option value="1" >Drenthe</option>
<option value="2" >Flevoland</option>
<option value="3" >Friesland</option>
<option value="4" >Gelderland</option>
<option value="5" >Groningen</option>
<option value="6" >Limburg</option>
<option value="7" >Noord-Brabant</option>
<option value="8" >Noord-Holland</option>
<option value="9" >Overijssel</option>
<option value="10" >Utrecht</option>
<option value="11" >Zeeland</option>
<option value="12" >Zuid-Holland</option>
        </select>
        </td></tr><tr><td>
        Plaats</td><td><select name="plid">
                </select>
        </td></tr>
        <tr><td>telnr</td><td><input type=text name=telnr value="">
        <tr><td>e-mail</td><td><input type=text name=email value="">
        <tr><td>Website (url)</td><td><input type=text name=link value=""></td></tr>
        <tr><td>Banner (url)</td><td><input type=text name=banner value=""></td></tr>
        <tr><td valign="top">extra info</td><td><textarea name="omschrijving" cols='50' rows='10'></textarea></td></tr>
        <tr><td>categorie</td><td><select  name="catid">
        <option value="" selected>Kies Categorie</option>
        <option value="0" >Uitgaansmap.nl</option>
<option value="1" >Attractieparken</option>
<option value="5" >Kinderboerderijen</option>
<option value="4" >Dierentuinen</option>
<option value="3" >Speeltuiden (buiten)</option>
<option value="2" >Speeltuinen (binnen)</option>
<option value="6" >Kartbanen</option>
<option value="14" >Vliegvelden</option>
<option value="7" >Zwembaden</option>
<option value="8" >Sportcomplexen</option>
<option value="9" >(midget)Golfbanen</option>
<option value="10" >IJsbanen</option>
<option value="11" >Musea</option>
<option value="12" >Religieuse gebouwen</option>
<option value="13" >Bijzondere Gebouwen</option>
<option value="15" >Tuinen</option>
<option value="16" >Natuurparken/Bossen</option>
<option value="17" >Bijzondere plekken</option>
<option value="18" >Restaurants</option>
<option value="19" >(eet)Café</option>
<option value="20" >Disco/Bardancing</option>
<option value="21" >Bioscopen</option>
        </select></td></tr>
        <!-- OTHER FORM ITEMS HERE -->
        <tr><td colspan="2"><input type="button" name="post_data" value="Voeg toe!" onclick="process()" /></td></tr>
        </table>
    </form>
    </body>
    </html>

  • Eegee
  • Registratie: Januari 2000
  • Laatst online: 15:36
Bingo! Dit veld hernoemen:
<input type="hidden" name="action" value="add_tip" />
Ik neem aan dat je begrijpt waarom...

Iemand anders gevonden die dit ook deed :) op
http://www.thescripts.com/forum/thread92323.html

[ Voor 34% gewijzigd door Eegee op 29-01-2007 22:20 ]


Verwijderd

Topicstarter
Eegee schreef op maandag 29 januari 2007 @ 22:18:
Bingo! Dit veld hernoemen:
<input type="hidden" name="action" value="add_tip" />
Ik neem aan dat je begrijpt waarom...
eum daar had het ook mee te maken, maar dit is netter te gebruiken

code:
1
document.myform.setAttribute("action", "uitgaanstip.php");


ipv

code:
1
document.myform.action="uitgaanstip.php"


en deze verwijderen

code:
1
<input type="hidden" name="action" value="add_tip" />


Dit werkt ook goed

  • Optix
  • Registratie: Maart 2005
  • Laatst online: 19-11 11:46
Lol, ja

Die had ik niet gezien |:(

Als je een veld in een form wil benaderen kan dat ook via document.myform.veld en aangezien jij een veld genaamd action had :)

[ Voor 63% gewijzigd door Optix op 29-01-2007 22:22 ]

.


  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
Eegee schreef op maandag 29 januari 2007 @ 22:18:
Bingo! Dit veld hernoemen:
<input type="hidden" name="action" value="add_tip" />
Ik neem aan dat je begrijpt waarom...

Iemand anders gevonden die dit ook deed :) op
http://www.thescripts.com/forum/thread92323.html
Herkenbaar, ooit zat ik uren te zoeken wat hier fout aan was:

HTML:
1
2
3
4
5
<form action="" method="post">

    <input type="button" name="submit" onclick="this.form.submit();">

</form>

March of the Eagles


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Eegee schreef op maandag 29 januari 2007 @ 21:52:
[...]

Nou, niet zo hard BtM909 (ja ik zie de smiley). De JS code staat er gewoon tussen en de aanroepen zie je nu ook, dus het is wel degelijk relevant.
Aan de hand van de niet-geparste code van PHP kan je niet 1-2-3 bepalen waar het probleem vandaan komt. Als je een Clientside Scripting probleem wilt beschrijven, dan hebben we ook clientside code nodig. Een van de eigenschappen van clientside is dat je er in principe alleen een browser voor nodig hebt ;)

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.


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:35

crisp

Devver

Pixelated

Als je het hidden veld genaamd 'action' wilt wijzigen:
JavaScript:
1
document.forms['id_van_je_form'].elements['action'].value = 'foo';

Als je het action-attribuut van je form wilt aanpassen terwijl er ook nog een form-element met name="action" bestaat (dan loop je inderdaad tegen een ranzige bug aan):
JavaScript:
1
document.forms['id_van_je_form'].attributes.getNamedItem('action').nodeValue = 'foo';

(setAttribute() gaat niet werken in IE)

Probeer overigens als het even kan al gelijk een referentie naar je form aan je handler-functie mee te geven dmv het 'this' keyword of 'this.form' vanuit een invoer-element - dat scheelt weer lookups en je hoeft je form dan ook geen ID of name (ID is preferred, name is zelfs verboden in XHTML Strict) te geven.

[ Voor 22% gewijzigd door crisp op 29-01-2007 22:37 ]

Intentionally left blank


Verwijderd

Topicstarter
setAttribute lijkt wel te werken in IE7.

Maar ik zal al jullie tips morgen nog even verder nalezen.
iig bedankt voor jullie hulp!

mag op slot!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:35

crisp

Devver

Pixelated

Verwijderd schreef op maandag 29 januari 2007 @ 22:51:
setAttribute lijkt wel te werken in IE7.
Niet in IE6 iig en vziw is dat in IE7 ook niet gefixed. setAttribute geeft daar een referentie naar je input-element en niet naar het attribuut. Je krijgt welliswaar geen error, maar het resultaat is uiteraard fout.
Maar ik zal al jullie tips morgen nog even verder nalezen.
iig bedankt voor jullie hulp!

mag op slot!
Alleen 'slechte' topics gooien we op slot ;)

Intentionally left blank

Pagina: 1