[JS] aktie aan PHP meegeven via submit in javascript

Pagina: 1
Acties:

  • robg1984
  • Registratie: December 2002
  • Laatst online: 26-05 07:17
hallo, ik heb 1 formulier, dit formulier (naam=makepdf) zet data in een database (MySQL).
nu heb ik in een php-code verschillende akties:

PHP:
1
2
3
4
5
6
if($_GET['aktie'] == "afronden"){
//afronden
}
elseif($_GET['aktie'] == "opslaan"){
//opslaan
}


vervolgens heb ik deze code in javascript die wordt aangeroepn via buttons:

code:
1
2
3
4
5
6
7
8
9
function  afronden(){ 
var ans; 
ans=window.confirm('Weet u zeker dat u wil afrond?? '); 
    if (ans==true){
        alert ('factuur afgerond')
        document.makepdf.submit();
    }

}


hoe kan ik het zo doen dat hij het form submit met aktie=afronden?

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
ff de action van je formulier aanpassen via javascript :?

dit is trouwens clientside zooi en komt bovendien regelmatig langs... ff de search / google gebruiken en je antwoord is zo gevonden

[google=javascript change form action]

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


  • PhoeniX-
  • Registratie: Juni 2000
  • Laatst online: 29-04 09:11
Ik zou denk ik een hidden field maken, met als naam 'aktie', en die onSubmit de waarde geven die je nodig hebt.

code:
1
2
3
4
<form method="post" action="" onSubmit="document.forms[0].aktie.value = 'aktie'">
<input type="hidden" name="aktie" value="" />
..
</form>


Of je doet dit via een javascript functie ..

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Javascript is nog immer van de buren van Webdesign & Graphics :)

Professionele website nodig?


  • André
  • Registratie: Maart 2002
  • Laatst online: 26-05 00:33

André

Analytics dude

Gewoon hidden field gebruiken:
JavaScript:
1
2
3
4
5
6
7
8
9
function  afronden()
{ 
  if (window.confirm('Weet u zeker dat u wil afronden?') == true)
  {
    alert ('factuur afgerond');
    document.forms["makepdf"].elements["aktie"].value = "afronden";
    document.forms["makepdf"].submit();
  }
}

[ Voor 14% gewijzigd door André op 05-04-2004 10:54 ]


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
PhoeniX- schreef op 05 april 2004 @ 10:45:
Ik zou denk ik een hidden field maken, met als naam 'aktie', en die onSubmit de waarde geven die je nodig hebt.

code:
1
2
3
4
<form method="post" action="" onSubmit="document.forms[0].aktie.value = 'aktie'">
<input type="hidden" name="aktie" value="" />
..
</form>


Of je doet dit via een javascript functie ..
Let er hierbij wel even op dat je nu dus je actie via $_POST op moet halen...

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


  • robg1984
  • Registratie: December 2002
  • Laatst online: 26-05 07:17
André schreef op 05 april 2004 @ 10:54:
Gewoon hidden field gebruiken:
JavaScript:
1
2
3
4
5
6
7
8
9
function  afronden()
{ 
  if (window.confirm('Weet u zeker dat u wil afronden?') == true)
  {
    alert ('factuur afgerond');
    document.forms["makepdf"].elements["aktie"].value = "afronden";
    document.forms["makepdf"].submit();
  }
}
ik krijg wel de alert maar submit niks, de naam van het formulier klopt...

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

crisp

Devver

Pixelated

check even of je niet ergens name="submit" in je formulier gebruikt

Intentionally left blank


  • robg1984
  • Registratie: December 2002
  • Laatst online: 26-05 07:17
crisp, dat had ik idd nog wel maar die heb ik nu weggehaald maar hij submit nog niks...

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

crisp

Devver

Pixelated

laat anders de html van je form eens zien

Intentionally left blank


  • robg1984
  • Registratie: December 2002
  • Laatst online: 26-05 07:17
deel van javascript in de head:
code:
1
2
3
4
5
6
7
8
9
10
11
function  afronden(){ 
    var ans; 
    ans=window.confirm('Weet u zeker dat u wil afrond?? \nNa afronden kan de factuur \nniet meer worden gewijzigd!!'); 
    //alert (ans);
        if (ans==true){
            alert ('De factuur wordt geblokkeerd en de datum wordt vastgelegt (datum vandaag). \nVervolgens kan in de toekomst de factuur alleen nog maar als pdf worden bekeken.\n De pdf wordt gegenereerd en geopend!')
            document.forms["makepdf"].elements["optie"].value = "afronden";
            document.forms["makepdf"].submit();
        }
    
    }


