Don P: Ein Formular an eine von mehreren Seiten schicken, je nach Link

Beitrag lesen

Hallo Ekki,

<script type="text/javascript">

[code lang=javascript]function changeaction(frm, url) {
  if (frm && url != '') {
    frm.action = url;
    frm.method = 'post';
    frm.submit();
    return false;
  }
}


> </script>  
>   
> <a href="./index.php?site=persdaten" class="style1" onclick="changeaction(document.form1, this.href);">[/code]  
  
Schön, aber noch etwas unausgereift: Vergleiche wie url != '' machen selten Sinn.  
Wenn z.B. url === 1 gilt, ergibt der Vergleich url != '' auch true, d.h. (frm && url)... führt genau zum gleichen Ziel (frm && url != ''), aber ohne einen String-Vergleich vorzugaukeln.  
  
Noch allgemeiner wäre es so:  
  
~~~html
<script type="text/javascript">  
  
[code lang=javascript]  
    function formAction(frm, address, send, how) {  
  
      if (frm && address) {  
  
        frm.action = address;  
        frm.method = how || 'post'; // => post ist default-Wert  
        if (send) {  
            frm.submit();  
            return false;  
        }  
        return;  
      }  
}

</script>

<a href="./index.php?site=persdaten" class="style1" onclick="formAction(document.form1, this.href, true);">

<!-- oder erst mal alles einstellen: -->

<script type="text/javascript">

  
  
    formAction(document.form1, this.href, false, 'get');  

</script>

<!-- und dann nur noch abschicken: -->

<a href="./index.php?site=persdaten" class="style1" onclick="document.form1.submit()">[/code]

Damit lassen sich bei Bedarf die Parameter auch erst einmal einstellen, ohne das Formular gleichzeitig abzuschicken.

Gruß, Don P