Dieter Raber: Element dynamisch Funktion zuordnen

Beitrag lesen

Hallo,

Wie man einem Element mit JS eine Funktion zuordnet, ist mir klar, insofern mag das Thema etwas ungluecklich gewaehlt sein. Was  mir hingegen nicht klar ist, laesst sich am Beispiel des folgenden Codes nachvollziehen.
Die Form 'myform' soll onsubmit das Ergebnis der Funktion foo() returnen, mit andern Worten, so tun, als waere nichts geschehen. Ich schaffe es zwar, der Form in der Funktion bar() weiteren Code unterzuschieben, aber natuerlich wird die Form jetzt uebertragen, was eigentlich nicht sein sollte. Wie kann ich herausfinden, ob in onsubmit, platt gesagt, eine return vor dem Funktionsaufruf steht, oder nicht.

  
<html>  
<head>  
<script type="text/javascript">  

  
function foo ()  
{  
  return false;  
}  
  
function bar()  
{  
  var myForm  = document.getElementById('myform');  
  var myInput = document.getElementById('myinput');  
  var oldFunc = myForm.onsubmit || new Function();  
  myForm.onsubmit = function()  
  {  
    myInput.value = 'ersatz';  
    oldFunc();  
  }  
}  
  
window.onload = function()  
{  
  bar()  
}  

  
</script>  
</head>  
<body>  
  <form onsubmit="return foo()" method="get" id="myform">  
    <input type="text" value="original" name="test" id="myinput">  
    <input type="submit">  
  </form>  
</body>  
</html>  

Erstmal danke,

Dieter