het formulier:

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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
<form name='makepdf' method='post' action='factuur.php'>
            <table width="459" border="0" cellspacing="0" cellpadding="0">
              <tr> 
                <td width="116" valign="top">To</td>
                <td width="343" valign="top">
                    <?
                    echo "<input type='hidden' name='opdrachtnummer' value='".$_GET['opdrachtnummer']."'>";
                    echo "<input type='text' name='naam' size='30' class='field' value='".$kl->naam."'><BR>";
                    $betalingspersoon = explode(",",$opdr->betalingspersoon);
                    $naambetaler = substr($betalingspersoon[1],1)." ".$betalingspersoon[0];
                    echo "<input type='text' name='betalingspersoon' size='30' class='field' value='".$naambetaler."'><BR>";
                    echo "<input type='text' name='adres' size='30' class='field' value='".$kl->postadres."'><BR>";
                    echo "<input type='text' name='postcode' size='30' class='field' value='".$kl->postpostcode." ".$kl->postplaats."'><BR>";   
                    ?>
                </td>
              </tr>
              <tr> 
                <td>&nbsp;</td>
                <td>&nbsp;</td>
              </tr>
              <tr> 
                <td>Date</td>
                <td><? echo "<input type='text' name='datum' size='30' class='field' value='".date("d")."-".date("m")."-".date("Y")."'>"; ?></td>
              </tr>
              <tr> 
                <td>Your reference</td>
                <td><input type='text' name='yourreference' size='30' class='field'></td>
              </tr>
              <tr> 
                <td>Invoicenumber</td>
                <td>
                <? 
                $facturen = mysql_query("SELECT fa_id FROM ".$tabel_facturen." ORDER BY fa_id DESC LIMIT 1");
                while($fa = mysql_fetch_object($facturen)){
                    $nummer = $fa->fa_id + 1;
                    echo "<input type='text' name='factuurnummer' size='30' class='field' value='".$kl->code.".".$nummer."'><input type='hidden' name='kl_code' value='".$kl->code."'>"; 
                }
                ?></td>
              </tr>
            </table>            
            <BR><BR><BR><BR>
            <table width="733" border="0" cellspacing="0" cellpadding="0">
              <tr> 
                <td>Description</td>
                <td>Amount</td>
                <td align="right">Price</td>
                <td align="right">Total</td>
              </tr>
              <?
                $aantaltr = 1;  
                $werkzaamheden = mysql_query("SELECT * FROM ".$tabel_planning." WHERE opdrachtnummer='".$_GET['opdrachtnummer']."'"); 
                while($wz = mysql_fetch_object($werkzaamheden)){     
                    $uren = mysql_query("SELECT SUM(totaal) AS totaaluren FROM ".$tabel_uren." WHERE opdrachtnummer='".$wz->opdrachtnummer."' AND werkzaamheid='".$wz->werkzaamheid."'");
                    $resulturen = mysql_num_rows($uren);
                    while($ur = mysql_fetch_object($uren)){
                        if($ur->totaaluren==""){
                        }
                        else{
                            $totaalalles=$totaalalles+$ur->totaaluren*$opdr->uurloon;
                            echo "<tr> 
                                    <td><input type='text' name=description[".$wz->plan_id."] size='50' class='field' value='".$wz->werkzaamheid."'></td>
                                    <td><input type='text' name=amount[".$wz->plan_id."] size='10' class='field' value='".$ur->totaaluren."' onChange=\"rekuit(".$wz->plan_id.")\"> <select name=stuks[".$wz->plan_id."] class='field'><option value='uren'>uren</option><option value='stuks'>stuks</option></select></td>
                                    <td align='right'>&#8364; <input type='text' name=price[".$wz->plan_id."] size='10' class='field' value='".$opdr->uurloon."' onChange=\"rekuit(".$wz->plan_id.")\"></td>
                                    <td align='right'>&#8364; ";
                            $totalekosten=$ur->totaaluren*$opdr->uurloon;
                            if(!strstr($totalekosten,".")){
                                $totaalallesa = ".00";
                            }
                            elseif(strlen(strstr($totalekosten,".")) < 3){
                                $totaalallesa = "0";
                            }
                            else {
                                $totaalallesa="";
                            }
                            echo "<input type='text' name=total[".$wz->plan_id."] size='10' class='field' value='".$totalekosten.$totaalallesa."'></td></tr>";
                            $aantaltr++;                    
                        }               
                    }
                }
                $hoeveeltr = 15;
                $overtr = $hoeveeltr-$aantaltr;
                $over=1;
                while($over<$overtr+1){
                    echo "<tr> 
                            <td><input type='text' name=description[".$over."] size='50' class='field'></td>
                            <td><input type='text' name=amount[".$over."] size='10' class='field' onChange=\"rekuit(".$over.")\"> <select name=stuks[".$over."] class='field'><option value='uren'>uren</option><option value='stuks'>stuks</option></select></td>
                            <td align='right'>&#8364; <input type='text' name=price[".$over."] size='10' class='field' onChange=\"rekuit(".$over.")\"></td>
                            <td align='right'>&#8364; <input type='text' name=total[".$over."] size='10' class='field'></td>
                        </tr>";
                    //echo "<tr> 
                        //<td><BR><BR></td>
                        //<td></td>
                        //<td align='right'></td>
                        //<td align='right'></td>
                    //</tr>";
                    $over++;
                }
              ?>
              <tr> 
                <td></td>
                <td></td>
                <td align='right'></td>
                <td align='right'><BR></td>
            </tr>
              <tr> 
                <td>Total excl. VAT</td>
                <td>&nbsp;</td>
                <td align="right">&nbsp;</td>
                <td align="right"> &#8364; 
                <? 
                if(!strstr($totaalalles, '.')){
                $totaalallesb = ".00";
                }
                elseif(strlen(strstr($totaalalles,".")) < 3){
                    $totaalallesb = "0";
                }
                else {
                    $totaalallesb="";
                }
                $totaalallesex = $totaalalles.$totaalallesb;
                echo "<input type='text' name='totex' size='10' class='field' value='".$totaalallesex."'>"; 
                ?></td>
              </tr>
              <tr> 
                <td>Total VAT 19 %</td>
                <td>&nbsp;</td>
                <td align="right">&nbsp;</td>
                <td align="right"> &#8364; 
                <? 
                $btw=round($totaalalles/100*19, 2); 
                if(!strstr($btw, '.')){
                $totaalallesd = ".00";
                }
                elseif(strlen(strstr($btw,".")) < 3){
                    $totaalallesd = "0";
                }
                else {
                    $totaalallesd="";
                }
                echo "<input type='text' name='btw' size='10' class='field' value='".$btw.$totaalallesd."'>"; 
                ?></td>
              </tr>
              <tr> 
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td align="right">&nbsp;</td>
                <td align="right">&nbsp; </td>
              </tr>
              <tr> 
                <td>Total incl. VAT</td>
                <td>&nbsp;</td>
                <td align="right">&nbsp;</td>
                <td align="right">&#8364; 
                <? 
                $totaalallesbtw=round($totaalalles+$btw,2);
                if(!strstr($totaalallesbtw, '.')){
                $totaalallesc = ".00";
                }
                elseif(strlen(strstr($totaalallesbtw,".")) < 3){
                    $totaalallesc = "0";
                }
                else {
                    $totaalallesc="";
                }
                echo "<input type='text' name='totin' size='10' class='field' value='".$totaalallesbtw.$totaalallesc."'>"; 
                ?></td>
              </tr>
            </table>    
            
  <p><BR>
    <BR>
    <input type='text' name='tobepayed' size='50' class='field' value='To be payed within 14 days after invoice date.'>
     </p>
  <p> 
    <input type="radio" name="radioex" value="1" class='field' checked>
    BTW 
    <input type="radio" name="radioex" value="0" class='field'>
    Export <BR><BR><BR>
  <table width="350" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td><button type="button" name="afrondenbutton" onclick="afronden()" class="field">Afronden</button></td>
      <td><center><button type="button" name="Opslaanbutton" onclick="opslaan()" class="field">Opslaan</button></center></td>
      <td><center><button type="button" name="verwijderbutton" onclick="verwijderen()" class="field">Verwijderen</button></center></td>
      <td><center><button type="button" name="voorbeeld" onclick="voorbeeld()" class="field">Voorbeeld</button></center></center></td>
    </tr>
  </table>   
    
