# button deaktivieren



## socKe|bla (15. März 2003)

huuh
ich möchte das ein button deaktiviert wird, jedoch trotzdem noch die form ge`submitted wird, wenn man ihn anklickt. dafür hab ich den code hier...
<input type="submit" name="weiter" value="Weiter" onClick="this.disabled=true">
nur wird dann sofort der 'Submit' abgebrochen? wie soll ichs anstellen? soll der button einfach eine funktion aufrufe, die den button erst deaktiviert und danach submitted oder wie?


----------



## Andreas Gaisbauer (15. März 2003)

??? "ich möchte das ein button deaktiviert wird, jedoch trotzdem noch die form ge`submitted wird, wenn man ihn anklickt" ??? Das ist doch ein wiederspruch ansich , oder verstehe ich nicht was du meinst?

Der Button ist doch eh nicht immer aktiviert, sondern nur wenn man ihn klickt...

ciao


----------



## socKe|bla (15. März 2003)

ich will das der dann so grau wird, also nichtmehr angeklickt werden kann, um halt doppelposts schon im javascript zu verhindern


----------



## Andreas Gaisbauer (15. März 2003)

ahso - Du willst also, das er NACH dem ersten Submit disabled ist...Ich dachte vor dem ersten  theoretisch könntest du auch eine Funktion bauen, die nach dem ersten klicken einen Countdown started, das er z.B. erst nach 5 Sekunden wieder geklicked werden kann... 

Nochmal klargestellt:
1) Button normal
2) -> click - formular wir dsubmitted
3) Button deaktiviert, bis die Seite neu geladen worden ist (refresh)

soweit liege ich richtig, oder?


ciao


----------



## socKe|bla (15. März 2003)

ja ^^ und ich will nur wissen, ob ichs mit einer funktion machen muss oder das irgendwie noch an den button drankleistern kann, weil ich im php script gucke ob der button gesetzt ist und ich das sonst umcoden müsste


----------



## Andreas Gaisbauer (15. März 2003)

Ok, 

da musst nur ein ganz wenig umschreiben 

PSEUDOCODE FÜR PHP: 

```
if(submit){
$dis = ' disabled';
}
else {
$dis = '';
}
```
Du schaust einfach ob das Formular abgeschickt wurde. Je nachdem belegst du eine Variable - $dis - mit nichts, oder mit " disabled" (freizeichen beachten)... Im Formularteil machst du dann follgendes:

```
<input name="submit" type="submit"<?php echo "$dis"; ?>>
```
Wenn das Formular abgeschickt wurde, ist der Button disabled, ansonsten nicht...

Hoffe das funktioniert 


ciao

//edit: wenn du es komplett client seitig machen willst, musst du´s mit einer Funktion machen...


----------



## THE REAL TOOLKIT (15. März 2003)

genau also ungefähr so:

<script>
geklickt=0
function senden()
{
if(geklickt==0)
{
geklickt=1
document.formname.submit()
}
else
{
alert("Einmal reicht")
}
}
</script>
<input type="button" onclick="senden()">


----------



## socKe|bla (15. März 2003)

hmm, nee, das ist alles nicht was ich will...
habs jetzt so gemacht, hät ich eigentlich drauf kommen sollen, stand irgendwie aufem schlauch

```
<form name="form1" method="post" action="aaa">
  <input type="submit" name="Abschicken" value="Abschicken" onClick="this.disabled=true;document.form1.submit()">
</form>
```


----------



## juergenhold (3. Mai 2006)

die lösung:

im headbereich:

```
<script type="text/javascript">
 var checkobj
 function agreesubmit(el){
  checkobj=el
  if (document.all||document.getElementById){
   for (i=0;i<checkobj.form.length;i++){
    var tempobj=checkobj.form.elements[i]
    if(tempobj.type.toLowerCase()=="submit")
    tempobj.disabled=!checkobj.checked
   }
  }
 }
</script>
```
im formular:

```
<input name="agreecheck" type="checkbox" onClick="agreesubmit(this)">Hier steht ein gewünschter Text (z.B. AGB akzeptiert ...)
 
<input type="submit" name="submit" value=" Absenden" disabled>
```
nach dem Formular:

```
<script>
 document.forms.agreeform.agreecheck.checked=false
</script>
```
 
Nach dem Klick auf das Häckchenwird der Submitbutton aktiv.

LG Jürgen

www.neuhold.eu


----------