</form>

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

crisp

Devver

Pixelated

ik zie nergens een hidden input met name="optie" - je script loopt dus al stuk hierop:

JavaScript:
1
document.forms["makepdf"].elements["optie"].value = "afronden";


let goed op je JS foutmeldingen, want die moet je in dit geval krijgen. Test anders in een browser met een fatsoenlijk JS console zoals Mozilla/FireFox.

Intentionally left blank


  • PhoeniX-
  • Registratie: Juni 2000
  • Laatst online: 29-04 09:11
idd Faabman, ik had niet gezien dat hij eerst $_GET gebruikte!

  • robg1984
  • Registratie: December 2002
  • Laatst online: 26-05 07:17
hoi crips, heb nu dit erbij gezet: <input type="hidden" name="optie">

krijg nu lege pagina als ik op de button druk

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

crisp

Devver

Pixelated

robg1984 schreef op 05 april 2004 @ 11:56:
hoi crips, heb nu dit erbij gezet:

krijg nu lege pagina als ik op de button druk
en die lege pagina is wel factuur.php? dan mag je die verder gaan debuggen ;)

Intentionally left blank


  • robg1984
  • Registratie: December 2002
  • Laatst online: 26-05 07:17
ik had er nog if($_POST['submit']) staan, ik heb het weggehaald en het werkt nu....

BEDANKT!

[ Voor 14% gewijzigd door robg1984 op 05-04-2004 12:05 ]


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

crisp

Devver

Pixelated

ipv if ($_POST['submit']) kan je beter dit gebruiken:

PHP:
1
2
3
4
5
if ($_SERVER['REQUEST_METHOD'] == 'POST') {

  // verwerk formulier

}

Intentionally left blank


  • robg1984
  • Registratie: December 2002
  • Laatst online: 26-05 07:17
ok thnx!
Pagina: 1